{"id":93,"date":"2026-04-11T11:15:12","date_gmt":"2026-04-11T11:15:12","guid":{"rendered":"https:\/\/permacomputer.solarpunk.au\/?p=93"},"modified":"2026-04-11T11:17:07","modified_gmt":"2026-04-11T11:17:07","slug":"vic-editype","status":"publish","type":"post","link":"https:\/\/permacomputer.solarpunk.au\/?p=93","title":{"rendered":"VIC EDITYPE"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"a-text-editing-and-storage-program\">A Text Editing And Storage Program<\/h2>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"paul-bishop\">Paul Bishop<\/h2>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"compute-magazine-april-1983-page-50.\">Compute! Magazine, April 1983, page 50.<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>This mini word processor for the VIC lets you cuter, edit, and save text to tape. It works with the VIC 1515 printer and 3K memory expansion.<\/p>\n<\/blockquote>\n\n\n\n<p>If you are at all like me, the minute you saw the VIC-20 sitting there on the showroom table flashing its upper-lowercase mode, you smiled to yourself and said what a wonderful text storage and manipulation device it would make. Wonderful in this context means inexpensive, and Commodore promised us no less in its literature.<\/p>\n\n\n\n<p>This program is a miniature word processor. It will allow the user to input text, edit it (with certain limitations), and save it to tape. The text may be printed on any line length specified, though it will not right justify. The program uses a word wrapping scheme to minimize the VIC\u2019s limited display size and is meant to be used with the VIC 1515 printer and a 3K memory expansion.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"entering-text\">Entering Text<\/h1>\n\n\n\n<p>The program is menu driven, and we will discuss the options in detail. New mode is used for entering text. It is also the mode in which the for matting features are selected. Centering is done by pressing the up-arrow (next to the restore key) at the beginning of the line that is to be centered. Remember to use the carriage return at the end of the line, and note that the line may not exceed the line length you intend to print.<\/p>\n\n\n\n<p>The second function is an inset line length. This is selected by pressing the first bracket (shifted colon) at the start of the text to be inset. All text before the next return character will be printed on the alternate line length, which will be specified during printing. Line numbering is something that I use frequently. It is selected with the second bracket, and the line will be printed with a number (numbered sequentially by the computer) before and after the line. Examples of all the formatting options are represented in the demo text.<\/p>\n\n\n\n<p>Backspacing in the New mode may only be done with the DEL key, and may only continue to the first character of the line on which the cursor rests. Any further <code>DEL<\/code>eting will result in an Illegal Quantity error. If a boo-boo is in an earlier line, it must be corrected in the edit mode. All keys re peat, and the pound symbol (next to <code>CLR HOME<\/code>) is used to return to the menu. Once the menu is chosen, no further text may be entered in the New mode. (This is something the user could change.)<\/p>\n\n\n\n<p>A final note: text entry becomes progressively slower as memory fills, and subsequent printing is also adversely affected by large quantities (relatively speaking) of text. So, although the low memory warning should keep you from over-typing the machine\u2019s capacity, it is best to save the text and then continue when the word-wrap starts to slow down.<\/p>\n\n\n\n<p>Text entered in the New mode can be reviewed and modified in the Edit mode. The mode has three options: Forward, Correct, and Return to Main Menu. The Forward option scrolls through the text one VIC screen line at a time. To make changes in entered text, use the Correct option. You will be given the prompt \u201cerror:\u201d, at which point you enter the characters you wish to change as they appear in the text. End your entry with the up-arrow (t) key, not the <code>RETURN<\/code> key. The next prompt is \u201ccorrection:\u201d. Enter the text as you wish it to appear in the corrected version. Again follow your input with the up-arrow key rather than <code>RETURN<\/code>. The computer will then search the text for the \u201cerror\u201d and replace it with the \u201ccorrection.\u201d If the search characters are not found in the text, the program will provide an error message.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"saving-and-printing\">Saving And Printing<\/h1>\n\n\n\n<p>The save mode is straightforward in operation: simply press the S key and <code>RETURN<\/code> and the text will be stored under the title you entered in the New mode. Load is just like it. If you include a file name, the cassette drive will search for that file; otherwise it will load the first file it comes to. The Load and Print mode is for files too long to be contained in memory and is fairly automatic. You simply set the formatting in the print mode, and let the computer do the rest.<\/p>\n\n\n\n<p>The Print mode is also straightforward. First it asks for the normal line length. This may be any value up to 80, but between 40 and 70 are recommended. Next you are asked for the inset line length. Again, this should be between 40 and 70. Next you are asked for s for single or d for double spacing. Finally, the computer asks for the number at which it will begin the sequential line numbering. This may be set at any value, but usually will be one.<\/p>\n\n\n\n<p>Obviously, this program will not meet every one\u2019s writing needs. I am looking forward to further memory expansion which will allow me to implement further editing functions, as well as longer text entry. And you may wish to delete functions which you will not use and add others. That is the beauty of a word processor written in BASIC.<\/p>\n\n\n\n<p>Before we consider the program in detail, a few comments about operation will be in order here. First, the cursor does not function as well as it should. I am searching for a cure. In the mean time, if you find it more distracting than helpful, you may get rid of it by deleting <code>POKE 204,0<\/code> from line 120. Also, from time to time, errors will hap pen which will cause the machine to default to BASIC. This is no cause for alarm. A few moments studying the program listing and a <code>GOTO<\/code> in the immediate mode will get you out of all but the worst spots. If in doubt, <code>GOTO 51<\/code> (the menu).<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"program-structure\">Program Structure<\/h1>\n\n\n\n<p>Since I have included no documentation in the body of the program, I will list the various parts of it here. You will want to keep this handy for reference, since every <code>REM<\/code> you add will cost you valuable memory space.<\/p>\n\n\n\n<p>Line 42 is initial housekeeping, setting variables and <code>DIM<\/code>ing the text string array.<\/p>\n\n\n\n<p>Lines 51-67 are the menu.<\/p>\n\n\n\n<p>Lines 100-280 are the text entry and word wrapping routine, including the delete routine in line 200.<\/p>\n\n\n\n<p>Lines 3000-3350 are the string search and replace, the \u201cEdit Mode\u201d.<\/p>\n\n\n\n<p>Lines 3800-4710 are the print routine. Lines 4060-4095 are for getting a string of printing length. Lines 4200-4240 are used in the centering function. 4300-4710 are for tidying up the print strings and sending them to the printer.<\/p>\n\n\n\n<p>Lines 5000-5080 are the load routine.<\/p>\n\n\n\n<p>Lines 6000-6080 are for saving text.<\/p>\n\n\n\n<p>Lines 7000-7009 are for the page numbering function.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"variable-list\">Variable List<\/h1>\n\n\n\n<p><code>A$<\/code> is the actual text string (1 to 200).<\/p>\n\n\n\n<p><code>C$<\/code> is the get character string in the new mode.<\/p>\n\n\n\n<p><code>C4$<\/code> is the error string in the edit mode.<\/p>\n\n\n\n<p><code>C5$<\/code> is the correction string in the edit mode.<\/p>\n\n\n\n<p><code>C6$<\/code> is the right remainder of the string being searched for the error in the edit mode.<\/p>\n\n\n\n<p><code>DE$<\/code> is the string of the variable <code>SL<\/code>.<\/p>\n\n\n\n<p><code>J$<\/code> is the get character string for the correction string in edit mode.<\/p>\n\n\n\n<p><code>M$<\/code> is the string for the mode selection in the menu.<\/p>\n\n\n\n<p><code>P$<\/code> is the print string.<\/p>\n\n\n\n<p><code>T1$<\/code> is the leftover from <code>P$<\/code> after searching for a space at the end of the line.<\/p>\n\n\n\n<p><code>W$<\/code> is the get string in the edit mode.<\/p>\n\n\n\n<p><code>T2$<\/code> is the working string of <code>AS<\/code> in the print mode.<\/p>\n\n\n\n<p><code>X$<\/code> is the working character in getting an 80-character line for <code>PS<\/code>.<\/p>\n\n\n\n<p><code>Z$<\/code> is the get string for the load mode.<\/p>\n\n\n\n<p><code>LA<\/code> is the normal line length.<\/p>\n\n\n\n<p><code>LB<\/code> is the inset line length.<\/p>\n\n\n\n<p><code>LC<\/code> is the line count.<\/p>\n\n\n\n<p><code>PC<\/code> is the page count.<\/p>\n\n\n\n<p><code>SL<\/code> is the line numbering counter.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"771\" height=\"1024\" src=\"https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-01-1-771x1024.jpeg\" alt=\"\" class=\"wp-image-100\" srcset=\"https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-01-1-771x1024.jpeg 771w, https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-01-1-226x300.jpeg 226w, https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-01-1-768x1020.jpeg 768w, https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-01-1-1157x1536.jpeg 1157w, https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-01-1-1543x2048.jpeg 1543w, https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-01-1.jpeg 1609w\" sizes=\"auto, (max-width: 771px) 100vw, 771px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"770\" height=\"1024\" src=\"https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-02-770x1024.jpeg\" alt=\"\" class=\"wp-image-95\" srcset=\"https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-02-770x1024.jpeg 770w, https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-02-226x300.jpeg 226w, https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-02-768x1021.jpeg 768w, https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-02-1155x1536.jpeg 1155w, https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-02-1541x2048.jpeg 1541w, https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-02.jpeg 1606w\" sizes=\"auto, (max-width: 770px) 100vw, 770px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"771\" height=\"1024\" src=\"https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-03-771x1024.jpeg\" alt=\"\" class=\"wp-image-96\" srcset=\"https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-03-771x1024.jpeg 771w, https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-03-226x300.jpeg 226w, https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-03-768x1020.jpeg 768w, https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-03-1157x1536.jpeg 1157w, https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-03-1542x2048.jpeg 1542w, https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-03.jpeg 1604w\" sizes=\"auto, (max-width: 771px) 100vw, 771px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"774\" height=\"1024\" src=\"https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-04-774x1024.jpeg\" alt=\"\" class=\"wp-image-97\" srcset=\"https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-04-774x1024.jpeg 774w, https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-04-227x300.jpeg 227w, https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-04-768x1016.jpeg 768w, https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-04-1161x1536.jpeg 1161w, https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-04-1548x2048.jpeg 1548w, https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-04.jpeg 1607w\" sizes=\"auto, (max-width: 774px) 100vw, 774px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Code Listing<\/h1>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>42 PC=1:LC=1:F=0:PRINT CHR$(14): DIM A$(200):PRINT \"{CLEAR}\":POKE 650,128\n51 M$=\"\"\n53 PRINT \"{CLEAR}   MODE SELECTION\":PRINT:PRINT:PRINT\"LP=LOAD AND PRINT\":PRINT\n55 PRINT \"N=NEW\":PRINT:PRINT\"E=EDIT\":PRINT:PRINT\"P=PRINT\"\n58 PRINT:PRINT \"S=SAVE\":PRINT:PRINT \"L=LOAD\":PRINT:PRINT \"C=CONTINUE\"\n60 PRINT:INPUT \"SELECT MODE: \"; M$\n61 IF M$=\"E\" THEN 3010\n62 IF M$=\"P\" THEN 3800\n63 IF M$=\"N\" THEN 100\n64 IF M$=\"L\" THEN 5000\n65 IF M$=\"S\" THEN 6000\n66 IF M$=\"LP\" THEN 3800\n67 IF M$=\"C\" THEN FOR B=1 TO K-1:PRINT A$(B):NEXT B PRINT A$(K);:GOTO 120\n68 GOTO 51\n100 FOR A=1 TO 200:A$(A)=\"\":NEXT A\n103 INPUT \"TYPE FILE NAME\";V$\n105 PRINT \"{CLEAR}       NEW MODE\":K=1\n120 POKE 204,0:POKE 207,0:GET C$:IF C$=\"\" THEN 120:POKE 204:2\n130 IF C$=\"{DOWN}\" THEN 120\n140 IF C$=\"{UP}\" THEN 120\n150 IF C$=\"{RIGHT}\"  THEN 120\n160 IF C$=\"{LEFT}\"  THEN 120\n170 IF C$=\"@\" THEN 51\n171 IF C$=\"{HOME}\" THEN 120\n172 IF C$=\"{CLEAR}\" THEN 120\n175 IF C$=CHR$(20) AND LEN(A$(K))=0 THEN 120\n180 PRINT C$;    \n190 IF C$=CHR$(13) THEN K=K+1:A$(K)=A$(K)+C$:GOTO 120\n200 IF C$=CHR$(20) THEN A$(K)=LEFT$(A$(K),LEN(A$(K))-1):GOTO 120\n210 A$(K)=A$(K)+C$:C$=\"\":IF LEN(A$(K))&lt;22 THEN 120\n220 IF RIGHT$(A$(K),1)=CHR$(32) THEN 240\n221 IF RIGHT$(A$(K),1)=CHR$(160) THEN 240\n230 A$(K+1)=RIGHT$(A$(K),1)+A$(K+1):A$(K)=LEFT$(A$(K),LEN(A$(K))-1):GOTO 220\n240 FOR U=1 TO 22-LEN(A$(K)):PRINT CHR$(20);:NEXT U\n250 IF LEN(A$(K))&lt;11 THEN PRINT,,\n260 IF LEN(A$(K))>10 THEN PRINT,\n264 IF A$(K)=\"\" THEN A$(K)=\" \"\n265 IF FRE(O)&lt;600 THEN PRINT \"{REV}MEMORY LOW{OFF}\":PRINT\n266 IF FRE(O)&lt;500 THEN 51\n270 K=K=1:PRINT A$(K);:GOTO 120\n280 GOTO 51\n3010 C4$=\"\":C5$=\"\"\n3015 PRINT \"{CLEAR}     EDIT MODE\":Q=1\n3025 PRINT:PRINT \"F=FORWARD\":PRINT \"@=RETURN TO MENU\":PRINT \"C=CORRECT\"\n3016 PRINT \"SELECTION? \"\n3030 GET W$:IF W$=\"\" THEN 3030\n3040 IF W$=\"F\" THEN PRINT A$(Q):Q=Q+1:IF Q>199 THEN 51:GOTO 3030\n3055 IF W$=\"@\" THEN 51\n3066 IF W$=\"C\" THEN 3200\n3061 GOTO 3030\n3200 PRINT \"ERROR:\"\n3210 FOR A=1 TO 80\n3220     GET J$:IF J$=\"\" THEN 3220\n3225     IF J$=\"{UP}\" THEN 3250\n3226     IF J$=CHR$(20) THEN C4$=LEFT$(C4$,LEN(C4$)-1):GOTO 3235\n3230     C4$=C$+J$\n3235     PRINT J$\n3240 NEXT A\n3250 PRINT:PRINT \"CORRECTION: \"\n3260 FOR A=1 TO 80\n3270     GET J$:IF J$=\"\" THEN 3270\n3280     IF J$=\"{UP}\" THEN 3310\n3281     IF J$=CHR$(20) THEN C5$=LEFT$(C5$,LEN(C5$)-1):GOTO 3290\n3285     C5$=C5$+J$\n3290     PRINT J$;\n3300 NEXT A\n3310 PRINT \"{CLEAR}   {REV}CORRECTING{OFF}\"\n3320 FOR A=1 TO 200\n3325     FOR B=1 TO LEN (A$(A))\n3327         O=LEN(C4$)\n3329         IF MID$(A$(A),B,O)=C4$ THEN OO=LEN(A$(A))-B+1-LEN(C4$)\n3330         IF MID$(A$(A),B,O)=C4$ THEN C6$=RIGHT$(A$(A),OO)\n3340         IF MID$(A$(A),B,O)=C4$ THEN A$(A)=LEFT$(A$(A),B-1):GOTO 3344\n3341         GOTO 3346\n3344         A$(A)=A$(A)+C5$+C6$:C4$=\"\":C5$=\"\"\n3345         PRINT \"{CLEAR}\":FOR H=1 TO A:PRINT A$(H):NEXT H:Q=H::GOTO 3025\n3346     NEXT B\n3347 NEXT A\n3348 PRINT \"{CLEAR}{RED}{REV}ERROR NOT FOUND{BLU}{OFF}\":PRINT:GOTO 3025\n3350 GOTO 3010\n3800 PRINT:INPUT \"NORMAL LINE LENGTH\"; LA\n3810 PRINT:INPUT \"INSET LINE LENGTH\"; LB\n3903 PRINT \"SINGLE OR DOUBLE      SPACE? S\/D\"\n3904 INPUT SD$\n3905 INPUT \"LINE NUMBERING #\"; SL\n4000 T1$=\"\":N=1:LL=LA\n4002 OPEN 4,4\n4003 T$=\"\":T2$=\"\":P$=\"\":LC=1\n4010 PRINT #4:PRINT #4:PRINT #4\n4016 LC=3\n4040 CLOSE 4,4\n4050 IF A$(N)=\"\" AND M$=\"LP\" THEN 5002\n4051 IF A$(N)=\"\" THEN 4600\n4059 T2$=A$(N)\n4060 FOR A=1 TO LL-LEN(P$)\n4061     T2$=\"\" THEN 4094\n4065     X$=LEFT$(T2$,1):T2$=RIGHT$(T2$,LEN(T2$)-1)\n4075     IF X$=\"&#91;\" THEN LL=LB:GOTO 4060\n4076     IF X$=\"]\" THEN FL=1:GOTO 4060\n4080     IF X$=\"{UP}\" THEN 4200\n4085     IF X$=CHR$(13) THEN 4660\n4090     P$=P$+X$\n4094     IF LEN(T2$)=0 THEN N=N+1:GOTO 4050\n4095 NEXT A\n4100 GOTO 4610\n4200 FOR A=1 TO LA\n4210     X$=LEFT$(T2$,1):T2$=RIGHT$(T2$,LEN(T2$)-1)\n4211     IF LEN(T2$)=0 THEN N=N+1:T2$=A$(N)\n4214     IF A$(N)=\"\" AND LEN (T2$)=0 THEN P$=X$:GOTO 4660\n4220     IF X$=CHR$(13) THEN 4300\n4230     P$=P$+X$\n4240 NEXT A\n4300 IN=(80-LEN(P$))\/2:GOTO 4670\n4620 IF RIGHT$(P$,1)=CHR$(32) THEN 4660\n4622 IF RIGHT$(P$,1)=CHR$(160) THEN 4660\n4630 T1$=RIGHT$(P$,1)+T1$:P$=LEFT$(P$,LEN(P$)-1)\n4640 NEXT A\n4660 IF LEFT$(P$,1)=CHR$(32) THEN P$=RIGHT(P$,LEN(P$)-1)\n4661 IF LEFT$(P$,1)=CHR$(160) THEN P$=RIGHT$(P$,LEN(P$)-1)\n4662 PRINT P$\n4665 IN=(80-LL)\/2\n4666 DE$=STR$(SL):IF FL=1 THEN OPEN 4,4\n4667 IF FL=1 THEN PRINT #4,CHR$(17)DE$\".\"SPC(IN-LEN(DE$)-1)P$SPC(75-LEN(P$)-IN)DE$\".\"\n4668 IF FL=1 THEN CLOSE 4:LC=LC+1:SL=SL+1:P$=\"\":FL=0:P$=T1$:T1$=\"\":GOTO 4680\n4670 OPEN 4,4:PRINT #4,CHR$(17)SPC(IN)P$:CLOSE 4,4:P$=\"\":P$=T1$:T1$=\"\":LC=LC+1\n4680 IF SD$=\"D\" THEN OPEN 4,4:PRINT #4:CLOSE 4:LC=LC+1\n4690 IF LC>60 THEN 7000\n4700 IF X$=CHR$(13) THEN LL=LA\n4701 IF A$(N)=\"\" AND M$=\"LP\" THEN P$=P$+X$:GOTO 5002\n4705 IF A$(N) \"\" THEN 51\n4710 GOTO 4060\n5000 INPUT \"TYPE FILE NAME\"; V$\n5002 FOR A=1 TO 200:A$(A)=\"\":NEXT A\n5005 PRINT \"{CLEAR}      LOAD MODE\"\n5010 OPEN 1,1,0,V$\n5015 PRINT \"FILE OPEN, LOADING.\"\n5020 FOR A=1 TO 200\n5025     FOR B=1 TO 22\n5030         GET #1,Z$\n5031         A$(A)=A$(A)+Z$\n5040         IF Z$=\"\" THEN 5065\n5042     NEXT B\n5050 NEXT A\n5065 CLOSE 1:N=1\n5070 IF M$=\"LP\" THEN N=1:GOTO 4050\n5080 GOTO 51\n6000 PRINT \"{CLEAR}SAVE MODE\"\n6010 OPEN 1,1,1,V$\n6030 FOR A=1 TO 200\n6040     PRINT #1,A$(A);\n6050     IF A$(A)=\"\" THEN 6075\n6060 NEXT A\n6075 CLOSE 1\n6080 GOTO 51\n7000 OPEN 4,4\n7001 FOR M=1 TO 66-LC\n7002     PRINT #4\n7003 NEXT M\n7004 PRINT #4:PC=PC+1\n7005 PRINT #4,CHR$(17)SPC(70)\"PAGE \"PC\n7006 PRINT #4\n7007 CLOSE 4\n7008 LC=3\n7009 GOTO 4060<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>A Text Editing And Storage Program Paul Bishop Compute! Magazine, April 1983, page 50. This mini word processor for the VIC lets you cuter, edit, and save text to tape. It works with the VIC 1515 printer and 3K memory expansion. If you are at all like me, the minute you saw the VIC-20 sitting [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":94,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[9,18],"tags":[17,19],"class_list":["post-93","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-archeology","category-basic-text-editors","tag-retrocomputing","tag-vic-20"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/permacomputer.solarpunk.au\/wp-content\/uploads\/2026\/04\/editype-page-01.jpeg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/permacomputer.solarpunk.au\/index.php?rest_route=\/wp\/v2\/posts\/93","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/permacomputer.solarpunk.au\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/permacomputer.solarpunk.au\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/permacomputer.solarpunk.au\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/permacomputer.solarpunk.au\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=93"}],"version-history":[{"count":6,"href":"https:\/\/permacomputer.solarpunk.au\/index.php?rest_route=\/wp\/v2\/posts\/93\/revisions"}],"predecessor-version":[{"id":104,"href":"https:\/\/permacomputer.solarpunk.au\/index.php?rest_route=\/wp\/v2\/posts\/93\/revisions\/104"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/permacomputer.solarpunk.au\/index.php?rest_route=\/wp\/v2\/media\/94"}],"wp:attachment":[{"href":"https:\/\/permacomputer.solarpunk.au\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=93"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/permacomputer.solarpunk.au\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=93"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/permacomputer.solarpunk.au\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=93"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}