L%hh LHH` X% " ӠӠΠǠ ˮԠˠǠӬĠӠ٠٠ϠŮ+JJJJ ,,,L Lک ٥ҥ>ӥ? ( ㆭ  ؆` | A""""""QQQYV <"<Q '(h((QQQ`@GHOHO $"!$q}T@` `@@``p0 8p@@`00 |0@` `pppPox`D3 < p?|@@@|@`f ppn|>0p  qcs6<, 3['Nxxxpp0` ```@vl  ?`@:3q  AcqcCyO@  0p`@@q @p?|`3cC ? ?>|xp`p`@Acwsssssss__????????~^^ ?~~~~~~~?>~||xpp`@~| xyy{~|@`pp xpp`@yyyyyyyx~ ~x`|xpxqa` cqx|||||||cCC?>>>??<<|||~?`ppxx||<||xxpp`|||||||| |?|p`@@@@`p|? OOGgccqpxsssssssppxxx|<<~?>~||xxxxppp```@@@`?~|x|~|||||||p@@p|~><|xp`@>|x|xpx}yyyyyyyAA?~|xpp`ppx|~? ?? 33@``@@glloLL LlOgloloG @`@glolo@@gLLL GaamGGlg`GGlg`G  xL| x@@xMLLxMyyM MyxAxMx|Yq @lllLglllgG LlL`@GLOLo033366m~0>3>33~G<`G}rccb``acccq{{{{8008????~ |lL COoooog CgoooocCFFLLXXPpqa88`}}}}>????~ | ~FCCFL ____|GG|GGccp{{{{ ;1q``qp`aas{{{{8008 0y| |}}}}AAQg((h' $C@0j ed`y < I1@@q q s8EE9EE8> ` `$DC0ANPQN@'h(' WPG((H@stq q8AyEx:NPQ@GhHHG#$p# @ (*Y9AyEy: QQQO~C%%C~_DDD qAAAaq9`ppxxx|xxx|AsGN8088 CcˆʎõĵL õ ĵµ aµ`` L̦µ_bJLuLz`  ȟ QlXJ̥KlV  ȟ QlV eօ3L e3L &RL &QL d L4 Ne)n `@-eff L f`L . tQLѤ LҦL` OPu d L Ne)noon 8ɍ` ^f\õL ^NR  RΩLҦ)\Z ʽ LHv 3h`0h8` [L NС õ`A@` ŵL^L iõ`  \ 濭0 \  ȟ Q ^\lZl^?cqH şch`fhjõĵ@OAP`u@`@&`QR`E Ls  @DAE@u`8` %@ @A@`@`@A`Mµ ) LЦ`8@AWc@8@-@HAȑ@hHȑ@ȑ@hHȑ@Ȋ@ch8&ȑ@Hȑ@Ah@LHȑ@ȑ@ htphso`hMhL`9V8U897T6S67`INILOASAVRUCHAIDELETLOCUNLOCCLOSREAEXEWRITPOSITIOOPEAPPENRENAMCATALOMONOMOPRINMAXFILEFINBSAVBLOABRUVERIF!pppp p p p p`" t""#x"p0p@p@@@p@!y q q p@  LANGUAGE NOT AVAILABLRANGE ERROWRITE PROTECTEEND OF DATFILE NOT FOUNVOLUME MISMATCI/O ERRODISK FULFILE LOCKESYNTAX ERRONO BUFFERS AVAILABLFILE TYPE MISMATCPROGRAM TOO LARGNOT DIRECT COMMANč$3>L[dmx- ( t Ϡ@跻~!Wo*9~~~~ɬƬ~_ j ʪHɪH`Lc (L ܫ㵮赎 ɱ^_ J QL_Ls贩紎 DǴҵԵƴѵӵµȴ 7 ַ :ŵƴѵǴҵȴµ納贍﵎ٵ്ᵭⳍڵL^ѵ-I `  4 ò-յ!  8صٵ紭ﵝ 7L (0+BC  7L HH`LgL{0 HH` õL H hBL BH [ h`Lo õ ڬL B ڬ LʬH hB@ յյ [L (ȴ) ȴ 7L L ( L (ȴL{ƴѵ洩ƴǴҵ 7 ^* B0 HȱBh ӵԵ 8 L8 ݲ` ܫ  / / ED B / / ]ƴS0Jȴ ȴ)  紅D贅E B ƴ  / 0L Ν `HD٤DEEhiHLGh ` ŵBѵ-` ѵB-` ܫ XI볩쳢8 DH E𳈈췍Ȍ X0 · JLǵBȵC`,յp` 䯩 R-յյ`յ0` K R-յյ`ɵʵӵԵ` 4 K ( ѵҵLBȱBL8` DBHBH : ַ޵BȭߵBhhӵԵ RBܵmڵ޵ȱBݵm۵ߵ` 䯩LR˵̵ֵ׵`êĪLR E( 8` R` ELRŪƪ`췌 յյI뷭鷭귭ⵍ㵍跬ª 뷰` Lf ݵܵߵ޵ ^`8ܵ i B8` 4L ֵȱB׵ ܯ䵍൭嵍 ` DȑB׵Bֵ  ַ յյ`굎뵎쵬 뵎쵌``õĵBCõĵ`µµ`L õBĵCصص Qƴ0"Bƴ 󮜳` 0۰ϬBƴ8`i#`ЗLw!0>ﵭ` m ﳐ 7i볍 8 ЉLw`H h ݲL~ `浍국䵍뵩嵠Jm赍嵊mjnnn浈m浍浭m䵍䵐`"L ŵ8ŵH ~(` d ֠z# u` * * CENTER-OUT( * WIPE0 *cI1324:1:I:868:25I:868:J170:::k *| * DIAGONAL * MESSAGE *X10(A$)10X5:X3:(A$,X9,1)X * * BUZZ SOUND * (MAKE LONGER  * RIGHT-TO-LEFT# * WIPE+ *OI3801:32,I:33,40I:::W *k * PRINT EACH  * CHARACTER OF * STRING WITH CLICK *P1(CHAR$)(CHAR$,P,1);SOUND(A)(A)(A)Y160:ND(A)(A)(A)(A)(A):"=";:Y140:Y:X:9= *Q> * PRINT AND ERASEd? * STRINGS ONv@ * SAME LINE~A *FC(40(A$))2:D(A$)CPC:A$;ZD1dW1500:WnT(A$)11x" ";DD1:D1T *INUE' LINE! *A(23:"PRESS ANY KEY TO CONTINUE > ";:R$:I) *c* * SLOW LINE-BY-LINEs+ * SCROLL , * WITH CLICKS- *2X125:SOUND(A)(A)(A)(A)(A)::Y180:Y:X:3 *4 * '=' BORDER5 *1<X140:SOU0:120  * * * PRINT DOUBLE9 * BORDERA *k N120:"* ";:N:N120:" *";:N:s  *  * CENTER STRING  * ON SCREEN *20((A$)2):A$: * * WAIT *W1800:W: *   * 'CONT"7A$"YOUR OWN VARIATIONS AND ORIGINAL IDEAS":1580b"TO KEEP THE TEXT MOVING. THERE'S NO"A$"EXCUSE FOR PAGES OF DULL TEXT!":1580255:1310:"LET'S HEAR IT FOR SOFTDISK AND THE PROLIFERATION OF OPEN SOFTWARE!!"1310:131 AWAY CAN BE A DYNAMIC PART OF THE PROGRAM RATHER THAN THE NON-EVENT IT USUALLY IS...g1320:8000p:6100:"BY USING A BASIC KNOWLEDGE OF APPLESOFT"A$"AND PERHAPS SOME OF THE ROUTINES IN":1580"THIS LISTING, YOU CAN COME UP WITHDATA-PAC"::1700::1310!13WA$"(FREE PAPERCLIP WITH EVERY DISK)":1700:1310180:15:"GREAT FOR TITLES OR SPECIAL NOTICES...":1310W"SO FILLING THE SCREEN WITH TEXT CAN BE DONE IN MANY INTERESTING WAYS, AND CLEARING IT ALLIT TO INPUT STRING AND DISPLAY IT./D(Z$Z$A$8D-A$;\D/ GO TO NEXT CHARACTER POSITIONvD2II1:IMLI1:JJ1D7 THEN GO FOR ANOTHER CHARACTERD 127, an ONER 'IOREST' routine, restores all registers. This routine loads the registers from locations $45 to $49 (69 TO 73).H$FF3A:198: 'BELL' routine. Sends a BELL (CTRL-G) to the current output device. H$C9$CD: Random number.)H$Dter. H$FF4A:182: IOSAVE routine, saves all registers. The regi- sters are saved at locations $45 to $49 (69 to 73) in order of A-X-Y-P-S. H$B8$B9: Pointer to last character obtained through the CHRGET routine.uH$FF3F:931: commands. See 1013 and 1014. QH$AC$AE: General usage flags/pointers.H$AF$B0: Pointer to end of program. Not changed by LOMEM.H$B1$C8: CHRGET routine (CHaRacter GET). APPLESOFT calls here everytime it wants another charace cursor prompt character is '*'.RH$9D$A3: Maim Floating Point Accumulator.H$A4: General use in Floating Point math routines.H$A5$AB: Secondary Floating Point Accumularoy.#H$FF58: Address of subroutine which normally handles '&' *"7 * OPENING WINDOW'"8 * WIPE/"9 *x"@I112:34,12I:35,12I:33,43I:32,242I:936:W118:W:I:A:783,76:784,0:785,3:786,96$!,! *@! * STRING PULLY! * FROM CENTER LINEa! *m!V(37)!S$"":X120(A$)2:S$S$" ":!A$S$A$S$:(A$)2((A$)2)A$A$" "!X120:PR$(A$,X)(A$,X):V:21X:PR$:X:1310:"6 N *P TX16:11::CHAR$:11::CHAR$:X:11:Y1(CHAR$):" ";:Y:255V ^^ h *r r * POKE SOUNDz | * 768,173:769,48:770,192:771,136:772,208:773,4:774,198:775,7:776,240:777,8!778,202:779,208:780,246:781,166:782,6OR * SHORTER LOOP TO2 * CHANGE SOUND): *`"S120:SOUND(A)(A)(A):S:h# *~$ * PRINT STRING % * BACKWARDS& *,C(A$)116C:(A$,C,1);@CJ:K *L * CHASING SIGN M * INVERSE/NORMALSlot #3. 62|H$47C: Scratchpad byte for Slot #4. e2}H$47D: Scratchpad byte for Slot #5. 2~H$47E: Scratchpad byte for Slot #6. 2H$47F: Scratchpad byte for Slot #7. |3H$FB1E:1250: 'PREAD' routine, read a Game Controller. Pa Page 1 of LO-RES GRaphics or text.1#H$FBDD:1059: 'BELL1' routine. Beeps the APPLE's speaker for .1 second at 1KHZ. 1yH$479: Scratchpad byte for Slot #1. 1zH$47A: Scratchpad byte for Slot #2. 2{H$47B: Scratchpad byte for he routine for handling non-mask- able interrupts.0H$3FC$3FD: Address of routine for handling non-maskable inter- rupts. 0H$3FE$3FF: Holds address of the subroutine which handles inter- rupt requests (IRQ).#1H$400$7FF: Should contain a JMP, and the address of the USER program. /H$3F9$3FA: Address of routine to handle USER (CTRL-Y) commands.60H$3FB: Address executed when a non-maskable interrupt occurs. It should contain a JMP, and the address of tine which handles APPLESOFT II '&' commands. Normally $4C 58 FF. .H$3F6$3F7: Address of the subroutine which handles APPLESOFT II '&' commands. Normally $58 FF.@/H$3F8: Address executed when user (CTRL-Y) command is encountered. determine whether to do cold or warm start. If soft entry vector is changed (See 1010) this byte must be reset. CALL -1169 ($FB6F) will do reset. See Page 37 of APPLE II REFERENCE MANUAL.K.H$3F5$3F7: Holds a jump instruction to the subroutch handles machine language 'BRK' requests. Normally $FA59. ,H$3F2: Soft entry vector. Contains the address of the reentry point for language currently in use. Normally contains $E003 for AUTOSTART ROM.-H$3F4: Power-up Byte. Used toMonitor.+H$3D9: Starting address of RWTS subroutine in DOS. When entered, A + Y registers must contain address of IOB. +H$3EA:1002: Reconnects DOS after it has been disconnected.D,H$3F0$3F1: Holds the address of the subroutine whiE' or ESC-@. *H$FC42:958: Clears all characters inside the text window from the current cursor position to the bottom margin. Equivalent to ESC-F. (Same as ERASE EOF.) +H$3D0: Address of routine to return control to BASIC from affected. N)H$FC66:922: Issues a line feed. Equivalent to CTRL-J.*H$FC58:936: Clears all characters inside the text window, and moves the cursor to the top left position within the text window. Equi- valent to the command 'HOM2*(26 + 27A + 5A^2) microseconds. (dH$FC9C:868: Clears current line from cursor to right margin Equivalent to ESC-E. )H$FC70:912: Scrolls text up one line. Bottom line is now blank. Characters outside text window are notaces flashing cursor on screen at position of output cursor and jumps to input subroutine (Address at $38-$39), usually KEYIN.,(XH$FCA8:856: 'WAIT' routine, delays for a specific amount of time then returns. With A in Accumulator, wait is 1/utine reads APPLE keyboard, waits for keypress, then removes flashing cursor and returns with key code in Ac- cumulator. Updates random number (See 78).'H$FD0C:756: 'RDKEY' routine, get an input character. Stand- ard input routine. Plsues a Carriage Return before falling into GETLN.%H$FD35:715: 'RDCHAR' routine, get an input character or ESCape code. Alternate subroutine which gets characters, but also interprets the eleven escape codes.&H$FD1B:741: 'KEYIN' roith a prompt. Before CALLing GETLN, a prompt character can be POKEd to 51 ($33). DATA is returned starting at 512 ($200), and length is in register X. 1%H$FD67:665: 'GETLNZ' routine. Alternate entry point for GETLN (See 662) which isROUT (See 626).#H$FD6F:657: 'GETLN1' routine, GET an input LiNe, no prompt. GETLN1 is an alternate entry point for GETLN which does not issue a prompt before it gathers the input line. $H$FD6A:662: 'GETLN' routine, GET input LiNe w card currently active. EBH$7F9: Scratchpad byte for Slot #1.oBH$7FA: Scratchpad byte for Slot #2.BH$7FB: Scratchpad byte for Slot #3.BH$7FC: Scratchpad byte for Slot #4.BH$7FD: Scratchpad byte for Slot #5.CH$7FE: ScratO-RES screen. The vertical coordinate is the A Register, leftmost horiz- ontal coordinate in the Y Register, and rightmost coordinate at 44 ($2C).BH$7F8: Holds the Slot number (in the format $CN where N is the Slot number) of the peripheralne, draws a Vertical LINE of blocks on the LO-RES screen. The horizontal coordinate is the Y Register, the topmost coordinate the A Register, and the bottom is 45 ($2D).AH$F819:2023: 'HLINE' routine draws a Horizontal LINE on Lks of LO-RES GRaphics) to reversed @. In LO-RES GR- aphics, this is a black screen.?H$F832:1998: 'CLRSCR' routine, CLeaRS the entire TEXT Page 1 to reverse @. In LO-RES GRaphics, this is a black screen.@H$F828:2008: 'VLINE' routi 'SETCOL' routine, SET LO-RES GRaphics COLOR. This routine sets the COLOR used for PLOTting on the LO-RES screen to the COLOR passed in the A Register.Z?H$F836:1994: 'CLRTOP' routine. This routine clears the up- per 20 lines (40 bloc- ed the same as 'PLOT' (See 2048). Returns the COLOR of the block in the Accumulator. =H$F8F5:1943: 'NEXTCOL' routine, increment COLOR by 3. This routine adds 3 to the current COLOR used for LO-RES GRaphics.>H$F864:1948:hpad byte for Slot #3.@<|H$77C: Scratchpad byte for Slot #4.j<}H$77D: Scratchpad byte for Slot #5.<~H$77E: Scratchpad byte for Slot #6.<H$77F: Scratchpad byte for Slot #7.g=H$F871:1935: 'SCRN' routine reads the LO-RES SCReeN. CALLratchpad byte for Slot #4.D;H$6FD: Scratchpad byte for Slot #5.n;H$6FE: Scratchpad byte for Slot #6.;H$6FF: Scratchpad byte for Slot #7.;yH$779: Scratchpad byte for Slot #1.;zH$77A: Scratchpad byte for Slot #2.<{H$77B: ScratcX' routine, PRINT A and X in HEX. It prints the contents of the A and X Regsiters as a four digit hex value.:H$6F9: Scratchpad byte for Slot #1.:H$6FA: Scratchpad byte for Slot #2.:H$6FB: Scratchpad byte for Slot #3.;H$6FC: ScHFD4A:1718: 'PRBL2' routine, PRints many BLank spaces. It prints 1 to 256 blanks, based on number in X Register. If X = $00, PRBL2 will output 256 blanks.9H$FD48:1720: 'PRBLNK' routine, prints 3 spaces.r:H$F941:1727: 'PRINTA*8zH$67A: Scratchpad byte for Slot #2.T8{H$67B: Scratchpad byte for Slot #3.~8|H$67C: Scratchpad byte for Slot #4.8}H$67D: Scratchpad byte for Slot #5.8~H$67E: Scratchpad byte for Slot #6.8H$67F: Scratchpad byte for Slot #7.9#2..7H$5FB: Scratchpad byte for Slot #3. X7H$5FC: Scratchpad byte for Slot #4.7H$5FD: Scratchpad byte for Slot #5.7H$5FE: Scratchpad byte for Slot #6.7H$5FF: Scratchpad byte for Slot #7.8yH$679: Scratchpad byte for Slot #1.language 'BRK' requests.6H$5F8: Holds the Slot number of the Disk Controller card from which any active DOS was booted. (Format = $CN where N is Slot Number?)6H$5F9: Scratchpad byte for Slot #1.7H$5FA: Scratchpad byte for Slot B: Scratchpad byte for Slot #3.J5|H$57C: Scratchpad byte for Slot #4.t5}H$57D: Scratchpad byte for Slot #5.5~H$57E: Scratchpad byte for Slot #6.5H$57F: Scratchpad byte for Slot #7.6H$FA59:1447: 'OLDBRK' routine, handles machine $4FC: Scratchpad byte for Slot #4.N4H$4FD: Scratchpad byte for Slot #5.x4H$4FE: Scratchpad byte for Slot #6.4H$4FF: Scratchpad byte for Slot #7.4yH$579: Scratchpad byte for Slot #1.4zH$57A: Scratchpad byte for Slot #2. 5{H$57ss PREAD the number of the Controller (0 to 3) in the X Register. It returns a number from $00 to $FF in Register Y.3H$4F9: Scratchpad byte for Slot #1.3H$4FA: Scratchpad byte for Slot #2.3H$4FB: Scratchpad byte for Slot #3.$4Heads keyboard. If X>127 then key has been pressed, and X=ASCII value of key pressed with bit 7 on. (See 16368) H=$4000-$5FFF = Page 2 of HI-RES GRaphics. SAbH$9DBF:25153: Routine to reconnect DOS if page 3 is over- written. (48K Syorder output. Note: a POKE causes two clicks. Q?H$C010:16368,0: Resets keyboard strobe so that next char- acter may be read in. This should be done immediately after reading the keyboard (See 16384). R@H$C000:X(16384): R+ HGR except these commands reset other switches and clear the screen to black. P?H$C040:16320,0: Triggers utility strobe.P?H$C030:X(16336): Causes the speaker to emit a click.5Q?H$C020:X(16352): Causes a click on the tape recresetting window. May be Page 1 or 2. Similar to TEXT, except TEXT selects Page 1, resets screen window and mover cursor to lower left.XP?H$C050:16304,0: Switches from TEXT to GRaphics without clearing the GRaphics screen. Similar to GR tch settings. N?H$C052:16302,0: Switches display from mixed GR + TEXT to full screen GRaphics, HI-RES or LO-RES, Page 1 or 2, depending on other switch settings.O?H$C051:16303,0: Switches from GRaphics to TEXT, without 6300,0: Sets text or graphics display to Page 1. Does not clear screen or move cursor.N?H$C053:16301,0: Switches display from full screen GRaphic to mixed TEXT + GRaphics. May be HI-RES or LO-RES, Page 1 or 2, depending on other swics in ON (See 16304).L?H$C056:16298,0: Sets display to LO-RES GRaphic mode. Only visible if GRaphics in ON (See 16304).L?H$C055:16299,0: Sets text or graphics display to Page 2. Does not clear screen or move cursor.]M?H$C054:1 paddle Annunciator OUTPUT #1 to OFF.eK?H$C059:16295,0: Set paddle Annunciator OUTPUT #0 to ON.K?H$C058:16296,0: Set paddle Annunciator OUTPUT #0 to OFF. L?H$C057:16297,0: Sets display to HI-RES GRaphic mode. Only visible if GRaphiddle Annunciator OUTPUT #3 to OFF.bJ?H$C05D:16291,0: Set paddle Annunciator OUTPUT #2 to ON.J?H$C05C:16292,0: Set paddle Annunciator OUTPUT #2 to OFF. J?H$C05B:16293,0: Set paddle Annunciator OUTPUT #1 to ON.%K?H$C05A:16294,0: Set. I?H$C060:X(16288): If X>127 then cassette input is a '1' else it is a '0'. BASIC programs should not try to read tape input in this fashion. I?H$C05F:16289,0: Set paddle Annunciator OUTPUT #3 to ON."J?H$C05E:16290,0: Set passed. H?H$C062:X(16286): Reads pushbutton switch on game con- trol #1. If X>127, then this button is being pressed.I?H$C061:X(16287): Reads pushbutton switch on game con- trol #0. If X>127, then this button is being pressed?H$C066: Analog input for game paddle #2.[G?H$C065: Analog input for game paddle #1.G?H$C064: Analog input for game paddle #0. H?H$C063:X(16285): Reads pushbutton switch on game con- trol #2. If X>127, then this button is being preng the APPLE firmware card. F?H$C080:16256,0: Disables the APPLE'S on-board ROMs so the APPLE firmware card can be used. F?H$C070: Resets the timing circuit for analog (game paddle) inputsF?H$C067: Analog input for game paddle #3.,GQEH$E003:8189: The reentry point of APPLESOFT Language (?) See 1010.E H$2000$3FFF: Page 1 of HI-RES GRaphics.E0H$D000:12288: See 53248. ROM block D0F?H$C081:16255,0: Enables the APPLE's on-board ROMs again after usin in the Y Register.D H$F3F2:3086: BKGND clears last-used HI-RES screen (regard- less of switch settings) to HCOLOR most recently HPLOTted.E H$F3EE:3090: HCLR clears last-used HI-RES screen (regard- less of switch settings) to BLACK.chpad byte for Slot #6.ACH$7FF: Scratchpad byte for Slot #7.DH$800$BFF: Page 2 of LO-RES GRaphics or TEXT:CALL -2048:REM PLOT routine, PLOTS a single block on the LO-RES screen. Vertical position is in the A Register, horizontal positio gram it is READing from.TH$81$82: Holds the last-used variable's name.H$83$84: Holds the last-used variable's value.H$85$9C: General usage.!H$FF69:151: Start of APPLE System MONITOR program. While in the Monitor, th is being READ.j}H$7D$7E: Pointer to absolute location in memory from which DATA is being READ.H$7F$80: Pointer to current source of input. Set to $201 during an INPUT statement. During a READ statement it is set to the DATA in pro-Set up by a CTRL-C, STOP or END state- ment. Gives line number at which execution was interrupted.yH$79$7A: Old text pointer. Points to memory location for state- ment to be executed next.{H$7B$7C: Current line number from which DATAThis location contains HIMEM. HIMEM = highest location available to APPLESOFT + 1. DOS sets HIMEM = 38400 ($9600) to protect it- self and its buffers. uH$75$76: Current line number of line being executed.fwH$77$78: Old line number. Pointer to end of numeric storage in use. See Page 137 of APPLESOFT BASIC PROG REF MANUAL. oH$6F$70: Pointer to start of string storage. Strings are stored from here to the end of memory.qH$71$72: General pointer.sH$73$74: for ROM APPLESOFT.iH$69$6A: Pointer to start of simple variable space. See Page 137 of APPLESOFT BASIC PROG REF MANUAL.kH$6B$6C: Pointer to beginning of array space. See page 137 of the APPLESOFT BASIC PROG REF MANUAL. bmH$6D$6E:n contains a random number, based on the time between keystrokes. PH$50$61: General purpose pointers for APPLESOFT.bH$62$66: Result of last multiply or divide.gH$67$68: Pointer to beginning of program. Normally set to $0801 egister. (See DOS MANUAL page 103).f8H$38$39: Monitor input register. (See DOS MANUAL page 103).EH$45$49: Register save area. All registers are saved here by IOSAVE Routine (See 182) in the order A-X-Y-P-S.HNH$4E$4F: This locatioutput is 'NORMAL'. IF =$7F(127) output is 'FLASHING'. IF =$3F(63) output is 'INVERSE'. 3H$33:51,X: This location contains the prompt character which is shown on the screen in front of an input line (see 662). #6H$36$37: Monitor output rB ,H$2C:Temporary work area used by 'HLINE' routine. See 2023. -H$2D: Temporary work area used by 'VLINE' routine. See 2008.[2H$32: This location is the mask for character output to the screen (A logical 'AND' is performed). IF = $FF(255) oion. POKE 36,X moves the cursor to this relative position. X must be < PEEK(22). %X(37): Reads current vertical position of the cursor; 0 40 pro- duces errors. If W<33, PRINT'S third tab may PRINT outside text window. "H$22:34,T: Sets top margin of TV Display to T; 0 ";:R$ * * ERASE FROM END * OF STRING *200$V1381.V:H3911 8H4,5:35,16T1606X((1)20):Y(X2)G8:X;10);YNTX1310b1440j *~ * RETURN TEXT * WINDOW TO NORMAL *34,0:35,2410:"PRESS ANY KEY TO CONTINUE > ";:R$14408"TEXT ADVENTOR-MATION SCROLLS BY."&z1310:131018:"TO DO THIS, FIRST TYPE IN YOUR HEADINGS AND THEN SET THE TEXT WINDOW BEFORE ENTERING THE OTHER INFORMATION."23:"PRESS ANY KEY TO DEMONSTRATE > ";:R$ * * SET TEXT WINDOW * 3( CHAR$"LINE-BY-LINE SCROLL;":1450:]*CHAR$"HERE COMES A CENTER-OUT WIPE:":1450:255g41320q>1520{H1310RA$"HOW'S THAT?":1530\1310:1310fp"SOMETIMES IT IS USEFUL TO KEEP SOME TEXTON THE SCREEN WHILE OTHER TEXT OR INF"255:1340:!1310\:CHAR$"FOR EXAMPLE, THERE ARE SEVERAL WAYS TO":1450CHAR$"CLEAR THE SCREEN THAT ARE MORE FUN":1450 CHAR$"THAN TYPING 'HOME'. YOU HAVE ALREADY":1450CHAR$"SEEN A LEFT-TO RIGHT WIPE AND A SLOW":14506CHAR$"IF YOU SEE A PRINTING OR SCROLLING ":1450hCHAR$"TECHNIQUE THAT YOU WANT TO USE,":1450~255::1340:100:"AT THE END OF THIS DEMO, TYPE ";::" LIST ":"TO FIND THE ROUTINE THAT IS RESPONSIBLE FOR DOING WHAT YOU SAW HERE.CH- NIQUES IF YOU HAVE UNPROTECTED, OPEN SOFTWARE TO TAKE APART."qb"I'M JUST SAVING YOU A LITTLE TIME."{l1320v1440CHAR$"DON'T EXPECT ANYTHING TO HAPPEN HERE:":14501310CHAR$"THE MEDIUM IS THE MESSAGE.":1450:1310EAGLE BROS.":1350 1570> A$"SOFTDISK MAGAZETTE":1350H 1570b A$"'DEMODISK'":1350l 1570 &A$"AND ME":1350 0255 : D12:X140:" ";:X NGX"IF YOU KNOW APPLESOFT, YOU DON'T NEED ANYONE TO TEACH YOU TRICKS AND TE"4 r180:"IN UNPROTECTED SOFTWARE, THE BEGINNING"Z |200:"PROGRAMMER'S BEST FRIEND."c 255s 1310:1310{ : A$"THESE SOURCES INCLUDE:":1300 1310 X14::X 100 1570 A$"APPLE COMPUTER":1350 1570 A$"BCKED UP "< @80:"FROM VARIOUS SOURCES THAT HELP TO DRESS"n J100:"UP YOUR TEXT SCREEN PRESENTATIONS AND" T120:"MAKE THEM MORE INTERESTING TO READ." ^140:"MANY THANKS TO THE SOURCES OF THESE" h160:"TECHNIQUES, MOST OF WHOM ARE BELIEVERS CARSE":1300/ A$"HINESBURG, VERMONT":1300H A$"JULY 1982":1300Q 255a 1310:1310k 1320u 1330{  "1310 $ * % * 'SPEED' DEMO & * ,40:"THIS IS REALLY NOTHING SPECTACULAR," 660:"JUST A BUNCH OF TIPS I'VE PI":1300 Z20:1290# d11:13101 n120:1809 o *T p * CALL SOUND ROUTINE\ r *k xQ01005 6,180:7,10:768 6,200(1)50:7,10:768 6,160Q10:7,12:768 Q 100 A$"PRESENTED BY":1300 A$"DAVIDy  *  * TEXT DEMO' * < * DAVID CARSEO * JULY 1982W *_ *i 1640o|A16336(12902:<A$"A FEW BASIC TECHNIQUES":1300FA$"OF TEXT MANIPULATION":1300 PA$"FOR BEGINNING APPLE PROGRAMMERS            Both of these alterations can: be seen in the program listing of the: 'CRAE/APA' program.: The combination of these programs does< not result in loss of the 'Renumber': function for it is still present in the: CRAE program.: The principle of r First it is necessary to remove the: '&Renumber' command and replace it with: the '&CRAE' command. Secondly it is: necessary to reset the '&' Ampersand: vectors of the 'Renumber' command to  point to CRAE rather than the Renumber: command.APA's Compress function.: The conjoining of the two programs is made possible by changing the RENUMBER: command of APA and replacing it with: the '&CRAE' command.: To accomplish this task it is necessary: to make two changes to the APA program..: The editors are available by means of: the same '&' vector. 'APA' is the: 'master' program. Thus CRAE is called@ with the '&CRAE' command. Note that : '&CRA' and '&CR' will also access CRAE: but '&C' will not work at it will: interfere with ermit both 'CRAE': the Coresident Applesoft Editor from: Highlands Computer and the Applesoft: Programmers Assistant (APA) from Apple: Computer to be used at the same time.v Thus the features of both of these: line editor programs can be accessed:A$:A$:::X16:A$:A$::::P0İ200S X14:A$:A$::::(4);"PR#0": 24:8::"HIT A KEY TO CONTINUE *";(8);:A$::::: APA/CRAE COMPATIBILITY: -------- -------------: The program 'CRAE/APA' is a loading program which will p14:A$:A$:::A$:A$:A$:A$::X19:A$:A$:::X14:A$:A$:::P0İ200 X15:A$:A$:::X15:A$:A$:::X13:A$:A$:::X15:A$:A$::::P0İ200 X14:A$:A$:::X13:A$:A$::::P0İ200+ X13:A$:A$:::X111OOTS":"SO LEAVE A DISK IN YOUR DRIVE"E ::"HIT ANY KEY":A$::k B%255:IO3000:IS48000:C%0:I72u 34,1 "RESUME OR START":A$:A$"S"450 "WHERE";IO :1:1:" " A ":"AND I/O HOOKS AND ALSO TO AVOID":"CLOBBERING THE PROGRAM ITSELF":"IT TAKES A WHILE SO IF YOU STOP IT"& "YOU HAVE THE OPTION OF RESTARTING":"LATER ON"::"IF ANY ERRORS ARE ENCOUNTERED":"THEY ARE LISTED":"IF EVERYTHING IS OK":"THE PROGRAM REB  200P<IIOIS:BS(I):(I),B%:A%(I):A%B%ĢI7:"ERROR AT"I:I7I71F(I),C%:A%(I):A%C%ĢI7:"ERROR AT "I:ER1PI,BS:1:1:I:ZER1Ād6l ::"THIS WILL TEST THE RAM IN YOUR APPLE":"IT SKIPS SOME AREAS DUE TO THE DOS  UND THEN THE SCREEN IS CLEARED":"AND A 33 IS PUT IN LOC 33. IF A33 IS":"FOUND, THEN A 40 IS PUT IN LOC 33. THE":"SCREEN IS NOT CLEARED."<T" DEFAULT VALUE IS TO PUT A 40 IN LOC":"33. THIS WOULD OCCUR IF THE SCREEN":"WIDTH WERE SET TO SOME OTHER VOF LINE MARKER.":"A TEST IS DONE ON THE Y-REG. IF ZERO":"THEN THE CALL IS FOR 'POKE 33TO HANDLE."@"ELSE CONTROL IS PASSED TO THE 'OTHER'":"ROUTINE.":" 'POKE 33' WILL LOOK AT THE CONTENTS":"OF LOC 33 TO SEE IF IT'S 33 OR 40. IF A"J"40 IS FOKE 33' ROUTINE LOOKS TO","SEE IF THERE ARE ANY PARAMETERS THERE.":360:10)"HOW IT WORKS CONT'D"::" THE 'DATAN' ROUTINE IN ROM WILL":"RETURN WITH THE Y-REG CONTAINING THE"c6"NUMBER OF CHARACTERS REMAINING TILL THE":"END OF STATEMENT OR END s: Apple-Can Member #62: Toronto Ontario 1982Xurate but users are advised to checks8 before using them. 9 Written by : Harry Owen Jones; Apple-Can Member #62< Toronto Ontario 1982X relative locations are from the: start of APA and are given in decimal: form suitable for use from Applesoft./h All locations are believed to be ac- : curate but users are advised to check: before using them. : Written by : Harry Owen Jone 213 293 741:SHOW 222 291 504:NOSHOW 227 289 517:AUTO 234 287 544:MANUAL 238 285 599r^XREF 245 283 2359:KEYS 259 281 472: AllTION: NAME NAME VECTOR ROUTINEJ------- ------------------------:RENUMBER 190 301 1521:HOLD 199 299 1024:MERGE 204 297 1125:LENGTH 210 295 472TCOMPRESS w for the convenience of: the users. (They are as accurate as I: could best decode them.)-@ The user is warned to avoid using the: 'AUTO' and 'LENGTH' routines as these: have strange setups and are not readily changed.:ROUTINE RELATIVE LOCA course it would be easy to append: this CRAE/APA program to LOAD.EDIT by: appropriate renumbering and merging : and make it possible to boot up both [6 programs with a single loading program.: The locations within the APA program: are listed belo" load in CRAE using the 'LOAD.EDIT' and: then run the 'CRAE/APA' program instead: of the 'LOADAPA' program on the Toolkit.: This is because CRAE is fixed in its : memory location while APA is relocated, to the available memory below CRAE.: Ofeading the '&' vector: to obtain a pointer to a program has application elsewhere. Other routines: may be patched into APA by sacrificing: one of the APA commands.: Therefore to use both of these programs: at the same time it is necessary toME OUT AS":"'TRY TO LOAD ME' AND NOW YOU CAN":"LOAD THAT PROGRAM."N LOAD ME'":"AND YOU SUSPECT THERE IS A CONTROL"s x"CHARACTER EMBEDDED IN THE NAME.":"BUT WHERE AND WHICH ONE?" "RUN THIS PROGRAM. THEN CATALOG":"THE DISK. AND EVERY CONTROL CHARACTER":"WILL BE VISIBLE AND FLASHING"H :"YOUR PROGRAM MIGHT CO 201,160,176,9,72,132/ ( 53,56,233,64,76,249D 2 253,76,240,253V <I76876827e FV:I,V:Iu P54,0:55,3 Z1002 _ d"HERE IS AN EXAMPLE OF HOW THIS":"PROGRAM CAN HELP:"0 n"YOU DO NOT SEEM TO BE ABLE TO":"LOAD THE PROGRAM 'TRY TOP:"FROM THE TIME YOU RUN THIS PROGRAM":"TILL YOU HIT RESET, ALL CONTROL":"CHARACTERS WILL APPEAR AS FLASHING":"LETTERS""THE ONLY EXCEPTIONS ARE CONTROL H":"AND CONTROL M" 201,141,240,21,201,136 240,17,201,128,144,13   ԠؠԱʬ؍֬؍ͭ؍؍̠ԱР͍ʠРàРҍĠĠΠōàؠؠčı٠б̬؍ѠčРƍѠұРҩٍŠÍٍ؍ՠòԠՠijРՠİ͠ՠƲàԠ͠ԠՠƷĹ̠ՠčРՠô̠ՠùÍŠՠŲÍ֠ՠƵźàӠϠŠԭǠԠîĭǠ ͠΍ՠԠՠ³č͠ՠĶҠՠĶÍȠՠķ̠ՠķ͠ՠōҠՠðؠՠùԠՠųĠՠŶԠՠŶȠՠŷ̱ՠ ՠ·ӠՠƍԠΠҍ͠ՠĠՠč͠ՠԠՠԠՠҠՠҠՠΠՠԠՠ±Ԡՠ·Ҡՠ¸Ҡՠ֠ՠƵΠՠĹĠՠҠՠϠ٠ϠŠקҠŠčĠ§ҠŠŮĠՠàՠ̠ՠԠՠàՠÍĠՠčҠՠƠ̠ҍàՠƍ̠ՠà͠Šҍ̠ՠŠРŠҍ̠ՠԠǠĠӠǠΠ̠ŠΠȠźӠŠӠΠčϠΠΠŠŠҠîүҮϠΠΠӬŠŠϠĠϠΠŠŮԠ٠ϠŠ ALUE WHEN":"THE ROUTINE WAS CALLED.":360:"WRITTEN BY :":^5)"HARRY OWEN JONES":5)"MEMBER NO 62":5)"APPLE-CAN USER'S GROUP":5)"TORONTO, ONT.":5)"JAN 1 1981":h23:"TYPE A CHARACTER TO CONTINUE . . .";:A$:A$::2:2:DTO BE PRINTED .'(A$)41SL(A$):10100K'(A$,STSL,1)" "10100W'SLSL1n 'SL1SL40:10100y$'10010t'(A$,ST,SL);v'SL40ĺy'STSTSL1z'ST(A$)ı~'SL40'STSL1(A$)SL(A$)ST1:10100'10010cAMPLETED'. NOW YOU CAN TYPE THAT SECTION OF PROGRAM FROM THE DISK AT ANY TIME BY SIMPLY TYPING 'EXEC ."w 10000} ' 'ST1: ST IS THE START POSITION OF NEXT PRINT SEGMENT IN STRING'SL40: SL IS THE LENGTH OF THE SEGMENT OF THE STRING F YOUR PROGRAM IS" 100001 A$"UNCHANGED."< 10000D : A$"3. TYPE 'RUN 11' AND ANSWER THE QUESTIONS. (STRANGE THINGS AGAIN)" 10000 :l A$"4. TYPE 'RUN' (AGAIN STRANGE THINGS WILL HAPPEN AND YOU WILL GET THE QUE 'CAPTURE COAM TO BE CAPTURED." 10000& : A$"2. TYPE 'EXEC CAPTURE ' (THE DISK DRIVE WILL RUN AND SOME STRANGE THINGS WILL HAPPEN ON THE SCREEN. IF YOU NOW LIST 11,29 YOU WILL SEE THE PROGRAM BEING USED. YOU MAY ALSO VERIFY THAT THE REMAINDER OE NUMBERS AS THE PROGRAM ALREADY IN MEMORY, THE LINE NUMBERS THAT ARE DUPLICATED WILL BE OVER WRITTEN."r }10000z : :A$"PRESS SPACE FOR INSTRUCTIONS ON THE USE OF CAPTURE." 10000 A$ A$" "ī140  A$"1. LOAD PROGR EASILY ADDED TO PROGRAMS BEING WRITTEN. ANY PROGRAM YOU WRITE SHOULD START ABOVE ADDRESS 30, AS EXECUTION OF THE CAPTURE ITSELF DESTROYS APPLESOFT LINE NUMBERS 0 THROUGH 30." s10000g x:A$"IF THE PROGRAM YOU ARE EXECING INTO MEMORY HAS THE SAME LINcdA$"CAPTURE IS A PROGRAM BASED ON INFORMATION IN THE APPLE II DOS MANUAL. SEE PAGE 76 SECTION LABLED 'CAPTURING PROGRAMS IN A TEXT FILE' FOR AN INDEPTH DISCUSSION OF TECHNIQUES USED."i10000 n:A$"CAPTURED PROGRAMS (SUBROUTINES) CAN BE     ŠӱŠǹӱԩٍРРѠӱРѠӱРРѠӱРРŠǹԠ֍ӱҬ؍ԩٍ؍̠ǹӱѠӱٍԩٍàӱǷҠЍǷҠԍ֍ؠƍǸ؍ҫ؍ŠǸ٠̍ѠӱǹѠٍ̍Ҭ؍РРŧѠ̍РĠРŠӱԩٍРàРѠӱРРѠDzРŠѠǴРŠdzDz؍dzŠDZ؍ǴؠÍҠ͍ÍѠǶǵҠ̱àÍŠǵǶҠ΍ҠӍҠȍҠԍ̠Ҡ΍٠à͠ĠōҠӠ΍٠ҫԤҍÍԍ٠ԫҠҍؠ٠̍ѠǴDZ٠ԩٍРРѠDzРſѠDzРЭנЭנЭנ٭ԠǠōǠҠ̠ԠҤЍҠҠӠҤÍ٠ÍԠàҠҍ٠ԫōҠč ĠǰҠҍàŲìì ĬñƬì ĬñƬ Ƭ Ƭ Ƭ ƍӠŠҠӍ̠נǭנ̭נ̭נŠбұР؍à؍̬؍ŠÍ؍àčŠıĠҠΠĠ٠Ϡҍ̠čؠč̫ؠϠč٠ǠӍ̬؍ӍĠō̠ ŬƬ =8m>mn?nL,ZNEF- ,00 *$,XǘP$,ȱ8# =ۥ % ,L;LL { lݥHH g hh  = ʰ ߅HH hE0hE0$0$0Hh`Lv Bq ";(34);"***,**$.00";(34):24:" BRUN PUF.OBJ";:23:1:TRING AFTER THE":3:"'&PRINT USNG>' COMMAND IS THE EDITING" 3:"STRING, AND THE SECOND SET OF VALUES":3:"ARE THE VARIABLES TO BE PRINTED.":3:"THE EDITING STRING CAN CONTAIN EITHER":3:"'0', '*', ',', OR '$' SIGNS."L3:"A LAST EXAMPLE IS:":3SPACE." :"'& PRINT USNG > ' = PRINT USING":3:"EG. 10 & PRINT USNG >";(34);"$000.00";(34);";A,B,C":3:"OR 20 A$ = ";(34);"$0000.00";(34):7:"30 X = 243.125"; 7:"40 & PRINT USNG >";(34);"TOTAL = ";(34);" + A$;X";:3:"WHERE THE FIRST ST3:"HIT ";::"SPACE BAR";::" TO CONTINUE *";(8);:A$:A$::34,0:3:"'& DEL ARRAY > ' = DELETES AN ARRAY" 3:"EG. 10 DIM A$(20),B$(600)":7:"20 & DEL ARRAY> A$":7:"30 & DEL ARRAY> B$":3:"WILL DELETE UN-NEEDED ARRAYS AND SAVE":3:"MEMORY D 'A$'";:8:"AND PRINT THEM 15 TIMES.":"'& SWAP>' = SWAP TWO VARIABLES" 3:"THE VARIABLES CAN BE INTEGER, REAL OR STRING. THEY CAN BE WITHIN AN ARRAY.":3:"EG & SWAP> R1,R2":3:"OR & SWAP I2%,I3%":3:"OR & SWAP>T$(N),T$(P)"q 34,2:2EAT PRINT COMMAND":3:"EG & RPT PRINT>";(34);;"*";(34);",38;" x8:"WILL PRINT 38 '*'S IN A ROW.":3:"OR & RPT PRINT>A$,8":8:"PRINTS THE CONTENTS OF A$ 8 TIMES";:3:"OR & RPT PRINT>";(34);"*";(34);" + A$,15"P 8:"WILL CONCATENATE THE '*' ANMd::T$"PRINT USING AND FRIENDS":21(T$)2::T$::3:"THE FOLLOWING COMMANDS ARE AVAILABLE:":5:"'& CLEAR TO EOL' = CLEAR TO END OF LINE"@ n"'& CLEAR TO EOP' = CLEAR TO END OF PAGE":"'& BELL' = RING THE BELL":"'& RPT PRINT>' = REP,AD24:A155,AD17r T0:IA1A169:TT(I):I:T3AD10412ĺ:(7)"DATA STATEMENT ERROR (LINES 130-150)": A12287,179:A12286,AD25 (7)::"FREECAT IS INSTALLED": P40,185,242,179,240,10,10,144,251,232,208,250,230,65,208,246,136,208,238,165,65,172,6,224,240,5 32,27,229,48,3,32,36,237,160,243,185,249,181,32,237,253,200,208,247,76,47,174,0,160,198,210,197,197,160,211,197,195,212,207,210,211 A111,AD22:A146>> WITH IT.- b FROM NIBBLE MAGAZINE V.2/#53 c d(977)(978)16((978)16)19113ĺ:(7)"INCORRECT DOS POINTERS":"PLEASE REBOOT AND RERUN FREECAT": nAD(978):A1256AD6579 xIA1A169:B:(I),B:I^ 162,7,32,74,249,134,65,160,1G"O APAUSE14000:PAUSE::::3:75:"BETTER CHECK ON ROOM FOR DESSERT!":l F255:PAUSE1800:PAUSE P100:PAUSE1800:PAUSE::D$;"CATALOG": ` aFREECAT WILL DISPLAY FREE SECTORS ON A DOS 3.3 DISK. ALSO WORKS ON 3.2 BUT DON'T <<1000:PAUSEO ::7::"BOY ... THAT DISK TASTED GOOD":PAUSE12500:PAUSE (:12:3:50:"GEE ... I WONDER WHAT WAS IN IT ...?":PAUSE11000:PAUSE 2255:14:16::"LET'S SEE!": 7G13:(7):G <PAUSE1500:PAUSE:D$(4):D$;"CATALO!**************************A** EPICUREAN HELLO 1.1 **a** BY STEVE PISK **** COPYRIGHT (C) 1982 ****************************: 6:14:50:"H I T H E R E ! " 255:8:15:"APPLE II+ HERE"::PAUSE1ZQZz#?1,FGEXհ͠Ԡˠέ׮Ӡέ׮ʠέ׮Š  ŠӠ Šʠ!Šʰ" ŠŠƮӠ ƮʠƮŠ ůӠ ٠àŠ٠ŮԠ ٠àŠ٠Ůʠ íҮӠ íҮʠ Рé ŠԠ ٮԠ ԠϠ ӠخӠ Ӡخà[ ԠҠ ՠů ĮȠ ٮŠ !Πՠ ŠŮӠ Į̮Ӡ ҠΧӠĠҠԠŠΠҠҠǠҠĮӠXհհ]Ϡ٠հԠɠЮͮ׮ЮĠΩЮͮ׮ЮҠ"Юͮ׮ЮҠ 54,133t 855,0:856,173:857,96:858,3:859,133:860,1:861,96:862,0:863,0::5:" 48K RAM TEST":7 768:A256(867)(866):D(865):D0280 ILB:S(I):I,255:D255(I):I,S:D0AI:IB:270 S(I):I,0:D(I):I,S:D23,208:824,2:825,230:826,1:827,201:828,192:829,208:830,214:831,240:832,8:833,141:834,97:835,3:836,173 837,94:838,3:839,145:840,0:841,165:842,0:843,141:844,98:845,3:846,165:847,1:848,141:849,99:850,3:851,173:852,95:853,3:82,94:793,3:794,169:795,255:796,145:797,0:798,81:799,0:800,208:801,31:802,145:803,0 804,81:805,0:806,208:807,25:808,173:809,94:810,3:811,145:812,0:813,230:814,0:815,208:816,2:817,230:818,1:819,165:820,1:821,201r 822,3:8 RAM TEST - SETUP ASSEMBLY ROUTINE3 768,165:769,0:770,141:771,95:772,3:773,165:774,1:775,141:776,96:777,3:778,169:779,2:780,133:781,0:782,160:783,0:784,140:785,97] 786,3:787,132:788,1:789,177:790,0:791,141:79EdAREVISION 8-2-79 <n WRITTEN BY PHILIP A. WASSONx::"THIS PROGRAM REPEATEDLY TESTS":"ALL 48K OF RAM":"FOR 'HARD' ERRORS AND DISPLAYS THE":"ROW AND COLUMN OF THE DEFECTIVE CHIP.":I15000::H$"0123456789ABCDEF":L768:B1023 ԍÍҍ̍àҩٍ̍ҫ̫٠àҩٍ̫Íčٍ̍àҩٍčīٍ̫àҩٍī٠РōҲҠ͍ɠҲ٠Ԡ͍ɠвԠ͍ɠб٠бԩٍԩٍԩٍԩٍвٍ̠бӍҲРȍŠ٠ō٠ҠРҫѠԲҍԱҠԍàҍŠԱԲҠԍ؍ӠӱРŠōРҠԍԍ٠ԫ͍ͫҠ͍ҠԍҠͫɠčҠԍРàРŠӱРǰӱР РѠӱРύӱРԍԠԠōРҠ̍ҠҍҫҍҠ͍Ҡ͍ҠԍҍA192AA32 A32AA1922 A64AA128A A96ī180Q (A);:120m :D$;"CLOSE":"DONE": | (A); 170 :D$;"CLOSE" "DONE"  D***************? dD$(4)::::19:33,7::15:33,40:180 nD$;"MON O":"APPLE WRITER FILE NAME? TEXT.";A$:D$;"BLOAD TEXT.";A$::A$;" LOADED"::"DESTINATION NAME? ";T$:AD6401:D$;"OPEN";T$:D$;"WRITE";T$ xA(AD):ADAD1:A224AA64 n ***********************= * *[ * CONVERT APPLEWRITER *y * TO DOS TEXT FILES * * ------------------- * * FROM APPLE COMPUTER * * TECHNICAL NOTES * * * ********    (4);"BRUNMENU"U02"  PROGRAM WILL RESTORE THE APPLESOFT: POINTERS TO 'UN-NEW' ANY PROGRAM IN: MEMORY THAT HAS BEEN ERASED BY MEANS: OF THE 'NEW' COMMAND.: WHEN YOU WISH TO RECOVER A PROGRAMX WHICH WAS ACCIDENTLY ERASED: AND IT WILL BE RESTORED. TO TEST IT: ERASE TZz ::A$"UN-NEW":21(A$)2::A$::3:N14:A$:A$:::A$:A$:A$:A$;", AND":"THUS CANNOT BE LISTED, SIMPLY":((93);"BRUN UN-NEW.OBJ"::A$:A$;",":A$:A$::A$:A$:A$:A$::(93);"NEW":"THEN":(93);"BRUN UN-NEW.OBJ":19: d THISD6A$"":I301:P16I:H(EP):EEHP:A$A$(H$,H1,1):::,1):::0AI:IB:270F :CC1:22:12:"PASS ";C;" COMPLETE":7:D0240 "ADDRESS DATA RAM FAULT LOCATION":216,0:EA:310:" $";A$;:ED:310:11:"$";(A$,2);:R$("CDE",(1A16384),1):20:I1031 "D2D:D255DD256:25:R$;"-";I,: gW'  `^ :F Y %^LǏLZ^[_\Z][` 1 8tp`8M`y LHy0y h (`|)* X |`YLHHJhh`Ǘ˯߷ë󳏋'C/cO KC[/3k{'7w+Ss?AVENTION 80 L(OAD R(UN D(ELETE C(ATLG T(DRIV K(LOK U(NLOK X(ALL E(XIT SP(PAGE ----------------------------------------VOL PG OF SECT-USED LEFT ---------------------------------------- $% 0nmooة$eeVLԒؠ 58nnooؠ o 0n)JJJJ 0șn) 0șVJJJJ 0``i% $ BU ڑV V Hi&eh L`$V  ɍ ` X0 ` APPLE-)N*m+Jn)m)eeU`8VUU ڑ` :` ^6789 Q@ q . @^`6798 Q`H h``noVVi@iA)moo g p g) pmn/5 qs r ; qa ` `$$(ɠ$C q$W ``H$%  h\  `CATALOG\Y/N\LOAD\LOCK\UNLOCK\RUN\SAVE\DELETE\NOMONC\START\ LENGTH\,D\I/O ERROR\@  UmU+&*Y Y P ,X B АX I8Mt_=gH?J QVQT_ɕ%[^ZZ\[]^Z_[ 0W Г J1  @)ȹ@)ȹ@) q P^ɠ 0   qL MW'WП < XX QLiLLs4    " d ,(20(A$)2):A$:5 1:X140:A$;:l *23:X140:A$;::2:X222:1:A$;:40:A$;:: An(21)::$:A$"+":800:w(6:A$"PUBLIC DOMAIN SOFTWARE":300:8:A$"DISK VOLUME U02-UTILITIES:GOSUB 300216:A$"THE BIG RED APPLE CLUB":300:A$"1301 NORTH 19TH":300:A$"NORFOLK, NE 68701":300<X12000: F24:(4);"BRUN MENU LLIAM J. POWELL,ALBERT N. EINSTEIN_  WILLIE NILLY,JOHN WHODUNNIT,MARIE MOORE,JEAN MACKENZIE JOHN J. WEBB,JOHN D. WEBB  END4 .WITHOUT A COLON AFTER DATA, TOOL-KIT &X UTILITY WILL NOT WORK !!>:IM DATA *** ____________________ q SALLY JONES,SAM SMITH,JOE SMITH,TIM CAMPBELL,ED HILL C. H. M. MACKENZIE,JOHN J. DOE,SHIRLEY J. J. JONES ISAAC G. W. R. NEWT,I. SMITH THOMAS T. JONES" ALEX W. JOHNSTON,WI " TEXT APPEARING IN THIS PROGRAM HAS",BEEN ENTERED USING A ROUTINE FROM,''POOR MAN'S WORD PROCESSOR''. IT IS,AN EASY METHOD OF TEXT ENTRY. ,," << BACK TO THE PROGRAM >>"  "SWITCH" "END"6 *** PROGRAS PROGRAM IS",LEFT TO THE USER., " LINE #1000 FILLS OUT EACH SORTED",NAME TO 30 CHARACTERS SO THEY CAN BE,USED IN RANDOM ACCESS DISK FILES., " IF YOU WANT TO VERIFY, ADD THIS","LINE.. ' 1015 INVERSE', AND RE-RUN",THE PROGRAM., NAMES",(3) SORT ALPHABETICALLY AND LIST,(4) PROVIDE PRINT-OUT OPTION ..,  " YOU CAN MAKE CHANGES TO GET DATA","FROM KEYBOARD OR DISKFILES, USE A","FASTER MACHINE-LANGUAGE SORT OR PRINT",TO MAILING LABELS..,  "SWITCH"," GOOF PROOFING OF THIPRINT-OUT ?";::R$"`R$"Y"Ā/j1:1000 *** DATA FOR TEXT *** _____________________ I " FOUR ROUTINES ARE USED ..",,(1) LIST UNSORTED NAMES FROM DATA,"(2) LIST LASTNAME, COMMA, FIRST LIST SORTED NAMES ** _______________________ `:" << SORTED LIST >>":" "mI1X1I;:6:N$(I)IL *** PRINT-OUT OPTION *** ________________________ V0:::"WANT A .SWAP MARKERHNUMBER1X1?RN$(NUMBER)N$(NUMBER1)910U\.. MAKE THE SWAPkfSWAP1:..MARK ITpNAME$N$(NUMBER)zN$(NUMBER)N$(NUMBER1)N$(NUMBER1)NAME$NUMBERSWAP1800:..NOT FINISHED? ** :NAME$NUMBER:270$  *** BUBBLE SORT *** ___________________ *:10:10::"S O R T I N G . . .":414:" PATIENCE ..."::" I'M GOING AS FAST AS I CAN ..." >SWAP0:.MES! FIRSTNAMES$(F$,SPACE1)7  .. GET LASTNAMET LASTNAMES$(F$,LSPACE)m .. RE-ASSEMBLE NAME NAME$LASTNAME$", "FIRSTNAMES$  .. FILL TO 30 SPACES N$(NUMBER)NAME$(" ",30(NAME$))NUMBER;:6ICH MARKS START OF LAST NAME..0 0NUMBER1X1R :COUNT1:F$N$(NUMBER):L(F$) D ... LOOP THRU NAME AND MARK LAST BLANK NCOUNTL630 X(F$,COUNT,1)" "SPACECOUNT bCOUNTCOUNT1 l590 v MOVE LASTNAME TO FIRST  .. GET FIRSTNA70 c  *** RE-ORDERED NAMES *** ________________________ :"<< LAST NAME FIRST (UNSORTED)>>" " _________" 540 800 .. RE-ORDER ..LAST NAME FIRST &..FIND LAST BLANK WH:R$:: t , *** LIST NAMES *** __________________ 6N$(100) @: J" << RANDOM NAMES >>": TI1100 ^XX1 hN$(I) rN$(I)"END"I100:400 |N$(I) I 2 dI11000:v *** PRINT TEXT *** __________________ I150:LINE$ LINE$"SWITCH"İ270: LINE$"END"I50 LINE$ 310 24::"PRESS ANY KEY TO CONTINUE..";: %%%%%%%%%%%%%%%%%%%%%%%= % LASTNAMEFIRST AND %[ % SORT %y( % %2 % MURRAY MACKENZIE %< % TORONTO, CANADA %F %%%%%%%%%%%%%%%%%%%%%%%P _______________________ Z::10,80     rL Liݘiij LOiLHIS PROGRAM AND RECALL IT.: (THE SOURCE CODE HAS BEEN INCLUDED FOR: YOUR INFORMATION.) ASHOW":"&AUTO ,":"&MANUAL":"&XREF"::"&KEYS"::D ~A:PUT CRAE'S ADDRESS IN APA VECTOR TABLEF 8 67,82,65,69,32,32,32,32 BI07:A:ADRSI190,A::REPLACE "RENUMBER" WITH "CRAE " LADRS190I,0 VADRS: INITIALIZE APA `: j"&HOLD":"&MERGE":"&LENGTH":"&COMPRESS":"&SHOW"> t"&NOEADRS0*(4),"BLOAD RBOOT"C520: EXECUTE RBOOTWADRS(0),"APA"I02:P(I)(1013I)::GET '&' VECTOR CONTENTS$P(1)0P(2)P(2)1:P(1)256:DECREMENT '&' HI-BYTE IF UNDERFLOW ON LO-BYTE( .ADRS301,P(1)1:ADRS302,P(2) UPCOMING ISSUE OF APPLE ORCHARD.,C, " HAVE FUN .....MURRAY"M ENDINGES TO LINES 140 &",150 WILL SEND JUSTIFIED TEXT TO AN,80 COLUMN BOARD OR TO A PRINTER SET,TO THE SELECTED WIDTH. OF COURSE THE,DATA LINES MUST BE OF CORRECT LENGTH.," " I'VE BEEN TOLD THAT P.M.W.P. WILL",BE PUBLISHED (WITH ALL EXPLANATIONS),IN ANTING VERSION OF","'POOR MAN'S WORD PROCESSOR'. EACH","LINE IS READ - CHARACTER BY CHARACTER",- AND WHEN A SPACE IS READ AN EXTRA,ONE (OR TWO) IS PRINTED IF REQUIRED  IF REQUIRED TO FILL OUT THE LINE,TO A FLUSH RIGHT MARGIN.  " APPROPRIATE CHA Q$" "ĭN1ĺQ$;:NN1# X:* I1   DATA FOR TEXT =============  "GREETINGS - A P P L E - C A N","==============================",  " THIS IS THE FORMAT= * d::2557 nI1500Q xLINE$:LINE$"END"Ā] N0:Z0s L(LINE$):N38L L30ĺLINE$: X1L (LINE$,X,1)" "ZZ1 X1L Q$(LINE$,X,1) Q$; Q$" "ĭNZĺ" ";:NN2:240ERSION *", " *************",,,o 2 " BY: MURRAY MACKENZIE"," TORONTO, CANADA.",,~ F SWITCH-1 P255 Z:"PRESS ANY KEY TO CONTINUE ..";::R$: c P.M.W.P. =======N ::150>I1100:LINE$:LINE$"SWITCH-1"I100:80KLINE$: ,,,,," P O O R M A N ' S W O R D",," P R O C E S S O R",,5 ( ,," *************", " * FORMATTED *", " * V     M WOULD HAVE",CALLED IT OPTION #3 BY DEFAULT.,, LINE 220 SAYS TO GO BACK AND GET,ANOTHER LINE...AND ANOTHER...AND,ANOTHER....AND ANOTHER.....,,| ,"*******************************",,"270 NU=0:HOME:RETURN",,WHEN THE USER TURNS THE PAGE,THIS INSTRUNECESSARY,"TO SELECT OPTION #3. BY DEFAULT,","IF OPTIONS 1 OR 2 WERE NOT","SELECTED THEN THE PROGRAM AUTO-",MATICALLY 'FELL THROUGH' TO THE,NEXT LINE ...LINE 210,/ "YOU COULD HAVE SELECTED OPTION",5 OR 6 OR 7 AND SINCE IT WAS NOT,"1 OR 2, THE PROGRA10 L=LEN(LINE$):PRINT TAB(40-L);",LINE$,,THIS ONE IS NOW EASY TO EXPLAIN.,"GO TO THE RIGHT SIDE OF THE",SCREEN (POSN.40) AND THEN BACK,UP 'L' POSITIONS.START PRINTING,THE LINE. EACH LINE IN THE PAGE,WILL BE 'RIGHT JUSTIFIED. NOTE THAT IT WAS NOT K UP' A FURTHER DISTANCE EQUAL TO ONE,HALF OF THE LENGTH OF THE STRING,AS CONTAINED IN 'L'. THUS WE,START PRINTING AT (20-L/2).....,(PROCESSED AS (20-(L/2))..,, "EUREKA !!! THE LINE IS CENTERED",,"*******************************",, "2,"PRINT TAB(20-L/2);LINE$:GOTO 220",, "FIRST, THE NUMBER OF CHARACTERS",IN THE STRING IS COUNTED AND IS,SAVED IN THE VARIABLE 'L'..,WE WANT TO DISPLAY THIS LINE,CENTERED ON THE SCREEN. CENTER OF,THE APPLE SCREEN IS CHARACTER ,POSITION 20. WE NOW 'BACROM THE,"MENU, THEN LINE 190 CAUSES A",STRAIGHT-FORWARD AND LEFT JUST-,IFIED PRINTING OF THE PAGE," HOWEVER:...", %v " IF OPTION #2 IS CHOSEN FROM THE","MENU, SOME CALUCLATION IS REQD",,"*****************************",,"200 IF C=2 THEN L=LEN(LINE$):" " 'NU' IS A COUNTER THAT IS USED",TO COUNT EACH DATA STATEMENT (AND,THEREFORE EACH LINE) AS IT IS,READ. 21 LINES WILL FILL THE,APPLE SCREEN. THEN THE USER IS,ASKED TO 'TURN THE PAGE'..,,"*******************************",sl ,IF OPTION #1 IS CHOSEN F MEMORYD AND IF THAT LINE OF DATA WAS THE,"WORD 'END' THEN TERMINATE THE","PROGRAM...OTHERWISE, SEND IT ON",TO LINE 180 FOR FURTHER PROCESS-,ING AND DISPLAY.N,"*******************************",X "180 NU=NU+1:IF NU=21 THEN GOSUB",230,b ATIONS,============,E0 "170 READ LINE$:IF LINE$='END'",THEN END,: IF YOU EXAMINE THE PROGRAM LIST-,"ING, YOU WILL SEE THAT THE DATA",WHICH IS TO BE FORMATTED IS,ENTERED AS 'DATA' STATEMENTS.,LINE 170 TELLS THE COMPUTER TO,READ A LINE OF DATA INTOON",FOLLOWS....  " THERE ARE SOME PROCEDURES, IN","SOFTWARE, THAT ARE USED IN THE",PROGRAM TO MANIPULATE CHARACTERS., WE WILL EXAMINE SOME OF THEM,SEPARATELY AND THEN SEE HOW EACH,IS USED AS A 'SOFTWARE TOOL' IN,THE MAIN PROGRAM...,,& EXPLANLAYS OR PRINTS,IT IN A FORMAT SUCH AS WOULD BE,SUITABLE FOR LETTERS & DOCUMENTS. ,WORDS ARE NOT BROKEN AT THE END,OF A LINE AND THEY CAN EVEN BE,HYPHENATED..,  FOR THOSE OF YOU WHO MAY WISH TO,EXAMINE THE PROGRAM FOR IT'S,"TUTORIAL VALUE, A DESCRIPTI-------------:  G R E E T I N G S, =================,,  " YOU ARE READING THE OUTPUT OF",A 'HOME-BREW' PROGRAM THAT I HAVE,CHOSEN TO CALL 'POOR MAN'S WORD,"PROCESSOR. BASICALLY, A WORD",PROCESSOR ACCEPTS INPUT FROM THE  KEYBOARD AND DISP:LINE$"END"Ā* NUNU1:NU45Ċ0:2309 1:" 80N"] C1ĺ" "LINE$:220 C2L(LINE$):20L2);LINE$:220 L(LINE$):40L);LINE$ :50,63:"PRESS ANY KEY TO TURN PAGE.";:50,255:R$ NU0::  ---------- P O O R M A N ' S "E d:" W O R D P R O C E S S O R "h n11:" C H O O S E ...":: x" 1. LEFT JUSTIFIED": " 2. CENTERED": " 3. RIGHT JUSTIFIED" 22:" YOUR CHOICE PLEASE ..";:C :I1500 LINE$  ..POOR MAN'S W/PROCESSOR< BY: MURRAY MACKENZIE,Y 38 INNISWOOD DR.,w( SCARBOROUGH, ONT.,2 CANADA. M1R 1E5< TEL:(416) 757-1729F ------------------------P33,40::10::"MURRAY MACKENZIE":: Z"           #";P:140 :"DO YOU HAVE A LOWER-CASE CHIP? N";(8);:A$:A$:A$"Y"ĺ:"YOU WILL HAVE TO RUN THIS PROGRAM AGAIN.":23:" RUN 140":22:(4)"BRUN LC-KILLER.OBJ" ::X12:8:A$:A$::::X18:A$:A$:::X17:A$:A$::::P0İ200Q X0d::X12:8:A$:A$::::P0:10:"DO YOU WANT THIS INFORMATION LISTED ON YOUR PRINTER ? N";(8);:B$::B$"Y"ī130n:"IN WHICH SLOT IS THE PRINTER ? 1";(8);:P$:P$:P(P$):P1P7P1 x:"ENSURE PRINTER IS ON-LINE":200:(4);"PR             THE TEXT FOR THIS PGM. IS INCOMPLETE ALTHOUGH THE",PROGRAM PROPER IS O.K. IT IS ONLY AN EVOLUTION OF P.M.W.P.-40.,," HAVE FUN",," MURRAY MACKENZIE" ENDORMATTING TO PRINT 'CENTERED' TEXT.,,NOW IS THE TIME,FOR ALL GOOD MEN,TO COME TO,THE AID OF,THEIR,PARTY.,,t TWO AND NOW I'VE SWITCHED BACK TO LEFT JUSTIFIED FORMAT. IT IS,DONE BY JUST INSERTING THE SWITCH COMMAND IN DATA. ,,"P.S. - SORRY,GIVE A LITTLE RIGHT MARGIN","AND SET POKE 33,33 FOR ENTERING DATA ...ALSO FOR EDITING."  ," ============= ", THREEj ...NOTE THAT I HAD INSERTED A COMMAND IN TEXT SWITCHED THE,FAT /" ,"NOTE ALSO THAT INSTEAD OF ENTERING NULL QUOTES FOR A LINE FEED,","I AM JUST ENTERING AN EXTRA COMMA. WORKS THE SAME AND IS EASIER."Z ," ANOTHER OBSERVATION IS THAT IF LEFT MARGIN OF ABOUT 10 IS","CHOSEN A TEXT WIDTH OF 70 IS LEFT. NTED. THUS, THE N-SPACES",GIVE N-MARGIN. RATHER PRIMITIVE BUT IT DOES WORK. THE PROGRAM COULD BE EXPANDED FOR USER SELECTION OF MARGIN - PRINT/CRT - ,LINE WIDTH - POKES - ETC. I WILL CONTINUE AND YOU'LL PROBABLY,HEAR FROM ME AGAIN ... SORRY 'BOUT THO HEAR OF THEM ADDITIONS TO THE PREVIOUS PROGRAM RELATE MOSTLY TO MY USE OF THE,CENTRONICS 737 PRINTER. THE P.M.W/P DID NOT HAVE THE OPTION OF,SETTING A LEFT MARGIN. I'VE NOW ACCOMPLISHED THIS BY CHANGINGX"OPTION 1 SO THAT (N-SPACES)+DATA IS PRITINGS TO ALL,================,  " THIS IS A SAMPLE OF THE OUTPUT OF P.W.M.P. I'VE MADE A FEW",CHANGES SINCVE THE PROTOTYPE.. THERE IS PLENTY OF ROOM FOR FURTHER,EVOLUTION.  IF ANYONE DEVELOPS ANY INNOVATIVE IDEAS I WOULD BE VERY PLEASED,T ^R$:NU0:936:9 `0::"<>";::R$O aNU0:1:" 80N":X h0: r " 38 INNISWOOD DRIVE,"," SCARBOROUGH,ONT.,"," CANADA. M1R 1E5.",, | "A P P L E C A N",,GREEEE"C3:! LINE$"FOUR"C4:8 LINE$"TWO"C2:a C1Ċ1:" 80N":" "LINE$:320 "C2ĺ" "LINE$:320 ,C3L(LINE$):40L2);LINE$:320 6C4L(LINE$):80L);LINE$ @ J.. T::" << PRESS ANY KEY >>";:USTIFIED (TO DOUBLEVISION CRT)":I 22:" YOUR CHOICE PLEASE ...";:CX :I1500u LINE$:LINE$"END"ī360 .. GET A LINE OF TEXT FROM DATA NUNU1 C1ī208 NU22İ340 NU44İ352 .. "80N"=(CTL-I 80N) LINE$"THR" W O R D P R O C E S S O R "Q n10:" (BY: MURRAY MACKENZIE)":: x" 1. LEFT JUSTIFIED (TO 80 COLUMN PRINTER)": " 2. LEFT JUSTIFIED (TO DOUBLEVISION CRT)": " 3. CENTERED (TO DOUBLEVISION CRT)":! " 4. RIGHT J  ..POOR MAN'S W/PROCESSOR< BY: MURRAY MACKENZIE,Y 38 INNISWOOD DR.,w( SCARBOROUGH, ONT.,2 CANADA. M1R 1E5< TEL:(416) 757-1729F ------------------------P:5Z" P O O R M A N ' S "# d:     נԠĠԠΠРİϠԠӠԠŠijϭijàԠŠΠРijˠϠijҠԠ٭àҠ٠àנĠàŲƾŲàԠŲŠΠĠΠנĠԠԠΠĠΠԠԠΠ٠Ԡ٭ҠϠij٠Ġ٠РӠԠѠҠӭҠ٠Ԡ٭Ҡ٠ŠŠIJϭIJԠ٠ΠàҠ٠àĠàűƾűàԠűƠŠΠƠĠΠĠ͠°ŠΠ°ԠԠΠؠؠӠؽѠбӭϠбРıˠϠıбРƶԠҠ˱àԠР٠ŠԠŠIJϭIJàԠР٠Ҡ٭ҠϠı٠Ġ٠РӠԠϠѠ˱ӭ˱IJؠĠؠŠԠΠ٠Ԡ٭Ҡ٠ӠԠŠıϭıàԠؠέנ͍Ġ΍ŠԠ̠ϠŠΠӠŠӠЍǠԠԠĠŠԠΠנĠŠΠ٠ԠEGIN SNOOPING IN MEMORY, AND LET THE PROGRAM DO THE REST. INVERSE CHARACTERS INDICATE TOKENIZED WORDS. A GOOD PLACE TO START IS 0800, WHERE MOST APPLESOFT PROGRAMS BEGIN." <23:"]BRUN DISPLAY ASC PAGE BY PAGE.OBJ" F22: TS BY DISPLAYING ONE 'PAGE' OFMEMORY, OR 100 HEX (256 DECIMAL) BYTES, AT A TIME. IN THE APPLE ][, MEMORY IS DIVIDED INTO 256 'PAGES' EACH HAVING 256BYTES, FOR A TOTAL OF 65536 BYTES OF MEMORY." 2:"SIMPLY ENTER THE STARTING LOCATION AT WHICH TO B" * DISPLAY ASCII EXPLANATIONc::T$"DISPLAY ASCII PAGE BY PAGE INSTRUCTIONS"::T$:::"THIS MACHINE LANGUAGE PROGRAM WILL ALLOWYOU TO LOOK INTO THE CONTENTS OF MEMORY PAGE-BY-PAGE TO DETERMINE WHAT ARE THEIRCONTENTS." (:"IT DOES THI  ON, PARAGRAPH",SEPARATIONS AND MARGINS IS EASILY ,ACHIEVED. FULLY COMPATABLE WITH ALL,UPPER/LOWER CASE ADAPTORS AND 80 COL-,UMN BOARDS.,  " MURRAY MACKENZIE."  ENDRBE HELD,IN JUST ONE APPLESOFT STATEMENT.,  " AS A SUBROUTINE, IT CAN BE USED",FOR FORMATTING TEXT OR INSTRUCTIONS,WITHIN A PROGRAM - EASILY AVOIDING,SPLIT WORDS AND HALF LINES.,  " CORRESPONDENCE FORMATTED TEXT TO A","PRINTER WITH INDENTATI P::I15002LINE$:LINE$"END"Ā=LINE$Cp G R E E T I N G S, =================,*  " YOU ARE READING THE OUTPUT OF A",'HOME-BREW' PROGRAM THAT I HAVE,CALLED 'POOR MAN'S WORD PROCESSOR'.,THE BARE BONES PROGRAM COULD   YOU WANT INPUT TO GO ON (1 - 24) ?";Ri>:"WHAT COLUMN DO YOU WANT INPUT TO START AT (1 - 40) ?";C>:"WHAT IS MAXIMUM LENGTH OF LINE ?";ML>:"HOW MANY LINES OF INPUT DO YOU WANT ?";L>MLL25659100?:"YOU HAVE EXCEEDED MAXIMUM STR IN STRING,ERASE IT#=ŭI3Z$""?=Ų ERASE PREVIOUS INPUTU=ŭI2Z$(Z$,I2)x=Ų BACKSPACE CURSER,PRINT "-"=II1:CI1:R:"-";:CI1:R:50550=ŭI8ı=ū50550=u=v START OF MULTI-LINE DEMO=x=:(>"WHAT LINE DO 590<Ų ACCEPT ONLY DIGITSJ<ŭ((A$)48(A$)58)(I2I5I7)50590U<ū50550w<Ų INPUT IS LEGAL SO PRINT IT<źA$;:Z$Z$A$:II1:I4ĺ" ";:Z$Z$" ":II1<Ų AND GO FOR NEXT INPUT<ū50550=Ų BACKSPACE ROUTINE--IF ONLY 1 CHARACTEı;Ų ASCII 13 IS C. RETURN3;ŭ(A$)1350640n;Ų ONLY BACKSPACE ACCEPTABLE PAST END OF INPUT STRING;ŭ(A$)8IML50550;Ų BACKSPACE IS LEGAL ;ŭ(A$)8I150610;Ų ACCEPT ONLY LETTERS<ŭ((A$)64(A$)91)(I1I3I6)50:Z$4:Ţ23:"HIT ANY KEY TO CONTINUE: ";:A$:2000Q:DZ$"":ML7: INITIALIZE[:XŢR:Co:]Ų PRINT DASHES:bŁI1ML:"-";:I:gŲ GO BACK TO START :lŢR:C:I1:qŲ GET KEYBOARD INPUT:vžA$:xŲ ESCAPE (WITH INPUT BLANK);{ŭ(A$)42I1DE SUB-ROUTINE9IJH9IJ USE "*" TO ESCAPE (ON FIRST POSITION ONLY)N9IJ_9IJ INITIALIZEg9ĉ:9Ģ5:"POSTAL CODE :"9IJ SET START POSITION OF INPUT9R5:C159Ű50500: PCODE INPUT S.R.9 Ų DISPLAY INPUT AT NEW LOCATION:ŗ:10T IT MEANS THE LAST CHARACTER INPUT WAS Ag8ò BACKSPACE SO REPLACE PREVIOUS CHARACTER WITH A "-" AND8ò DELETE LAST CHARACTER FROM INPUT STRING8íI3Z$""8íI2Z$(Z$,I2)8II1:CI1:R:"-";:CI1:R:500508|IJ 9IJ POSTAL COXCEEDED ACCEPT ONLY BACKSPACE67í(A$)8IML50050v7ò DISPLAY INPUTTED CHARACTER AND ADD IT TO INPUT STRING7ò GO TO NEXT CHARACTER POSITION,THEN BACK FOR NEXT CHARACTER7í(A$)8ĺA$;:Z$Z$A$:II1:50050*8ò IF WE REACH THIS POINECT ALL CONTROL CODES EXCEPT IF THIS IS NOT FIRST CHARACTER,h6ò BACKSPACE OR CARRAIGE RETURN ARE O.K.6í(A$)32((A$)8(A$)13I1)500506ò IF CHARACTER INPUT IS C.R.THEN RETURN FROM SUB-ROUTINE6í(A$)13ı7ò IF LINE LENGTH IS E5Uò SET MINIMUM AND MAXIMUM LINE LENGTHS95ZíML1ML1L5díML255ML255u5fò START INPUT AT SPECIFIED LOCATION5iâR:C5kò PRINT REQUIRED NUMBER OF DASHES5nÁI1ML:"-";:I5xâR:C:I15þA$: GET A CHARACTER FROM KEYBOARD<6ò REJ40) ?";C54:"WHAT IS MAXIMUM LENGTH OF LINE ?";MLB4:50000u4 CLEAR SCREEN.DISPLAY INPUT AT NEW LOCATION4:10:Z$423:"HIT ANY KEY TO CONTINUE: ";:A$:20004¿4Oò START OF 1 LINE SUB-ROUTINE4PZ$"": SET INPUT STRING TO 0*(A$)54ĺA$:I2:N(A$):12:16+3p2120;3u BACKSPACER3z12:15:"-":2110X3` ^3 d3e}3f BASIC ROUTINE DEMO3g3h:3r"WHAT LINE DO YOU WANT INPUT TO GO ON (1 - 24) ?";R4|:"WHAT COLUMN DO YOU WANT INPUT TO START AT (1 - ROUTINE(2412:"WHICH NUMBER ?";:"-"82>12:15:I1@2HA$l2M ACCEPT C.RETURN ONLY AFTER SELECTION2R(A$)13I2ĴN49000,59000,50300,2400,25002W JUMP IF BACKSPACE LEGAL2\(A$)8I2ī21702a ACCEPT ONLY DIGITS 1 TO 5!3f(A$)480070)1J1255"1BL$BL$" ")1J11:Z13:6:"*** INPUT ROUTINES DEMO ***"16:"1. BASIC FORMATTED ROUTINE"1"2. MULTI LINE FORMAT ROUTINE"1"3. POSTAL CODE FORMAT"1"4. LIST PROGRAM"1 "5. END"2  MENU SELECTION INPUT0 INPUT/OUTPUT ROUTINES50 BY CHRIS HOWERTON;0W0 DESCRIPTION AND REM'Sm0( BY HARVEY HEINZs0-02 FOR APPLES B.C.0P 0Z$(255):Z$"": INPUT STRING0BL$(255):BL$""1 BL$=255 BLANKS-USED TO FILL INPUT STRING (LINE 6            X % i <#L INPUT HEX PAGE NO. TO START AT o >VU X i`0iLh LT VU A VVVLO COLUMNS 3:F3Y(K):Y160Y32: REPLACE BLANK SCREEN WITH SPACEL3 :W3(Y);3K:: SEND RETURN AFTER 39 TH COLUMN3"J:I3,0: PRINT SCREEN WITHOUT SCROLLING%2:M2I02:SCREEN BROKEN INTO 3 BLOCKSr2J07: BLOCKS OF 8 LINES EACH x2:2X(I40)(J128)1024: CALCULATE STARTING MEMORY ADDRESS OF EACH LINE2:3KXX38: CHANGE 38 TO 39 FOR PRINTERS WITH >40 :::::::::::::::1Zg1d::3:15:"SCREEN PRINTER"::"ENTER'EXIT' TO END 'CRTL P' TO PRINT":34,5m1i:w1nKEY$1xKEY$(16)İ200:110: CRTL P ? 1KEY$"EXIT"Ā11101:1 *** PRINT ROUTINE ***1:21:1:TURN PRINTER ON AND0 ::::::::::::::::::::::::=0: :[0: SCREEN PRINTER :y0(: BY :02: BRUCE WISE :0<: DECEMBER 79 :0F: APPLES B.C. :0K: :1P:::::::::   ` JOHN`S UTILITY LIBRARY PROGRAM L(OAD R(UN K(LOK U(NLOK X(ALL C(ATL D(EL V(RFY S(TOP Q(UIT VOL PG OF SECT-FREE N(DRIV ĿѕH!ɾL [ Q ԧLLJJJJ 0 0` [$ B  i&e L`$  ɍ ` X :$   LѕL` 8`ة;^Z_[` ` 9 X΅  [$ `( `0 Lee`8 ` :8` ^r67 Qx`4 N [ = X @^8JJJJi 0΍4`67LQ S TLQHɍh` 8 iiLح) 0L{L@^    [  Ux s r $$ a ` L  ` `ii LY/NOMONSTART ALENGTH Lx  m&NmJnm0  з0MLH c _ XHL [  ؗ  Ж mL c _ Ҡ [ C0  3  $ S!  [$ ЖLH ؗ Ж  L{И~Д [  ؗ+ $$$o  Ж 4<=>?BC ,ڍ ԧLS T  m鷽 ݌ 0 X '1  x)ȹx)ȹx)    [$ $ q L {{l UN LC-KILLER.OBJ"& P"]SAVE PROGRAM"2 Z"]RUN"8 d TPPEARS INUPPER-CASE ONLY. ONE SUCH EXAMPLE IS 'ADDRESS INDEX.LC' WHICH APPEARS ON THISIAC DISK." 2:"IF YOU DO NOT HAVE A LOWER-CASE CHIP IN YOUR APPLE AND WISH TO CHANGE A PROGRAM TO UPPER-CASE, FOLLOW THESE STEPS:" <:"]LOAD PROGRAM" F"]BR: LC-KILLER.OBJ@::T$"LC-KILLER.OBJ":14::T$:::"LC-KILLER.OBJ IS A SHORT UTILITY BY ERICLAMBRECHT, PUBLISHED IN THE MARCH 1982 ISSUE OF CALL-A.P.P.L.E."c (:"IT IS DESIGNED TO CHANGE A PROGRAM WHICHBEARS LOWER-CASE TO ONE WHICH A ) 1000000000X.01X01 iA$"$"(X):X1(A$)H n(A$,X,1)"."130O sXd xA$A$".00":140} X1(A$)A$A$"0" X2(A$)A$(A$,X2) X7174 (A$)XA$(A$,(A$)X1)","(A$,X1) X (A$)5A$(A$,1)"0"(A$,3100. BEFORE MERGING / W WITH YOUR PROGRAM I X "DEL" LINES 10-95 h ZSEND THE VAL. TO BE FIXED [ IN THE VAR. X \ THE RESULT IS RETURNED ] IN THE VAR. A$ ^ THE VAR. X IS SCRAMBLED _************************* dX   :m" ----------------------------------------":"NUMBER TO FIX ? ";X::X;:100:40(A$))A$:20P*************************R IT WILL NOT EXCEPT SNUMBERS >=1000000000 OR T <.001 U MAIN ROUTINE STARTS AT  VLINE    Ȓ :L s ?LُL7^8_9Z:[`1'8tp`8M``i^j_kZl[`28tp`8M`y h (`|)* X |`YLHHJhh`Ǘ˯߷ë󳏋'C/cO KC[ a(נ)+Ss?ՠ) K(LOK U(NLK D(EL Q(UIT ----------------------------------------VOL PG OF SECT-FREE N(DRIV ---------------------------------------- $% 0 4'  `` C iiLح) 0JJJJ 0 0`% $ B2 3 3 Hi&eh Li`$3  ɍ ` X̅0 `JOHN'S SUPER UTILITY PROGRAM L(OAD R(UN C(ATRIFY\  2m2R&QPNQmRJnPmPee2`8322 ` :` 3^څ6789 Q H Ȓ @^38JJJJi 0`6798 Q`Hɍ3h`` 6  H5/5 s r > a ` `$$(ɠ$I $4 ``H$%  h\  `CATALOG\Y/N\LOAD\LOCK\UNLOCK\RUN\SAVE\DELETE\NOMONC\START A$\ LENGTH L$\,D\I/O ERROR\VELLx4 6 s j S5 B ꐭ5 L L P65 s j00   L222  Lx SO qLЪVТ2'56 s j S" $ j q L :L9% 5 I8Mt;=CH?JÍ QVQT_ɔ%8^7Z9[:^Z_[ 04 q1  )ȹ)ȹ)   L jɠ 0   LL M4'4В  X5 QLi6ghL a8 ȱ855 NNND:DPZNNNDDP3 NNNN3:NNW1055X SN$",":(NB$,NN,W)" "SN$" " NB$(NB$,NN)SN$(NB$,(NB$)NN):1040 SN$" ":NBZSN$"-" $NB$NB$SN$: .=======================W***":Z0:W13 NB$(((NB(510(DPW)))10DP))Y (NB$,W)"-"NB$(NB$,(NB$)W)v (NB$)NDNB$(AS$,ND) NNDPW(NB$):NNZNB$(ZS$,NN)NB$ NNND(NB$):NNZNB$(SP$,NN)NB$ DPZNB$(NB$,NDDP)"."(NB$,DP) CMZ10DP& (" WANT COMMAS (Y OR N) ";R$< 2CM0:R$"Y"CM1_ 7"---------------------------"~ <"NUMBER TO BE EDITED ";NB ANB F1000::NB$::55 ========================  USING SUBROUTINE SP$" ":ZS$"00000000":AS$"***** COMMAS! = 0 IF YOU DON'T9 WANT COMMASW NB = NUMBER TO BE EDITED] | EDITED NUMBER IS RETURNED IN THE STRING NB$ ------------------------ :5 "MAXIMUN NUMBER OF DIGITS ";ND "NUMBER OF DECIMAL PLACES ";  USING( IMITATES PRINT USINGH SUBROUTINE STARTS AT 1000c PASS IT 4 PARAMETERS ND = MAX NUMBER OF DIGITS DP = NUMBER OF DIGITS TO THE RIGHT OF THE DECIMAL POINT CM = 1 IF YOU WANT     ZQZ ˨˨ ӭ˨˨˨˨ ͺ˨˨ ˨˨ ͭ˨˨˨˺Š٭˨˨˨˨ ˨˨ ӭ˨˨˨˨ ˨˨ ź  Ԡ٠Т ؠٺ ͺ˨˨ ӭ˨˨˨˨ ˨˨   $,(H1),W):W: xV1(20H):R:(41HV):(A$,H)" ":VL R:255:20: :(7):(7):6:"HEY! TURKEY!! LESS THAN 38 SPACES!!!":12:A$(N)"":30N "ENTER LINE NUMBER ";N:A$(N):(A$(N))38140K (A$(N)""NN1:30c 2:R1N1:A$A$(R)~ <A(A$):(A2)A290 FA$A$" ":A(A$) ZHA2:200 _X1H:R:(A$,1,X):X dY1(20H):R:Y:" "(A$,H):Y nW1H:R:(40W):(A ::4:" BANNER DEMONSTRATION PROGRAM":::"YOU MAY ENTER UP TO 24 LINES; EACH MUST CONTAIN LESS THAN 38 CHARACTERS";", BUT NO COMMAS OR COLONS.":::N1:A$(25):"WHEN FINISHED, SIMPLY HIT 'RETURN' WHEN PROMPTED FOR THE NEXT LINE."::2  IED: JAN 09, 1982 I03 I 6 (P$)3P$"0"P$:220<  *************** * * * PADDLE TEST * * * * BY: * * PETER * * WYSPIANSKI * * * * JAN 2, 1982 * * * *************** LAST MODIFAM HALTED BY USER":8:"CONTINUE?";:G$:G$"N"Ģ10:1:958:40G ZV dP$((0))_ n220 xB1$"OFF":(16287)127B1$" ON" 5:" "P$;:14:B1$; P$((1)) 220 B1$"OFF":(16286)127B1$" ON" " "P$;:30:B1$ / KBD16384:STB16368:B116287:B216286L::14:"[PADDLE TEST]"w3:5:"PDL(0) PB(0) PDL(1) PB(1)"(10:8:"PRESS ANY KEY TO HALT"2100:READ PADDLES<190:DELAY HARDWAREFG(KBD):G12850A PSTB,0:10:8:(7)"PROGR    USE 'SHIFT P' TO TOGGLE ON/OFF"B "5 KEYS Y-U-I BECOME 7-8-9"d " H-J-K 4-5-6" " N-M-, 1-2-3" " SPACE -0- "  >>> TYPED IN BY C. E. WALKER ON 26 APRIL 81 <<<dH d:n5:15:*" NUMPAD ":T::" THE PHANTOM APPLE KEYPAD!":" BY RAUL CARTAYA, IN NIBBLE VOL2 NO.2"::"INSTRUCTIONS:":"1 BLOAD NUMPAD.MACH""2 CALL 768""3 RUN ANY PROGRAM YOU WISH" "4  SOFT A JUMP TO SUBROUTINE IS":"DONE TO THE AMPERSAND VECTOR WHERE A":"'JMP' SENDS IT ON IT'S WAY. BECAUSE THE"""BASIC INTERPRETER DOES NOT CHECK THE":"SYNTAX PAST THE '&' PARAMETERS MAY BE":"PASSED BY APPENDING THEM AFTER THE COM-":"MAND. THE 'PO"CONTENTS OF THE AMPERSAND VECTOR AND":"SAVES IT TO ALLOW PASSAGE OF A CALL TO":"THE 'OTHER' ROUTINE. THE VECTOR IS THEN":"OVERWRITTEN WITH THE STARTING ADDRESS":"OF THE 'POKE 33' ROUTINE.":p" WHENEVER AN AMPERSAND IS ENCOUNTERED":"BY APPLENE LAST, THEN INITIALIZING THE":"OTHER ROUTINES WILL CAUSE THE AMPER-""SAND VECTOR TO BE OVERWRITTEN (AS OPP-":"OSED TO BEING SAVED).":360:15)"HOW IT WORKS"::" THE INITIALIZATION PROCESS HAS BEEN":"DESCRIBED. IN ESSENCE, IT PICKS UP THE"D":"THEN TRY CALLING IT !. RESULTS MAY BE":"UNPREDICTABLE. THIS IS DUE TO THE WAY":"THE ROUTINE EXITS (VIA A 'JMP' TO DOS'S":"WARMSTART ROUTINE @$3D0)."G:" THE ROUTINE SHOULD BE INITIALIZED":"AFTER ANY OTHER AMPERSAND CALLED ONES.":"IF NOT DOMPERSAND VECTOR.":360:10)"HOW TO USE CONT'D":" INITIALIZATION IS DONE BY EITHER":"'BRUN'ING THE BINARY FILE OR BY USING":"THE SAME PROCEDURE AS IS DONE WHEN":"INITIALIZING A RELOCATABLE FILE LIKE""'APA'. DO NOT BLOAD THE BINARY FILE ANIDES @ $300.":" THE RELOCATABLE VERSION IS INTENDED":"TO BE 'CALL'ED BY A BOOT PROGRAM (AS IS":"EXPLAINED IN THE DOS TOOLKIT). ":" IN ALL CASES THE PROGRAM MUST BE"1"INITIALIZED BEFORE USING.":"THIS IS NECCESSARY, IN ORDER TO SET UP ":"THE AH THE APPLE":"ASSEMBLER (INCLUDED IN THE DOS TOOLKIT)""THE SECOND, IS THE RELOCATABLE VERSION":"OF THE BINARY OBJECT CODE FILE, SUITABLE":"FOR USE WITH THE RELOCATING LOADER IN":"DOS TOOLKIT. THE THIRD IS A 'BRUN'ABLE""BINARY FILE. THIS RESETERS" "(IE CALLED BY THE AMPERSAND ITSELF)":"WILL NEVER BE RUN. THIS IS NOT A":"PROBLEM WITH THE 'APA'.":360:10)"HOW TO USE":7" SEVERAL VERSIONS ARE INCLUDED ON THE":"DISKETTE. THE FIRST IS THE TEXT OBJECT":"SOURCE FILE, COMPATIBLE WITOUTINES.":"IF THE AMPERSAND DOES NOT INCLUDE ANY":"PARAMETERS, THEN THE ROUTINE ASSUMES" "THAT THE SCREEN WIDTH IS TO BE TOGGLED":"ELSE EXECUTION PASSES TO THE INTERCEPTED":"ROUTINE. A LIMITATION TO THIS IS THAT":"AMPERSAND ROUTINES WITHOUT PARAMOL-" "KIT', I DID NOT WISH TO EXCLUDE ONE":"FACILITY WHEN USING THE OTHER. IN ORDER":"TO OVERCOME THIS OBSTRUCTION I SET UP":"THE PROGRAM TO PICKUP THE CURRENT VECTOR"Z "FOR THE AMPERSAND COMMAND, SAVE IT, AND":"TEST INCOMING CALLS FOR OTHER R"-AMPER-EDIT' BY BOB GILBERT), I WROTE":"AN ASSEMBLY LANGUAGE ROUTINE CALLED BY":"THE AMPERSAND COMMAND TO TOGGLE BACK" "AND FORTH BETWEEN NORMAL AND EDIT MODE.":360:" SINCE I ALSO USE THE 'APPLESOFT PRO-":"GRAMMERS ASSOSTANT' FROM THE 'DOS TO"THE OLD MONITOR ROM). IT GETS A BIT" x"TEDIOUS, TO HAVE TO TYPE THE SAME THING":"(AND POKE33,40) OVER AND OVER AGAIN."::" A BETTER THING IS TO HAVE MY APPLE":"DO IT FOR ME. USING AN IDEA FROM VOUME"z "2, NO. 5 OF NIBBLE MAGAZINE (THE 'MINI":}d:2:15)"POKE 33":14)"---------"::" WHILE EDITING APPLESOFT PROGRAMS, I":"OFTEN FIND IT CONVENIENT TO USE THE"% n"'HOME:POKE33,33' SEQUENCE. THIS LETS ME":"ALTER A BASIC LINE WITHOUT ANY INTER-":"VENING SPACES TO CURSOR OVER. (I HAVE":       k6.7/8798_-67689`` Y`L Y M__L6`,_ˢ a0 0ͬɑ