home *** CD-ROM | disk | FTP | other *** search
/ Generous Efforts of Many / gemcd.zip / GEM.CD.A.po / FEATURES:BEAGLE / FLEX.TYPE.DOC / T.FLEX.TYPE
Text File  |  1990-02-15  |  44KB  |  1,195 lines

  1. FLEX TYPE INSTRUCTIONS
  2. ----------------------
  3.  
  4. Flex Type Requirements
  5. ----------------------
  6. FLEX TYPE requires a 48k Apple with Applesoft BASIC (in ROM
  7. on the motherboard, on a ROMcard, or loaded in the Language
  8. Card) and a disk drive.
  9.  
  10. The Flex Type Diskette
  11. ----------------------
  12. The Flex Type Master Disk is DOS 3.3 compatible. All
  13. programs on it however may be easily De-muffined to DOs 3.2
  14. format. (NOTE: Do not modify any programs on the master disk
  15. unless you have made a backup copy.)
  16.  
  17. Using Flex Type in Software to be Resold
  18. ----------------------------------------
  19. Flex Type is licensed only for your personal use. If you are
  20. interested in marketing software that uses Flex Type please
  21. contact Beagle Bros regarding a third party licensing
  22. agreement.
  23.  
  24. Copyright Information
  25. ---------------------
  26. No portion of Flex Type, its documentation or the
  27. accompanying diskette may be reproduced in any form (except
  28. for your personal use) without the express written
  29. permission of the publishers, "Beagle Bros", and the author,
  30. "Mark S. Simonsen".
  31.  
  32. IMPORTANT
  33. ---------
  34. For a quick reference to Flex Type's commands, see the
  35. COMMAND SUMMARY on page 29 of this book.
  36.  
  37. 1.0 INTRODUCTION
  38. ----------------
  39.  
  40. 1.1 WHAT FLEX TYPE DOES
  41. -----------------------
  42. Flex Type is an Assembly Language program that automatically
  43. converts all of your input and output (I/O) into a format
  44. that allows you to choose between 70,56,40 and 20 column
  45. text width.
  46.  
  47. 1.2 ADVANTAGES OF USING FLEX TYPE
  48. ---------------------------------
  49. Not only does Flex Type offer you four different screen
  50. widths (actually it offers three different fond widths and a
  51. double wide mode), if also gives you access to upper and
  52. lower case letters, all special characters, true mixed
  53. graphics and text, and user definable character sets.
  54. However, the biggest advantage of using Flex Type is the
  55. ability it gives you to display 70 columns of text; almost
  56. twice that of a normal Apple!
  57.  
  58. 1.3 DISADVANTAGES OF USING FLEX TYPE
  59. ------------------------------------
  60. Although not required in 20,40, or 56 column format, it is
  61. recommended that you use this program with a high resolution
  62. monitor when in 70 column mode. This is because of the fact
  63. that the picture on most televisions is not clear enough to
  64. allow you to distinguish very small characters when they are
  65. placed close together. Also, very large programs (those that
  66. nearly fill all available memory) may not be able to use
  67. Flex Type because at least one Hi-Res page must be preserved
  68. for display. See appendix B for further information.
  69.  
  70. 1.4 FEATURES OF FLEX TYPE
  71. -------------------------
  72. o    Enter, list, edit and run any program in up to 70
  73. columns of upper and lower case characters.
  74.  
  75. o    Supports all Applesoft BASIC and Apple Monitor commands
  76. along with all escape sequences, editing functions
  77. (arrow keys), and Zero Page window pokes.
  78.  
  79. o    Several selectable character sets are included. User
  80. definable character set for custom type fonts and
  81. graphics characters are easily generated with Apple
  82. Character Editor (A.C.E) which is included on the Flex
  83. Type Master Disk.
  84.  
  85. o    Flex Type is stingy with memory and uses only 5% of
  86. your available RAM (random access memory) for the main
  87. program. (Character sets require an additional 3/4 k
  88. each.)
  89.  
  90. o    Flex Type is completely compatible with Neil Konzen's
  91. Program Line Editor (P.L.E.) and Global Program Line
  92. Editor (G.P.L.E.).
  93.  
  94. 2.0 USING FLEX TYPE
  95. -------------------
  96.  
  97. 2.1 INVISIBLE FLEX TYPE
  98. -----------------------
  99. Flex Type has been designed so that its operation is
  100. transparent to you, the user. That means your Apple will
  101. behave normally, the way you expect it to behave. Whatever
  102. your Apple could do before, it can now do at least as well
  103. or better.
  104.  
  105. 2.2 DEMONSTRATING FLEX TYPE
  106. ---------------------------
  107. To better understand your Apple's new abilities, take a
  108. minute not to view the demonstration program on your master
  109. disk. If you haven't already done so, boot the Flex Type
  110. Master Disk by inserting it into disk drive #1 and turning
  111. on the power to your Apple II plus. Apple II owners without
  112. the Autostart ROM will additionally need to enter:
  113.  
  114. 6 <ctrl-P> <return> (from the monitor)
  115.  
  116.      or
  117.  
  118. PR#6 <return>  (from BASIC)
  119.  
  120. To see the demo, type:
  121.  
  122. RUN FLEX TYPE DEMO <return>
  123.  
  124. NOTE: A '<return>' means to press the RETURN key, just as
  125. '<ctrl-P>' means to hold down the CTRL key and press P. This
  126. notation will be used throughout the tutorial.
  127.  
  128. 2.3 COMMANDS
  129. ------------
  130. Now that you've seen the demo, you are undoubtedly anxious
  131. to begin using Flex Type. In order to make the most of Flex
  132. Type, you first need to know the commands that invoke its
  133. special features.
  134.  
  135. Flex Type is easy to use. If you know how to use an Apple,
  136. you practically know how to use Flex Type. The only
  137. difference you will notice right away is that your display
  138. is now 30 characters wider than before. That is because you
  139. are in 70 column mode. You will see later how to switch
  140. modes. In this mode you can type in longer lines and when
  141. you list your programs they are automatically displayed in a
  142. 70 column format.
  143.  
  144. Go ahead. Load a program and list it, or type something in.
  145. It's kind of nice to have so much information on the screen
  146. at tone time isn't it? Command like TAB, HTAB, and SPC also
  147. work on a 70 column basis rather than a 40 column one. For
  148. instance without Flex Type, if you were to type:
  149.  
  150. HTAB 69 : PRINT "HI" <return>
  151.  
  152. Your Apple will tab over 69 columns and print HI. The upper
  153. limit on HTAB, TAB, SPC, and other similar command will now
  154. depend on the text mode that you are in (e.g. 20,40,56 or
  155. 70).
  156.  
  157. 2.3.1 ALTERNATING CHARACTER SETS
  158. --------------------------------
  159. Alternate character sets are available in immediate mode
  160. (with a BASIC or monitor prompt) and deferred mode (during
  161. program execution). In immediate mode there are several ways
  162. to switch character sets. The first is simply typing the
  163. Toggle Text command (control-T) followed by the number of
  164. the desired character set (being sure not to type any spaces
  165. or any other characters between the control-T and the
  166. number) and a carriage return. Type:
  167.  
  168. <ctrl-T> 2 <return>
  169.  
  170. You got a ?SYNTAX ERROR message and the prompt and the
  171. cursor are slightly larger now because the character set you
  172. selected is a 56 column one. If you LIST a program you will
  173. see that is formatted accordingly. The syntax error message
  174. came about because neither DOS nor Applesoft recognizes
  175. 'control-T 2' as a legitimate command. The second method is
  176. better. Type:
  177.  
  178. <ctrl-T> 3 <ctrl-X>
  179.  
  180. Viola! Notice the absence of the syntax error. Control-X
  181. cancelled the input line so 'control-T 3' was never seen by
  182. DOS or Applesoft, but because Flex Type intercepts each
  183. character individually the command was executed. Control-X
  184. can and should be used with all Flex Type commands in the
  185. immediate mode of execution. By the way, you should now be
  186. looking at a standard-sized character set (40 column mode).
  187. But as you will see in the discussion on upper and lower
  188. case, it is far from standard.
  189.  
  190. The third method of entering Flex Type commands is to use
  191. the Applesoft CHR$ function. You can select the next
  192. character set by typing:
  193.  
  194. PRINT CHR$ (20) "1" <return>
  195.  
  196.      or
  197.  
  198. PRINT CHR$ (20) 1 <return>
  199.  
  200. Twenty (20) is the ASCII equivalent of control-T. The fourth
  201. method is similar to the third. Type:
  202.  
  203. PRINT "<ctrl-T>3" <return>
  204.  
  205. Now to see double wide characters type the Wide command:
  206.  
  207. <ctrl-W> <ctrl-X>
  208.  
  209. Wow, there's a big difference between a twenty column
  210. character set and a seventy column one! To turn off the
  211. double wide mode type control-W again. Wide mode is intended
  212. to be used only with 40 column character sets but may be
  213. used with any size. You should be aware though that
  214. regardless of the font width, Wide mode only displays 20
  215. columns of text per line.
  216.  
  217. The HELLO program loaded three different character sets of
  218. three different sizes for you to use. Up to nine (9)
  219. different character sets may be loaded at one time. And
  220. naturally you may choose to have as few as one. To change
  221. the number of character sets to be loaded when Flex Type is
  222. booted requires only a few changes to the HELLO program.
  223. Beginning with line number 100 assign the character set
  224. names to the CS$ array in the order that they are to be
  225. loaded. (Start with CS$(1), then CS$(2), CS($3), etc.).
  226.  
  227. NOTE: Because Flex Type supports three different font widths
  228. it is suggested that you use the following naming convention
  229. for your character sets. This should keep you from
  230. forgetting the width of a text font. Also when editing text
  231. fonts, A.C.E. tries to determine the size of a character set
  232. when it is loaded. If it has been named in accordance with
  233. the naming convention, A.C.E. will recognize that fact. If
  234. not, it will assume a 40 column text width.
  235.  
  236. FONT NAMES
  237. ----------
  238. 1. 70 column text fonts must be suffixed by .70 (e.g.
  239. ASCII.70)
  240.  
  241. 2. 56 column text fonts must be suffixed by .56 (e.g.
  242. ASCII.56)
  243.  
  244. 3. 40 column text fonts may be suffixed by either .40 or by
  245. anything else such as .set, .font, etc.
  246.  
  247. The character sets once loaded are selected by a number
  248. which indicates the relative position in which they were
  249. loaded. Numbering starts with one (1) as you may have
  250. noticed from the earlier examples, and has a maximum of nine
  251. (9).
  252.  
  253. Because each character set requires an extra 768 bytes (3/4
  254. K) of memory it is wise to only load those that you plan to
  255. use. That will allow as much memory as possible for your
  256. programs.
  257.  
  258. As mentioned previously, these commands are recognized in
  259. programs (deferred execution mode) too. Four ways to
  260. incorporate Flex Type commands into programs are shown
  261. below.
  262.  
  263. 10 PRINT "<ctrl-T>1THIS WILL BE IN 70 COLUMN MODE."
  264.  
  265.      or
  266.  
  267. 10 T56$ = "ctrl-T>" + "2" : PRINT T56$"THIS WILL BE IN 56
  268. COLUMN MODE.
  269.  
  270.      or
  271.  
  272. 10 PRINT CHR$ (20)"3THIS WILL BE IN 40 COLUMN MODE."
  273.  
  274.      or
  275.  
  276. 10 T70$ = CHR$ (20) + "1" : PRINT T70$"THIS WILL BE IN 70
  277. COLUMN MODE."
  278.  
  279. The first two methods shown above are not recommended
  280. because they usually cause listings (to the screen and
  281. printer) to appear goofed up.
  282.  
  283. Changing character widths (modes) will force the cursor to
  284. the leftmost position on the screen. However, selecting a
  285. different character set of the same width will not affect
  286. the cursor position.
  287.  
  288. The relative position of the cursor on the screen is also
  289. affected by character type. For instance, HTAB 10 in 20
  290. column mode (double wide mode) is not the same screen
  291. location as HTAB 10 in 70 column mode. In fact, it would be
  292. HTAB 35 in 70 column mode that equals HTAB 10 in 20 column
  293. mode. Remember this when you want to mix character types on
  294. the same line.
  295.  
  296. 2.3.2. UPPER AND LOWER CASE (not applicable to Apple IIe)
  297. ---------------------------------------------------------
  298. Entering lower case text is easy with Flex Type. Type
  299. control-A once to enter lower case mode. In lower case mode,
  300. typing control-A once will shift the next character to upper
  301. case and any subsequent characters will be lower case.
  302. typing control-A twice returns you to upper case shift lock.
  303. If you have made the shift modification to your Apple, it
  304. will work in lower case mode.
  305.  
  306. NOTE: Unlike most other Flex Type commands, control-A does
  307. not need to be followed by a control-X.
  308.  
  309. 2.3.3 SPECIAL CHARACTERS (not applicable to Apple IIe)
  310. ------------------------------------------------------
  311.  
  312. The Zap command when executed will only affect the character
  313. immediately following it. Five of the ten special characters
  314. are available in upper case and the other five are naturally
  315. available only from lower case. Below is a list of the ten
  316. special characters and the keys to type (on the keyboard) or
  317. print (from a program) to access them.
  318.  
  319.      UPPER CASE
  320.  
  321. <control-Z> K = [ (left bracket)
  322. <control-Z> L = \ (back slash)
  323. <control-Z> M = ] (right bracket)
  324. <control-Z> N = ^ (up arrow or caret)
  325. <control-Z> O = _ (underscore)
  326.  
  327.      LOWER CASE
  328.  
  329. <control-Z> k = { (left brace)
  330. <control-Z> l = | (vertical bar)
  331. <control-Z> m = } (right brace)
  332. <control-Z> n = ~ (tilde)
  333. <control-Z> o =   (rub)
  334.  
  335. If it seems funny to use K, L, M, N & O to generate the
  336. special characters, it would probably be helpful to
  337. understand how the Zap command works. When Flex Type sees a
  338. control-Z it sets a flag telling itself to set the sixteens
  339. bit of the next character typed or printed. For those of you
  340. not familiar with HEX or binary, the sixteens bit is the
  341. fifth bit from the right in a byte. (It is actually the
  342. fourth bit because they are numbered from 0-7, right to
  343. left.)
  344.  
  345. Why is it called the sixteens bit? If all the bits in a byte
  346. were zero (off) and the sixteens bit was a 1 (on) then the
  347. decimal value of the byte would be 16 (10 in hex and 0001
  348. 0000 in binary). For more understanding on this, refer to
  349. APPENDIX C on the ASCII character set.
  350.  
  351. 2.3.4 MIXED GRAPHICS AND TEXT
  352. -----------------------------
  353. Another useful feature of Flex Type is the capability to
  354. combine text and graphics on the same screen. With Flex Type
  355. you can place text anywhere on graphics, not just the bottom
  356. four lines of the screen.
  357.  
  358. Let's sidetrack for a moment. For flexibility Flex Type
  359. provides you with three commands that let you decide how the
  360. hi-res screens should be used. They are control-A, control-B
  361. and control-P. Control-A causes all output to go to hi-res
  362. page one. Control-B will cause all output to be placed on
  363. hi-res page two. And control-P causes the page currently
  364. being written on to be displayed. Because of the way these
  365. commands are set up, you have a lot of freedom with the
  366. hi-res screens. This versatility is not at first obvious.
  367. Type:
  368.  
  369. PRINT CHR$2 "THIS WILL BE PRINTED ON PAGE 2."CHR$(1)
  370. <return>
  371.  
  372. Since you are looking at page 1 you don't see what was
  373. printed. To see page 2 type:
  374.  
  375. PRINT CHR$2 (2) CHR$ (16) <return>
  376.  
  377. You are now looking at the same page your output went to.
  378. (If there's garbage all over the screen, type HOME to clear
  379. things up, then return to page 1 and repeat the above
  380. steps.) The same kind of trick can be performed from page 2.
  381. Type:
  382.  
  383. PRINT CHR$(1) "THIS WILL BE PRINTED ON PAGE 1. "CHR$(2)
  384. <return>
  385.  
  386. To return to page 1 type:
  387.  
  388. PRINT CHR$(1) CHR$(16) <return>
  389.  
  390. These three commands (ctrl-A, B, and P) can be used
  391. regardless of the contents of the two screens. They can be
  392. filled with text, graphics or a combination of the two.
  393. Getting back on track, combining text and graphics on the
  394. same screen with Flex Type is easier than you might suspect.
  395.  
  396. To combine text with an already existing hi-res picture,
  397. just BLOAD the picture to the desired screen (see APPENDIX B
  398. for addresses). After loading the picture, it should
  399. automatically be displayed. (If not, you have either
  400. accidentally or purposely loaded it into the other hi-res
  401. page, i.e. the one you are not looking at.) With the picture
  402. loaded, you can put text anywhere on the screen by using
  403. VTAB, HTAB, TAB, SPC, PRINT, etc.
  404.  
  405. To go one step further and plot on the hi-res screens
  406. requires that you do nothing extra. You may however execute
  407. HGR (for page 1) or HGR2 (for page 2). These two commands
  408. function exactly as they would without Flex Type (i.e.
  409. initialize graphics and clear the screen to black) except
  410. that you can also print text anywhere on the screen. You're
  411. not limited to only printing on the bottom four lines of the
  412. screen. Should you desire to limit your text to the bottom
  413. four lines, see the miscellaneous info at the end of
  414. APPENDIX D. Now, whether you've executed one of the HGR's or
  415. not, you may specify the HCOLOR you want and HPLOT, DRAW, or
  416. XDRAW as normally performed on the Apple II. (See the
  417. Applesoft tutorial, Applesoft II BASIC Programming Reference
  418. Manual, and Apple II Reference Manual for further
  419. information on these graphics commands.)
  420.  
  421. 2.3.5 MISCELLANEOUS COMMANDS
  422. ----------------------------
  423. Three other Flex Type commands that are provided mostly for
  424. your convenience are control-E, control-F, and control-N.
  425. Control-E is the same as typing ESC E or CALL -868.
  426. Control-F performs the same function as ESC F and CALL -958.
  427. Both of these commands make clearing part of the screen as
  428. easy in a program as it is in immediate mode. Control-N will
  429. invert the entire screen or any windowed portion of it. The
  430. above commands just as with all Flex Type commands may be
  431. used from within programs (BASIC or Assembly Language) or in
  432. immediate mode (with either the BASIC or monitor prompt).
  433.  
  434. Another Flex Type command is Control-O. Control-O toggles
  435. Overstrike mode on and off. For example, to underline a word
  436. use one of the following methods.
  437.  
  438. 10 PRINT CHR$(15) "THE" CHR$(8) CHR$(8) CHR$(8) "___"
  439. CHR$(15)
  440.  
  441.      or
  442.  
  443. 10 VTAB 12: HTAB 10: PRINT "HELLO"
  444. 20 VTAB 12: HTAB 10: PRINT CHR$(15) "___" CHR$(15)
  445.  
  446. The following commands were added to Flex Type so that it
  447. could more easily emulate (or simulate) an 80 column board.
  448. They also make it possible to interface Flex Type with
  449. programs like GPLE and PLE.
  450.  
  451. control-K  Clear from cursor to end of window.
  452. control-L  Move cursor to upper-left corner of window and
  453. clear window
  454.  
  455. control-S  Set scroll mode; followed by 0 = no scroll, 1 =
  456. normal scrolling, and 2 = fast scrolling.
  457.  
  458. control-U  Deactivate Flex Type and return to normal text
  459. screen.
  460.  
  461. control-V  Scroll display down one line, leaving cursor in
  462. the current position.
  463.  
  464. control-Y  Move cursor to upper-left corner of window
  465. without clearing screen.
  466.  
  467. control-\  Move cursor one space to the right.
  468. control-]  Clear line from cursor to right edge of window.
  469. control-^  Scroll display up one line, leaving cursor in the
  470. current position.
  471.  
  472. control-_  Move cursor up to next line (reverse linefeed).
  473.  
  474. 3.0 ADVANCED TECHNIQUES
  475. -----------------------
  476.  
  477. 3.1 RELOCATING THE CODE
  478. -----------------------
  479. Included on the master disk is a binary file (B type) named
  480. RELOCATOR. This assembly language routine, in cooperation
  481. with the BASIC program named HELLO, performs the code
  482. relocation of Flex Type. HELLO loads Flex Type into memory
  483. (the default location is between DOS and its buffers),
  484. appends the character set(s) to the end of it and then calls
  485. RELOCATOR to adjust the addresses within Flex Type so that
  486. it will run properly at that location. This two step process
  487. is actually quite simple.
  488.  
  489. NOTE: RELOCATOR is not a general purpose code relocator nor
  490. is Flex Type actually a true relocatable file. It cannot be
  491. loaded by relocating loader and is not a R type file. By
  492. making RELOCATOR  specialized for Flex Type. initialization
  493. is made simpler, quicker and less wasteful of memory and
  494. disk space.
  495.  
  496. To load Flex Type below hi-res page 1 at $08000 (2048)
  497. rather than at the default location, RUN HELLO 2. (NOTE: To
  498. have HELLO 2 run when you boot, RENAME HELLO to HELLO 1, and
  499. RENAME HELLO 2 to HELLO. You will also need to change the
  500. program name in line number 220 of HELLO 2 to HELLO.)
  501.  
  502. 3.2 ALTERNATE CHARACTER SETS
  503. ----------------------------
  504. To select a different character set(s) as Flex Type;s
  505. default(s), follow the instructions in section 2.3.1.
  506. Loading a different character set(s) after Flex Type is up
  507. and running requires that you know the starting address of
  508. the present character set(s). This address is usually $9400
  509. (37888 in decimal) unless you loaded Flex Type at $08000 in
  510. which case it's $1000 (4096 decimal). (You may not load more
  511. character sets than the quantity loaded when Flex Type was
  512. booted. For example, if three different character sets were
  513. loaded by the HELLO program then you may only replace those
  514. three. If you need to have four or more sets available you
  515. will need to reboot. This does not apply if Flex Type was
  516. loaded at $08000.) To determine the starting address of the
  517. character set(s) type:
  518.  
  519. PRINT PEEK (974) + PEEK (975) * 256 + 2048
  520.  
  521. Once the address is known BLOAD the new character set at
  522. that address plus 768 ($300) times its position. then POKE
  523. ADDRESS-10 + POSITION, with WIDTHTYPE. (see the program
  524. called OPTCHAR on the master disk for an example.)
  525.  
  526. To define your own character sets you may use ANIMATRIX from
  527. the Apple DOS tool kit, a similar program, or the supplied
  528. character editor (A.C.E.) If you use a program like
  529. ANIMATRIX be aware that you may only use the entire 7x8
  530. array of pixels (picture elements) that it provides for each
  531. character when you are defining a 40 column character set.
  532. Because the 56 and 70 column characters in Flex Type are not
  533. that wide, restrict those character definitions to the
  534. leftmost 5 and 4 pixels (respectively) of each row in the
  535. character block.
  536.  
  537. There are a couple of things you ought to know if you plan
  538. on using A.C.E. First, to use it type RUN A.C.E. Second,
  539. when A.C.E. is run it will (re)load Flex Type (whether or
  540. not it is currently in memory) with room for only two
  541. character sets; one to be edited and one to be used for
  542. reference. When exiting A.C.E. you will be left within Flex
  543. Type with access to only those two character sets. (As
  544. always if yo wish to restart Flex Type without rebooting,
  545. first RUN REMOVE FLEX TYPE.) The instructions for using
  546. A.C.E. are very simple, easy to learn and are included in
  547. the program itself. So... happy editing.
  548.  
  549. 3.2 IMPERSONATING A FLASHER
  550. ---------------------------
  551. Usually on an Apple the characters are displayed in NORMAL,
  552. INVERSE, and FLASHing with hardware. As you may have
  553. noticed, Flex Type recognizes INVERSE and NORMAL and outputs
  554. characters accordingly (something that most other hi-res
  555. character generators and hi-res text programs can't do). But
  556. if you've tried FLASH you no doubt noticed that your output
  557. was only displayed as inverse characters. That is because
  558. there is no hardware to support flashing characters on the
  559. hi-res screens. All is not lost however. With a special
  560. software routine it is usually (but not always) possible to
  561. simulate FLASH. And in case you've forgotten, just such a
  562. routine was used in part of the Demo program. The trick is
  563. simply to print out the text string normally, wait a
  564. specified period of time, print it again in inverse and
  565. repeat the process. An example would be:
  566.  
  567. 10 TIMES = 100 : VP = 11 : HP = 1
  568. 20X$ = "THIS TEXT IS FLASHING."
  569. 30 GOSUB 1000
  570.      .
  571.      .
  572.      .
  573. 1000 PAUSE = 50
  574. 1010 FOR I = 1 TO TIMES
  575. 1020 TGGLE = NOT TGGLE : NORMAL
  576. 1030 IF (TGGLE) THEN INVERSE
  577. 1040 VTAB VP : HTAB HP : PRINT XS;
  578. 1050 FOR J = 1 TO PAUSE : NEXT J
  579. 1060 NEXT I
  580. 1070 RETURN
  581.  
  582. The above method works well only if your program doesn't
  583. need to perform any other tasks while you are simulating
  584. FLASH. What if you want to do something else at the same
  585. time? Well, with only minor modifications to the subroutine
  586. you can perform several operations at the same time. Below
  587. is an example:
  588.  
  589. 10 VP = 11 : HP = 1
  590. 20 X$ = "THIS FLASHES WHILE YOU DO SOMETHING ELSE."
  591. 30 GOSUB 1000
  592. 40 ...SOMETHING...
  593. 50 GOSUB 1000
  594. 60 ...SOMETHING...
  595. 70 GOSUB 1000
  596.      .
  597.      .
  598.      .
  599. 1000 TGGLE = NOT TGGLE : NORMAL
  600. 1010 IF (TGGLE) THEN INVERSE
  601. 1020 VTAB VP : HTAB HP : PRINT X$;
  602. 1030 RETURN
  603.  
  604. Once the parameters VP, HP and X$ are set up in the main
  605. program they need not be redefined. All you need to do is
  606. intersperse a few GOSUBs within your processing and the text
  607. will flash while you perform calculations, print, etc. For
  608. an example of FLASH simulation see the program entitled
  609. FLASHER on the master disk.
  610.  
  611. 4.0 IMPORTANT ODDS AND ENDS
  612. ---------------------------
  613.  
  614. 4.1 EXITING AND RE-ENTERING FLEX TYPE
  615. -------------------------------------
  616. A brief discussion of some ways to leave and get back into
  617. Flex Type is given here to increase your awareness of your
  618. new environment in the Apple.
  619.  
  620. If you ever exit Flex Type (for instance with the TEXT
  621. command or the reset key) you may re-enter it without
  622. rebooting the master disk or running the HELLO program by
  623. typing a "&" and a return. Upon returning you will find
  624. yourself on the hi-res page you last used with the last
  625. character set you used. It isn't important to know Flex
  626. Type's entry point. It seems appropriate here to mention
  627. that the only way to cleanly alternate between Flex Type's
  628. hi-res text and normal text screen text is with the TEXT and
  629. & commands. (These may also be used from within a program.)
  630. Similarly the only way to completely exit Flex Type and free
  631. up all memory it occupies is to RUN REMOVE FLEX TYPE.
  632.  
  633. Suppose you accidentally hit reset and exit Flex Type
  634. unintentionally. If you just typed in a long program, don't
  635. worry you haven't lost it. You're just in normal text mode.
  636. To re-enter Flex Type type:
  637.  
  638. & <return>     (from BASIC)
  639.  
  640.      or, if you are using the & command for something else
  641.  
  642. CALL 973 <return>   (from BASIC)
  643.  
  644.      or
  645.  
  646. 3CDG <return>       (from the monitor)
  647.  
  648. If you have a newer Apple with the encoder board under the
  649. keyboard, you may want to set the switch so accidentally
  650. hitting reset will do nothing. And for those of you with
  651. Autostart ROM's, defeating the reset entirely by
  652. intercepting it is possible. (see Apple II Reference
  653. Manual.)
  654.  
  655. 4.2 THE WINDOW
  656. --------------
  657. As mentioned previously, Flex Type supports Zero Page Window
  658. pokes. The screen may be windowed in any of the modes
  659. (20,40,56 and 70 columns). However, because of the way that
  660. Flex Type works, it is only possible to change the top and
  661. bottom edges of the window. (WNDTOP and WNDBTM
  662. respectively). The location of WNDTOP is 34 ($22) and WNDBTM
  663. is 35 ($23). DO NOT, repeat DO NOT, ever poke locations 32
  664. ($20, WNDLFT) or 33 ($21, WNDWDTH) while using Flex Type.
  665. Also, the warnings in the Applesoft II BASIC Programming
  666. Reference Manual and the aPple II Reference Manual are valid
  667. with Flex Type too (i.e. WNDTOP should always be less than
  668. WNDBTM, just as WNDBTM should always be greater than
  669. WNDTOP).
  670.  
  671. 4.3 MORE DO'S AND DON'TS
  672. ------------------------
  673. o    Don't use CALL -936, -958, -868, -922, or -912.
  674. o    Do use HOME, ctrl F, ctrl E, ctrl J, and VTAB  24:
  675. PRINT as replacements respectively.
  676.  
  677. o    Don't use ctrl B <return> to re-enter BASIC from the
  678. monitor.
  679. o    Do use ctrl C <return>. (If you accidentally use ctrl
  680. B, execute an FP command to prevent a crash.)
  681.  
  682. o    Don't use ESC ctrl-Q or ESC ctrl-L to remove GPLE.
  683. o    Do use REMOVE FLEX TYPE.
  684.  
  685. o    Don't use PLE/GPLE's Edit function in INVERSE mode.
  686. (Because it interprets inverse characters as control
  687. characters.)
  688. o    Do use PLE/GPLE's Edit function in NORMAL mode.
  689.  
  690. o    Don't run ESCAPE CREATE, ESCAPE SAVE or ESCAPE PRINTER
  691. while GPLE is interfaced with Flex Type.
  692. o    Do run them at any other time.
  693.  
  694. o    Don't run REMOVE PLE while in hi-res text.
  695. o    Do run REMOVE PLE in normal text screen text.
  696.  
  697. 4.4 LITTLE KNOWN FACTS
  698. ----------------------
  699. 1. To use Flex Type in combination with GPLE (or PLE) do the
  700. following:
  701.  
  702. Boot your GPLE (or PLE) disk.
  703. Run HELLO or HELLO 2 from the Flex Type disk.
  704. Run GPLE.48 PATCH (OR GPLE.LC PATCH, GPLE.DM PATCH or PLE
  705. PATCH depending on which version of GPLE (or PLE) you
  706. loaded).
  707.  
  708. Control-V will now switch between normal and hi-res text
  709. with full access to GPLEs features in either mode. (This
  710. command doesn't exist in PLE).
  711.  
  712. If you have version 4.0 or later of GPLE (from Beagle Bros),
  713. you should not use the above method. Instead, do the
  714. following:
  715.  
  716.      Brun CONFIG GPLE from the GPLE disk.
  717.      Select 7 (other) when prompted for the video driver and
  718. use FLEXTYPE,VID from the flex Type disk.
  719.      Answer YES to the 40 column default question.
  720.      Boot your GPLE disk.
  721.      Run HELLO or HELLO 2 from the Flex Type disk.
  722.      Type TEXT <return> and then & <return>.
  723.      Control-V works as above.
  724.  
  725. 2. The sample programs on the disk will only work as
  726. intended under the default font configuration (i.e. three
  727. fonts: ASCII.70,ASCII.56 & ASCII.40).
  728.  
  729. 3. Sending the "rub" character, CHR$(127), to a printer will
  730. cause the character preceeding it to be deleted. It doesn't
  731. have any effect on the screen however and may be used for
  732. almost any purpose.
  733.  
  734. 4. Flex Type loaded below Hi-res page 1 only has sufficient
  735. room for 5 character sets. However, if Hi-res page 1 is not
  736. used then there is plenty of room for the maximum 9
  737. character sets below Hi-res page 2.
  738.  
  739. 5. Flex Type doesn't write on the normal Text screen.
  740.  
  741. 6. CALL -936 will clear the normal Text screen but will not
  742. affect the Hi-res screens.
  743.  
  744. 7. Flex Type uses the following Zero Page locations: $EC,
  745. $ED, $EE, $FA, $FB, $FC, $FD, $FE, and $FF.
  746.  
  747. 8. Most of page 3 in memory ($300-3FF) is available for you
  748. to use. Flex Type uses only three bytes, $3CD-$3CF, and DOS
  749. and the System Monitor use $3D0-3FF.
  750.  
  751. 9. You can use the character sets from Apple's DOS Tool Kit
  752. (and other similar hi-res character programs) with Flex
  753. Type.
  754.  
  755. 10. When PLE is interfaced with Flex Type, its commands are
  756. only available in hi-res text.
  757.  
  758. 11. Because GPLE/PLE will intercept some of Flex Type's
  759. commands (e.g. ctrl-E), you may sometimes have to use PRINT
  760. $CHR(5), etc. in immediate mode.
  761.  
  762. 12. Change these GPLE Escape functions to what is printed
  763. below. (Note: Lower case letter represent control
  764. characters.)
  765.  
  766.      Esc T- TTEXT:POKE-16300,0m
  767.  
  768.      Change the 8 after "POKE 104", in the ctrl-shift-N
  769.      Escape function to a 96 (or 64) if booted with HELLO 2.
  770.  
  771. 13. Only use Esc H (display control characters) in normal
  772. text and not when using hi-res text. This does not apply if
  773. the version of GPLE you are using is 4.0 or later (from
  774. Beagle Bros).
  775.  
  776. APPENDIX A
  777. ----------
  778.  
  779. COMPATIBILITY WITH BASIC AND MONITOR COMMANDS
  780. ---------------------------------------------
  781. All Applesoft Floating Point BASIC commands are supported,
  782. but some have been altered slightly. A reference list and
  783. explanations follow.
  784.  
  785.   TOKEN   KEYWORD   TOKEN    KEYWORD    TOKEN    KEYWORD
  786.  HEX DEC           HEX DEC             HEX DEC
  787.  
  788. 80   128  END      A4  164   LOMEM:    C8  200   +
  789. 81   129  FOR      A5  165   ONERR     C9  201   -
  790. 82   130  NEXT     A6  166   RESUME    CA  202   *
  791. 83   131  DATA     A7  167   RECALL    CB  203   /
  792. 84   132  INPUT    A8  168   STORE     CC  204   ^
  793. 85   133  DEL      A9  169   SPEED=    CD  205   AND
  794. 86   134  DIM      AA  170   LET       CE  206   OR
  795. 87   135  READ     AB  171   GOTO      CF  207   >
  796. 88   136  GR       AC  172   RUN       D0  208   =
  797. 89   137  TEXT     AD  173   IF        D1  209   <
  798. 8A   138  PR#      AE  174   RESTORE   D2  210   SGN
  799. 8B   139  IN#      AF  175   &         D3  211   INT
  800. 8C   140  CALL     B0  176   GOSUB     D4  212   ABS
  801. 8D   141  PLOT     B1  177   RETURN    D5  213   USR
  802. 8E   142  HLIN     B2  178   REM       D6  214   FRE
  803. 8F   143  VLIN     B3  179   STOP      D7  215   SCRN(
  804. 90   144  HGR2     B4  180   ON        D8  216   PDL
  805. 91   145  HGR      B5  181   WAIT      D9  217   POS
  806. 92   146  HCOLOR=  B6  182   LOAD      DA  218   SQR
  807. 93   147  HPLOT    B7  183   SAVE      DB  219   RND
  808. 94   148  DRAW     B8  184   DEF       DC  220   LOG
  809. 95   149  XDRAW    B9  185   POKE      DD  221   EXP
  810. 96   150  HTAB     BA  186   PRINT     DE  222   COS
  811. 97   151  HOME     BB  187   CONT      DF  223   SIN
  812. 98   152  ROT=     BC  188   LIST      E0  224   TAN
  813. 99   153  SCALE=   BD  189   CLEAR     E1  225   ATN
  814. 9A   154  SHLOAD   BE  190   GET       E2  226   PEEK
  815. 9B   155  TRACE    BF  191   NEW       E3  227   LEN
  816. 9C   156  NOTRACE  C0  192   TAB(      E4  228   STR$
  817. 9D   157  NORMAL   C1  193   TO        E5  229   VAL
  818. 9E   158  INVERSE  C2  194   FN        E6  230   ASC
  819. 9F   159  FLASH    C3  195   SPC(      E7  231   CHR$
  820. A0   160  COLOR=   C4  196   THEN      E8  232   LEFT$
  821. A1   161  POP      C5  197   AT        E9  233   RIGHT$
  822. A2   162  VTAB     C6  198   NOT       EA  234   MID$
  823. A3   163  HIMEM:   C7  199   STEP
  824.  
  825. GR - set to low resolution graphics with four lines of
  826. normal text screen text at the bottom. Flex Type will not
  827. display hi-res text in combination with low resolution
  828. graphics. To return to hi-res text execute the & command.
  829.  
  830. TEXT - reset full text window, VTAB to row 23 and return to
  831. normal text screen text. (& returns to hi-res text.)
  832.  
  833. HGR - set to full screen high resolution graphics with
  834. ability to include text anywhere.
  835.  
  836. FLASH - cause output to be displayed as inverse (see section
  837. 4.0 for flashing character simulation.)
  838.  
  839. SCRN( - only works in normal text mode. To simulate SCRN in
  840. hi-res text use:
  841.  
  842.      ADRS = PEEK (974) + PEEK (975) * 256
  843.      VTAB row: HTAB column: CALL ADRS+12: A = PEEK(234) -
  844. 128
  845.  
  846. (The variable A will equal the decimal value of the
  847. character that was found on the screen, e.g. the letter "A"
  848. is a 65).
  849.  
  850. POS - only works in normal text mode. To simulate POS in
  851. hi-res text use:
  852.  
  853.      PEEK (252)
  854.  
  855. Use of PR# and IN# should be avoided while in hi-res text.
  856. This is because almost all peripheral in cards send output
  857. to the normal text screen making it impossible for Flex Type
  858. to intercept it. It should be obvious then that PR# and IN#
  859. may be used freely while in normal text mode. If you
  860. accidentally or purposely issue one of those two commands
  861. while in hi-res text mode, execute an & command to return
  862. control to Flex Type.
  863.  
  864. To LIST in 70 columns to a printer in slot 1:
  865.  
  866. PRINT CHR$(4) "PR#1":PRINT CHR$(9) "70N" : LIST: & <return>
  867.  
  868. To RUN a program in 70 columns on a printer:
  869.  
  870. (first program line)
  871. 10 PRINT CHR$(4)"PR#1": PRINT CHR$(9)"70N"
  872.  
  873. (last program line)
  874. 10000 &: END
  875.  
  876. Flex Type also supports all monitor commands including I and
  877. N. (See Apple II Reference Manual for other monitor
  878. commands.)
  879.  
  880. APPENDIX B
  881. ----------
  882.  
  883. PRESERVING THE HI-RES SCREENS
  884. -----------------------------
  885. It is essential to avoid overwriting the areas of memory
  886. that Flex Type uses for display. Assembly language
  887. programmers can easily comply with this requirement by
  888. assembling their code to run and be loaded at addresses
  889. other than those used by Flex Type. BASIC programmers
  890. however are in a different boat, as Applesoft programs load
  891. from the lowest memory up and the variables work toward the
  892. hi-res screens (see figure 1). Protecting at least one
  893. screen is necessary for Flex Type to function properly.
  894. However, depending on your application, you may want to
  895. protect both.
  896.  
  897. There is only 6K (1K = 1024 bytes) of memory between the end
  898. of text page 1 and hi-res page 1 that is allotted for BASIC
  899. programs. If you need to use hi-res page 1 and your programs
  900. are 6K or less in length, you're O.K. To determine the exact
  901. length of a program, LOAD it and then type:
  902.  
  903. PRINT (PEEK(175) = PEEK(176) * 256) - (PEEK(103) + PEEK(104)
  904. *256) <return>
  905.  
  906. If the number is smaller than 6144 the program will fit. To
  907. estimate how long a program is without having to load it
  908. into memory, take the number of disk sectors it occupies,
  909. subtract 1 and divide by 4. Here's an example. Say the
  910. program in question occupies 19 disk sectors. Subtracting 1
  911. (for the tract sector list sector) leaves 18. Divide that by
  912. 4 (since there are 256 bytes per sector, and it takes 4
  913. sectors to equal 1k) and you get 4.5. Your program is
  914. approximately 4.5k long. It would safely fit, but because
  915. Applesoft variables build from the end of the program up, it
  916. would be necessary to have the first statement in the
  917. program set LOMEM at least above hi-res page 1. It should
  918. look like this:
  919.  
  920. 10 LOMEM: 16384   (sets it above hi-res page 1)
  921.  
  922.      or
  923.  
  924. 10 LOMEM: 24576   (sets it above hi-res page 2)
  925.  
  926. This action will also prevent Applesoft strings (which build
  927. down from HIMEM) from overwriting the graphic screens.
  928.  
  929. Programs larger than 6k have several alternatives for
  930. solutions. First, if you only need to use one screen, use
  931. hi-res page 2. This frees up the 8k in hi-res page 1.  You
  932. may now run programs that are up to 14k (57 disk sectors)
  933. long (see figure 2).
  934.  
  935. Second, set the program start to $4000 (16384 decimal) or
  936. $6000 (24567 decimal) depending on whether or not you need
  937. both screens. Do this with a POKE 104,X : POKE X * 256,0
  938. (where X = 64 or 96). See the Load Flex Type subroutine in
  939. A.C.E. that is called in line number 20 of that program for
  940. an example. This yields 18.75k and 10.75k (76 and 44 disk
  941. sectors respectively) for BASIC programs. And if in
  942. combination with this you load Flex Type below hi-res page 1
  943. you get an extra 2.75k of memory (see figures 3 & 4 and
  944. section 3.1 on loading Flex Type below hi-res page 1).
  945.  
  946. Last but not least, if you are short on memory, you can
  947. chain programs or bread your program into parts and have
  948. each part call (RUN) the next part. See the DOS manual.
  949.  
  950. APPENDIX C
  951. ----------
  952.  
  953. THE ASCII CHARACTER SET
  954. -----------------------
  955. The ASCII character set is given here for your reference. It
  956. has the decimal, hex, and binary equivalents for each
  957. character.
  958.  
  959. GROUP 1:
  960. --------
  961. DEC   HEX   BINARY     CHAR       WHAT TO TYPE
  962. ----------------------------------------------
  963. 0     00    00000000   NULL       ctrl @
  964. 1     01    00000001   SOH        ctrl A
  965. 2     02    00000010   STX        ctrl B
  966. 3     03    00000011   ETX        ctrl C
  967. 4     04    00000100   ET         ctrl D
  968. 5     05    00000101   ENQ        ctrl E
  969. 6     06    00000110   ACK        ctrl F
  970. 7     07    00000111   BEL        ctrl G
  971. 8     08    00001000   BS         ctrl H
  972. 9     09    00001001   HT         ctrl I
  973. 10    0A    00001010   LF         ctrl J
  974. 11    0B    00001011   VT         ctrl K
  975. 12    0C    00001100   FF         ctrl L
  976. 13    0D    00001101   CR         ctrl M
  977. 14    0E    00001110   SO         ctrl N
  978. 15    0F    00001111   SI         ctrl O
  979. 16    10    00010000   DLE        ctrl P
  980. 17    11    00010001   DC1        ctrl Q
  981. 18    12    00010010   DC2        ctrl R
  982. 19    13    00010011   DC3        ctrl S
  983. 20    14    00010100   DC4        ctrl T
  984. 21    15    00010101   NAK        ctrl U
  985. 22    16    00010110   SYN        ctrl V
  986. 23    17    00010111   ETB        ctrl W
  987. 24    18    00011000   CAN        ctrl X
  988. 25    19    00011001   EM         ctrl Y
  989. 26    1A    00011010   SUB        ctrl Z
  990. 27    1B    00011011   ESCAPE     ESC
  991. 28    1C    00011100   FS         ctrl \ (or ctrl, Z ctrl L)
  992. 29    1D    00011101   GS         ctrl ] (or ctrl shift M)
  993. 30    1E    00011110   RS         ctrl ^ (or ctrl shift N)
  994. 31    1F    00011111   US         ctrl _ (or ctrl Z, ctrl O)
  995.  
  996. GROUP 2:
  997. --------
  998. 32    20    00100000   SPACE      space
  999. 33    21    00100001   !          !
  1000. 34    22    00100010   "          "
  1001. 35    23    00100011   #          #
  1002. 36    24    00100100   $          $
  1003. 37    25    00100101   %          %
  1004. 38    26    00100110   &          &
  1005. 39    27    00100111   '          '
  1006. 40    28    00101000   (          (
  1007. 41    29    00101001   )          )
  1008. 42    2A    00101010   *          *
  1009. 43    2B    00101011   +          +
  1010. 44    2C    00101100   ,          ,
  1011. 45    2D    00101101   -          -
  1012. 46    2E    00101110   .          .
  1013. 47    2F    00101111   /          /
  1014. 48    30    00110000   0          0
  1015. 49    31    00110001   1          1
  1016. 50    32    00110010   2          2
  1017. 51    33    00110011   3          3
  1018. 52    34    00110100   4          4
  1019. 53    35    00110101   5          5
  1020. 54    36    00110110   6          6
  1021. 55    37    00110111   7          7
  1022. 56    38    00111000   8          8
  1023. 57    39    00111001   9          9
  1024. 58    3A    00111010   :          :
  1025. 59    3B    00111011   ;          ;
  1026. 60    3C    00111100   <          <
  1027. 61    3D    00111101   =          =
  1028. 62    3E    00111110   >          >
  1029. 63    3F    00111111   ?          ?
  1030.  
  1031. GROUP 3:
  1032. --------
  1033. 64    40    01000000   @          @
  1034. 65    41    01000001   A          A
  1035. 66    42    01000010   B          B
  1036. 67    43    01000011   C          C
  1037. 68    44    01000100   D          D
  1038. 69    45    01000101   E          E
  1039. 70    46    01000110   F          F
  1040. 71    47    01000111   G          G
  1041. 72    48    01001000   H          H
  1042. 73    49    01001001   I          I
  1043. 74    4A    01001010   J          J
  1044. 75    4B    01001011   K          K
  1045. 76    4C    01001100   L          L
  1046. 77    4D    01001101   M          M
  1047. 78    4E    01001110   N          N
  1048. 79    4F    01001111   O          O
  1049. 80    50    01010000   P          P
  1050. 81    51    01010001   Q          Q
  1051. 82    52    01010010   R          R
  1052. 83    53    01010011   S          S
  1053. 84    54    01010100   T          T
  1054. 85    55    01010101   U          U
  1055. 86    56    01010110   V          V
  1056. 87    57    01010111   W          W
  1057. 88    58    01011000   X          X
  1058. 89    59    01011001   Y          Y
  1059. 90    5A    01011010   Z          Z
  1060. 91    5B    01011011   [          [ (or ctrl Z, K)
  1061. 92    5C    01011100   \          \ (or ctrl Z, L)
  1062. 93    5D    01011101   ]          ] (or ctrl Z, M)
  1063. 94    5E    01011110   ^          ^ (or ctrl Z, N)
  1064. 95    5F    01011111   _          _ (or ctrl Z, O)
  1065.  
  1066. The following characters require lower case mode to be set
  1067. with the control A command.
  1068.  
  1069. GROUP 4:
  1070. --------
  1071. DEC   HEX   BINARY      CHAR    WHAT TO TYPE
  1072.  
  1073. 96     60   01100000    `       @
  1074. 97     61   01100001    a       A
  1075. 98     62   01100010    b       B
  1076. 99     63   01100011    c       C
  1077. 100    64   01100100    d       D
  1078. 101    65   01100101    e       E
  1079. 102    66   01100110    f       F
  1080. 103    67   01100111    g       G
  1081. 104    68   01101000    h       H
  1082. 105    69   01101001    i       I
  1083. 106    6A   01101010    j       J
  1084. 107    6B   01101011    k       K
  1085. 108    6C   01101100    l       L
  1086. 109    6D   01101101    m       M
  1087. 110    6E   01101110    n       N
  1088. 111    6F   01101111    o       O
  1089. 112    70   01110000    p       P
  1090. 113    71   01110001    q       Q
  1091. 114    72   01110010    r       R
  1092. 115    73   01110011    s       S
  1093. 116    74   01110100    t       T
  1094. 117    75   01110101    u       U
  1095. 118    76   01110110    v       V
  1096. 119    77   01110111    w       W
  1097. 120    78   01111000    x       X
  1098. 121    79   01111001    y       Y
  1099. 122    7A   01111010    z       Z
  1100. 123    7B   01111011    {       { (or ctrl Z, K)
  1101. 124    7C   01111100    |       | (or ctrl Z, L)
  1102. 125    7D   01111101    }       } (or ctrl Z, M)
  1103. 126    7E   01111110    ~       ~ (or ctrl Z, N)
  1104. 127    7F   01111111              (or ctrl Z, O)
  1105.  
  1106. APPENDIX D
  1107. ----------
  1108.  
  1109. FLEX TYPE COMMAND SUMMARY
  1110. -------------------------
  1111. Boot the Flex Type disk or RUN HELLO to start.
  1112.  
  1113. SCREEN CONTROL
  1114. --------------
  1115. & (or CALL 973) .. Re-enter Flex Type from normal text mode
  1116. TEXT (or Reset) .. Enter normal text mode from Flex Type
  1117. ctrl-A ........... Print on Hi-Res Page 1
  1118. ctrl-B ........... Print on Hi-Res page 2
  1119. ctrl-P ........... Display current print page
  1120. ctrl-N ........... Normal/Inverse (entire screen) toggle
  1121. ctrl-O ........... Overstrike/Normal toggle
  1122.  
  1123. TYPE WIDTH
  1124. ----------
  1125. ctrl-T 1 ......... 70 column text (or 1st font loaded)
  1126. ctrl-T 2 ......... 56 column text (or 2nd font loaded)
  1127. ctrl-T 3 ......... 40 column text (or 3rd font loaded)
  1128. ctrl-W ........... 20 column text (double wide characters)
  1129.  
  1130. SPECIAL CHARACTERS
  1131. ------------------
  1132. ctrl-A ........... Capital letters
  1133. ctrl-A ........... Lower case letters
  1134. ctrl-A ........... Shift (capitalize next letter only)
  1135.  
  1136. ctrl-Z K .. Left Bracket ([)  ctrl-Z k .. Left Brace ({)
  1137. ctrl-Z L .. Backlash (\)      ctrl-Z l .. Vertical Bar (|)
  1138. ctrl-Z M .. Right Bracket (]) ctrl-Z m .. Right Brace (})
  1139. ctrl-Z N .. Up Arrow (^)      ctrl-Z n .. Tilde (~)
  1140. ctrl-Z O .. Underscore (_)    ctrl-Z o .. Run ( )
  1141.  
  1142. MISCELLANEOUS
  1143. -------------
  1144. HOME ............. Clear screen being viewed
  1145. ctrl-E ........... Clear text from cursor to end of line
  1146. ctrl-F ........... Clear text from cursor to end of screen
  1147.  
  1148. ALTERNATE CHARACTER SETS
  1149. ------------------------
  1150.  
  1151. TO CREATE a new character set:
  1152. ------------------------------
  1153. RUN A.C.E. (the "Apple Character Edition" on the Flex Type
  1154. disk).
  1155.  
  1156. TO LOAD new character sets:
  1157. ---------------------------
  1158. Change the HELLO program's first lines to assign Character
  1159. Set Names; CS$(1), CS$(2), CS$(3)...; in the order they are
  1160. to be loaded. Then Save and Run HELLO.
  1161.  
  1162. Here's some miscellaneous information about the hi-res
  1163. screens that may be useful.
  1164.  
  1165. To load pictures to hi-res screen 1, type:
  1166.  
  1167. BLOAD <picture name>,A$2000 <return>
  1168.  
  1169.      or
  1170.  
  1171. BLOAD <picture name>,A8192 <return>
  1172.  
  1173. and to load pictures to hi-res screen 2, type:
  1174.  
  1175. BLOAD <picture name>,A$4000 <return>
  1176.  
  1177.      or
  1178.  
  1179. BLOAD <picture name>,A16386 <return>
  1180.  
  1181. To simulate normal HGR with only 4 lines of text at the
  1182. bottom of the screen, type:
  1183.  
  1184. POKE 34,20 <return>
  1185.  
  1186. To undo this use the TEXT command or POKE 34,0.
  1187.  
  1188. NOTE: If you type HGR from page 2 or from page 1 you will
  1189. not see the prompt or the cursor. To remedy this situation
  1190. use the control A, B and P commands. If you typed HGR from
  1191. page 2, PRINT CHR$(16) to return to page 2 or PRINT CHR$(1)
  1192. CHR$(16) to go to page 1.  If you typed HGR2 from page 1,
  1193. PRINT CHR$(16) to return to page 1 or PRINT CHR$(2) CHR$(16)
  1194. to go to page 2.
  1195.