In article <8hj66r$4rc$1@nnrp1.deja.com>, wrote: > I have downloaded the S-C assembler package, recently made available. > > One of the disks (SCREENED.dsk) claims to have a full-screen editor. > I have booted that disk in an emulator (Catakig on a PowerMac), and run > SYSGEN as instructed to customize the editor program for the emulator > setup. > > However, I can't figure out how to actually run and use the editor!! > > Can anyone give me a clue about how this thing actually works? I found I had actually brought the documentation for this FSE by Mike Laumer to the city. So I OCR'ed it, and the manual appears below, as ASCII text. I will OCR the manual for the S-C Assembler too, but since that manual is bigger, it will take some more time. ========================================================================= FULL SCREEN EDITOR for S-C Macro Assembler With these excellent features: - Complete Screen Editor - Co-Resident with S-C Macro Assembler - Adjustable tab stops and margins - Automatic renumbering - 40 or 80 column "window" editing - Column number guide - Source code included - Drivers for VIDEX, STB and Apple IIe 0 column boards Requires 64k Apple II with Language card and S-C Macro Assembler Laumer Research 1832 School Road Carroliton, Texas 75006 (214) 245-3927 --------------------------------------------------------------------- FULL SCREEN EDITOR for S-C Macro Asseinbier by Mike Laumer Laumer Research 1832 School Rd. Carroliton, TX 75006 (214) 245-3927 Copyright (C) 1983 by Laumer Research --------------------------------------------------------------------- General Information about the Screen Editor. This Full Screen Editor was designed to co-exist (piggyback fashion) with the Language card version of the S-C Macro assembler. The editor requires a minimal patch to the assemb1er to recognize a "/" in column 1 as a signal to enter the editor. The editor is self contained, and once started, it requires no routines in the actual assembler itself. The editor will also work with most of the S-C Macro cross assemblers (except for 68000 version). The Screen editor is created via a SYSGEN program to preset useful parameters to individual needs. There are several video driver modules currently available. By examining the source code of the drivers in detail and by using the documentation from your video board manufacturer you should be able to easily configure a video driver for any 80 column board not currently supported. The screen editor uses all 80 columns and all 24 lines of a display. Your board must be able to write a column 80 character without the display scrolling up when writing the last line. If you have performed this conversion to your particular 80 column board adequately and you are the first to send it to Laumer Research, Laumer Research will refund you 20 dollars on the purchase of the Screen Editor (If you give Laumer Research all rights for your driver module, source and object code.) In ~this mamner most video boards should be supported within several months. But remember that you must be the first one to send it in for your particular board and it must be a reasonable implementation before Laumer Research will send you a refund. Note that the video driver is only used by the screen editor and will not resolve the problems in the assembler which prevent you from using your video board with it. For this you may look at the two patch files for the S-C Macro Assembler provided on the disk for the VIDEX and STB8O 80 column boards. These particular patches are to be incorporated into future releases of the S-C Macro Assembler. When the 80 column board versions of the screen editor begin execution they assume that your 80 column board has already been turned on and is in use. If you have not done this then type a PR#3 to enable your 80 column video board before using the "/" command to enter the screen editor. -1- --------------------------------------------------------------------- The editor commands are divided into two groups, the Scroll mode commands and the Edit node commands. The two nodes are toggled with the use of the Escape key. The two nodes are denoted~ by different cursor types depending on the particular video driver. With the standard Apple driver a flashing "+" indicates the scroll mode and a normal flashingq character indicates the edit mode. Because there are no lower case flashing characters in standard Apple II video, the Apple II video driver will convert a lower case character into the upper case value when the edit mode cursor is positioned over a lower case character. This affects only the display and not the value in the edit line. The editor assumes a lower case adapter for the Apple II display in order to display lower case ASCII characters. If however, you do not use lower case or you have one of the supported 80 column boards then this will not matter to you. The screen editor also uses additional memory beyond what the S-C Macro Assembler does. The memory from $0F00-$0FFF is used to save the editor working buffer at $0200-$02FF. In addition, some variables are used at $0380-$03CF. Entering the screen editor will cause any assembler symbol table to disappear because the editor requires that area for use as a scroll line stack. The editor is what is known as a "window" editor. This means that the screen (either 40 or 80 columns) is a "window" on a much larger work area. This "window" can be shifted either vertically or horizontally to display any column from one through 248 and any line up to your memory limitation. As the cursor moves past the edge of the "window" it will cause the editor to automatically pull the "window" so the new cursor position remains in view on the screen. The "window" will stop automatically when the line or column limits are encountered. The "window" will always track the cursor position. In the documentation which follows you will note that all control characters are denoted by a prefix of "^". For example "^Q" means control Q. -2- --------------------------------------------------------------------- Here is a list of the editor keyboard commands. Note that at any time you may leave the editor and return to the assembler with the AQ command to use the COPY or FIND and REplace editing, returning to the editor when you wish. The following commands are Scroll Mode commands. 1 - Scroll up. Shows next screen full of source code. 2 - Scroll down. Shows previous screen full of source code. 3 - Toggle line numbers on/off. Line numbers are displayed on the left. New lines will show blanks as a line number. Any line number of 0000 will show as blanks. 4 - Toggle compose mode on/off. Affects the carriage return key. Controls if a new line is inserted after typing the return key. With this function you can type new lines without writing over the lines below it. 5 - Toggle form guide on/off. A column position guide can be shown at the top and bottom of the screen. ! - Scroll up long. Faster way to move through the program code to the position you want. " - Scroll down long. Faster way to move through the program code to the position you want. / - Goto line. Type N/2000N and the return key and the editor will search for line 2000 and page the display starting with that line. : - Horizontal Scroll left. Moves the window left to lower numbered columns depending on the amount set by the SYSGEN. Allows editor to handle lines longer than the screen width without dropping to the next line. - - Horizontal Scroll right. Moves the window right to higher numbered columns depending on the amount set by the SYSGEN. Allows editor to handle lines longer than the screen width without dropping to the next line. B - Move to beginning of file. E - Move to end of file. I - Move cursor up 1 line. J - Move cursor left 1 column. K - Move cursor right 1 column. M - Move cursor down 1 line. ^H - Move cursor left 1 column (left arrow). ^J - Move cursor down 1 line. ^K - move cursor up 1 line. ^L - Insert 1 new line. ^M - Goto next line at left margin (Return key). ^P - Insert comment line. ^Q - Quit from editor, return to assembler. ^U - Move cursor right 1 column (right arrow). ^W - Set left margin (Affects carriage return). Useful for setting a left margin for adding comments to uncomented code or for entering in a column of data. ^Z - Delete current line. ESC- Leave Scroll mode and enter Edit mode. -3- --------------------------------------------------------------------- The following Scroll mode commands can also be used in the Edit mode without conflict. They prevent using the ESC key too many tines to change modes. ^H - Move left 1 column (left arrow key) ^J - Move down 1 line. ^K - Move up 1 line. ^L - Insert blank lime. ^M - Goto next line at left margin (Return key). ^P - Insert comment line. ^Q - Quit from edit, return to assembler. ^U - Move right 1 column (right arrow key). ^W - Set left margin (Affects carriage return). ^Z - Delete current line. The following commands are Edit node commands. ^@ - Clears to end of line. ^A - Toggle alpha shift lock on/off. ^B - Move to beginning of line. ^C - Copy characters from previous line to next tab. ^D - Delete current character. ^F - Find next key typed. You may type the key over again to find the next occurence without typing F again. ^I - Insert before current character. ^O - Insert control character before current character. Control characters will usually be displayed in inverse video depending on the particular video driver and video q hardware being used. ^N - Move to end of line. ^R - Restore line. Helps correct edit mistakes. ^S - Set/clear a tab stop. Use T to show where the tab positions are. Up to 21 tab stops are availiable. ^T - Tab to next tab stop. If past last tab stop then T wraps to the first tab stop. ESC- Leave Edit mode and enter Scroll mode. -4- --------------------------------------------------------------------- The following Edit mode commands can be invoked from the Scroll node and will pop you into the Edit mode and perform the command. After the command is executed the Edit node will still be in effect. This ability prevents using the ESC key too many times to change modes. ^@ - Clear to end of line. ^A - Toggle alpha shift lock on/off. ^B - Move to begining of line. ^C - Copy characters from previous line to next tab. ^D - Delete current character. ^I - Insert before current character. ^F - Find next typed character. ^N - Move to end of line. ^O - Insert control character before current character. ^S - Set/clear tab stop. ^T - Tab to next tab stop. If you use the shift key modification as required by many popular word processors and the Shift key mod flag is set via the SYSGEN program then these additional keyboard capabilities are provided by the editor. Shift -> will move down 1 line. Shift <- will move up 1 line. Shift I in Scroll mode will Scroll down 1 screen. Shift M in Scroll mode will Scroll up 1 screen. If alpha lock is unlocked lower case characters are entered for the letter keys (A-Z). When the Shift key is pressed and a letter key is pressed an upper case letter will result. Note that the characters (^]@) will produce (NMP). -5- --------------------------------------------------------------------- About the SYSGEN program. The SYSGEN program can control the initial settings of many of the editor parameters. To use the SYSGEN program first get Applesoft up and running. Then type "RUN SYSGEN". The program will load and execute and the first thing it does ~ is load the "B.EDITOR" file into memory. The program will the~ display a choice of video drivers available. Select by number the driver desired. The SYSGEN program then loads the selected video driver into memory. The next menu displayed allows alteration of particular parameters in the editor module. 0 - Will accept all the current. parameters and write the "EDITOR" file to the diskette with the driver selected and all parameters included as specified. 1 - Allows you to change the short scroll parameter (used by functions 1,2 in the Scroll mode of the editor). 2 - Allows you to change the long scroll parameter (used by functions !," in the Scroll mode of the editor). 3 - Allows you to change the Horizontal shift count from one through the screen width-l. For 80 column boards I recomend leaving this 10 or more because of the length of time it takes to display the whole screen. I like to set mine to 1/2 the screen width. For the Apple II video version this can be as low as one with little apparent delay beacuse of the speed of the screen display routine. ~ 4 - Allows you to change the character code used in the P comment line insert command. 5 - Allows you to change the number of characters in the P comment line insert command. 6 - Shift key Mod flag. Set to 0 if you do not have it, or 1 if you do have it. 7 - Allows you to enable/disable the auto renumber feature. Set to 1 to enable, and 0 to disable. I like to set this to 1, it makes life easier. 8 - Allows you to specify the starting line number for the auto renumber function. Line numbers greater than 9999 are allowed as future Assembler releases will allow up to 65535 as a valid line.number. 9 - Allows you to specify the increment for line numbers for the auto renumber function. 10 - Allows you to change the right margin. This value must not be less than the screen width-l and its maximum is 248. 11 - Allows you to specify the left margin. This should be left to 1 since the W command in the editor can change it during runtime of the editor. 12 - Allows the tab table entries to be changed. By typing a tab number you can delete the tab if it is already in the table. A new entry is inserted into the tab table by typing its value. Type a 0 tab value to return to the normal parameter menu level. -6- --------------------------------------------------------------------- Files provided on the diskette: HELLO - Applesoft boot program. APPLESOFT - Integer boot program. SYSGEN - An Applesoft program which will allow you to configure the editor for your system. ED - An EXEC file to be EXECed from within the language card S-C Macro Assembler to load the screen editor. ASMED - An EXEC file which can load the S-C Macro Assembler and Laumer Reasearch screen editor into your Language card. You should move the file "S-C.ASM.MACRO.LC" from the assembler disk to this disk to be able to use this EXEC file. EDITOR - A binary file created by the SYSGEN program customized to your particular editor configuration. The following files are binary files used by the SYSGEN program for creating a cusomized editor configuration. B.EDITOR - Screen editor without a driver. B.DRIVER.AP2STD - Standard Apple II video driver. B.DRIVER.AP2VIDEX - Videx video driver. B.DRIVER.AP2STB80 - STB80 video driver. The following are S-C Macro Assembler 1.0 source code. S.ACF - Assembly control file for the assembly. S.PART ONE - Entry point, parameters and tables. S.PART TWO - Scroll mode command loop. S.PART THREE - Scroll mode functions. S.EDIT.LINE - Edit mode functions. S.SUBMIT - Submits am edited line into the source code. S.DRIVER.AP2STD - Apple II standard video driver. S.DRIVER.AP2VIDEX - Videx 80 column board video driver. S.DRIVER.AP2STB80 - STB80 80 column board video driver. S.STB80.PATCHES - Patch file for S-C Macro Assembler for the STB 80 column board patches. Read comments in code on how to apply. S.VIDEX.PATCHES - Patch file for S-C Macro Assembler for the VIDEX 80 column board patches. Read comments in code on how to apply. -7- --------------------------------------------------------------------- About the 80 column board patch files. These patches are based on material printed in the Apple Assembley Line by S-C Software Corp. They are similar but have several small problems fixed and more features added. Also you must be aware that certain procedures in using the assembler ~ are different. To leave the assembler with FP, INT or MNTR commands you should first type PR#3 to unhook the assembler from DOS. Then type the command you wish to leave the assembler with. To return to the Assembler from the MNTR command or from using a printer do not use PR#3 to come back. Although at first it appears the Assembler is working, some of the assembler features will not work. Instead use the RESET key to leave the monitor or printer. This will unhook a printer, restart the Assembler and hook the Assembler back into the DOS I/O hooks. If you have an Integer Basic motherboard and want to leave the Language Card Assembler permanently, I would recomend a reboot to leave the Assembler. This is because the Assembler patches $3D1 to fix a problem with the Assembler looking like Applesoft at $EOOO but setting the DOS active Basic flag ($AAB6) to Integer to load and save type I files. Without that patch the DOS INT command would not exit from the Assembler. If you do not reboot then the RESET key will take you back into the Macro assembler in the Language Card. It is possable to set up an EXEC file to load the assembler, screen editor and the 80 column board patches in one continuous operation. Here is a sample EXEC file which can do this. 1000 REM EXEC FILE TO LOAD EVERYTHING. 1010 CALL-151 enter monitor 1020 C081 C081 read ROM, write RAM 1025 F800 D06B D06A --> D06F D073 --> D078 These changes have already been applied to the current disk files "ED 1.1", and "ASMED 1.1". New functions added to the Editor. The keyboard for the Apple II Plus is not the same as that used on other computers such as the Apple IIe and the Franklin Ace computers. Some keys chosen for their convenient fingertip location on the Apple II Plus are not so convenient on other keyboards. Therefore the following editor key functions have been defined as duplicates. Franklin & Apple II Plus Apple IIe Function ------------- --------- --------------------- Shift 2 (") @ long scroll back : ' horizontal scroll left - . horizontal scroll right Note that the key functions ",." have a nice feature in that the shift functions are "<>" on all the keyboards. This jogs your memory about their true function, left and right horizontal scroll. New Files on disk: ED 1.1 - An EXEC file to be EXECed from the 1.1 version of the S-C Macro Assembler which is running in the language card. This EXEC file will load the Full Screen Editor into the unused 4K bank of memory on the language card. ASMED 1.1 - An EXEC file which can load the S-C Macro Assembler version 1.1 and the Full Screen Editor into your language card and start the assembler. You should move the file "S-C.ASM.MACRO.D000" from the Assembler diskette to this Editor diskette to be able to use this EXEC file. There is a BLOAD command in this EXEC file to load the Assembler, the file names must be made to match. B.DRIVER.AP2E - Apple lie 80 column video driver. This is the object file used by the SYSGEN program to build an Apple lie Full Screen Editor version. S.DRIVER.AP2E - Apple lie 80 column board video driver. SYSGEN - This Applesoft program has been updated to allow the new Apple lie driver to be one of the selections on the menu. Note that the Apple IIe driver should only be used with the S-C Macro Assembler version 1.1 for the Apple IIe. The 40 column driver can also be used with the Apple IIe but you must always enter the Editor in 40 column display mode. If you do not have a 80 column card for your Apple IIe then the 40 column driver must be the driver that you use. --------------------------------------------------------------------- -- ---------------------------------------------------------------- Paul Schlyter, Swedish Amateur Astronomer's Society (SAAF) Grev Turegatan 40, S-114 38 Stockholm, SWEDEN e-mail: pausch at saaf dot se or paul.schlyter at ausys dot se WWW: http://hotel04.ausys.se/pausch http://welcome.to/pausch