@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@W!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr @?K*HuJ 5RԩF mE@ z?ɛ%ALs@z?G>Gɛ@GL@ aE 5 *HL*}F mE@ z? aE P L@~H-HHHH E EH~H aE aE `@KԩH mE}ԩG mE0DGEJKB LAEHH~H软G> H: Hɛ?H@H0BDGEHI 0L}DLAEVԩH mE CLAԩH mE aE˅ԩH mE 1 aE aE @LA52LA3LX@ 5L@ 5ԩI mEԩJ mE }-<ԩI mE Hz?Jɛ;@JJ8ԩJ mE HԩJ mE LA 2 LA }H ;LC 5 20 B}DJE@HI ԩI mEԩJ mE 3(ԩI mE 0 BzD?E }@HI LC0 BDJE@HI HHHHH E=0 BDGE HHI 0 BDE } HI HɀШ D0 B/DHEHI 5TԩJ mE L@@HԩG mEHHL{DH~HԩH mELUD }ԩH mE ~HHHHHHHHz?UL|Dz?HɛLLDHH EͫHLDHH͇HLD~HHH aE  }H mEԩG mEH@H`HH EHH͇HLLD 8H`G+tԩH mE6ԩH mEHH  gE E C}LPA @ԩH mELD(tԩH mEJԩH mE CLPA)@ԩH mELELPAhԩH mEG  CLPA)H ԩH mE)H  aE } 5L@ ` `@ ``H HH gE  #`@KH `i潅LE~H}~HH EG ȑ.ȑG ȑ  G EH` ArcViewing }| Enter Dx:Sub>Filename.ext|> @} Z INNOVATORS CO. |}|| CopyRight (C) 1988 || Enter DIRectory Filespec || Dx:Sub>*.* No FileN}ames! || A To ArcView |> @D1:12345678911234567892123}456789312345678941234567895123456789612345678901234567890123@Ҡ@㠾 @*.*@堠 @}@ @Ϡ@ @_______@Ԡխ>@硠@ǡ}@} Super ArcMate Menu |۱ݠ Show Selected Files ||۲ݠ Create Batch File |}|۳ݠ EXIT To Dos (CANCEL)||۴ݠ Run Program Again |> @Ԡ忠} @à忠 @堠 @Ԡ堛ԡ@}Ԡ @蠠@ 0@D1:ARC.COM@}@D1:ARC.BAT@@D1:TEMP.ARC@}@@S@S@hLcL3 iJ i Lqp 0=rspnqopqlk`jZj0  j FL`HCOMPILE DOC for CRPALMACFILES NEEDED:CRPALMAC.LSTCRM65.LSTCRMACM65.LSTCOMPACT.COM All the MAC65 files above ar}e listed. You must convert them to SAVED files first. ENTER each one and then SAVE each one with the following names:CRPA}LMAC.LST ->> CRPAL.MACCRM65.LST ->> CR.M65CRMACM65.LST ->> CRMAC.M65 The source to CR.PAL is the CRPAL.MAC }file. That file uses the other two as .INCLUDE files. CR.M65 is the equate file. CRMAC.M65 has some MACROS. In order to c }reate the CR.PAL program, use the following steps:-1- LOAD CRPAL.MAC and change the drive numbers on the include filenames !}to match the drive where those files can be found. You will see the .INCLUDE commands at the beginning of the CRPAL.MAC file"}.-2- Assemble the program with this command (use your drive number). ASM,,#D7:CR.PAL-3- Go to DOS and run COMPACT.COM. #}Enter the filename CR.PAL, and the program will be compacted. The program CR.PAL is now ready to run as a module under$} PAL.COM. Notice that whenever you COMPACT your modules, that the addresses are listed on the screen. Pay particular attent%}ion to the last address on the list. For OFFLINE .PAL modules, that address must not exceed $A000. For online OASIS (and of&}fline programs that run on OASIS), the limit is $5800.OFFLINE limit $A000ONLINE limit $5800 When you write your ow'}n OASIS.PAL module, you must assemble it with a starting address of $4000. RUN CARTRIDGq@iFRkD,lDuԩD EDԩD EDO z? /fD CL[D 8 5"ԩF CԩE EDO z?<ԩE ED)}  L@gD 2fD CL[D 5FԩF CPԩE ED"ԩF EDfԩE EDFԩF EDgD qԩE EDԩE ED h*}DA8B4C0ԩE EDLiFqDrD`jrmDnD` A  C AqDrD tD LB L0BLAɛL+}WB` hDA DL{B LA{LAɠLALAhDA DL{B| DL{BLAhDA DL{B DL{BhDA DL{B8tD逍tD DL{B,}hDAL{BB/~tD DL{BhDAL{BBɛL{BtD DL{B DL{BhDA tD DL{BB tD DL{B DL{BhDAB DL{B -}tD D tD DL{BqDiDL?ArDjDL?AsDɈsDHH BL9AFF 2mDoDnDpD0 BkDrEoDHpDI fD CL.}[D 5sDɉ` ԩF EDFԩF ED hhhhLfD`Ɉ sD`` 5 ԩE EDfD  fDɪɂɣ#ɥ-L.C΅ԩ/}D EDL.CۅԩD EDL.CԩD EDL.CԩD EDL.Cȹz?ɛȩ@`"F /fD CLYD ;kDoDlDpD0BjDFEo0}DHpDI fD CLYD0HiDIjD 8 5`mDnDtD LYDmDkD`nDlD` B A`@ `hh 51} L} ~|OASIS PAL Line Converter O8/24/88|@Aborted ... @Enter Read Filename With D: @Bad Name ! @B2}ad Device ! @Bad WildCard!@Filename Error !@@Enter Filename To Copy To With D: @Append ? [Y/N] -> @My Job 3}:Copy From:@Copy To:@@ Choose One Job Strip [CR] To ATARI To ASCII 4}Quits Your Choice-->>>@ CANCELLED !!! @Saved To @D?:????????>????????>????????.???@D?:????????>?5}???????>????????.???@jrjrkkB BDDEEHI VHHIIH 1ɈL1 B!10 ;CR.M6520 .OPT NO LIST30 CLOSE_FILE = $063540 VFLG = $06D850 EOL = $9B60 PUTCHAR = $061770 UGETCHAR = $ 7}060880 INBUFF = $3F7A90 CIOV = $E4560100 GET_YESNO = $06140110 GNUM = $AB0120 OPEN8 = $B9F00130 DISK_JOB = $B9A40 8}140 OPEN_UPDATE = $06320150 EXIT = $06020160 AT = $400170 PUT_NUMBER = $06230180 NOTE = $06380190 POINT = $063B020 9}0 VIEW_ARC = $06500210 PUT_ANUM = $06200220 SECLO = $B70230 SECHI = $B80240 SECBYTE = $B90250 UGETLINE = $06110260 FSPE :}C = $9A0270 BUFLO = $03440280 BUFHI = $03450290 AUX1 = $034A0300 AUX2 = $034B0310 IOCMD = $03420320 LENLO = $0348033 ;}0 LENHI = $03490340 OPEN_READ = $062F0350 Z6 = $BA0360 Z7 = $BB0370 Z8 = $BC0380 Z9 = $BD0390 ABORT_STAT = <}$B6B30400 ABORT_CLEAR = $BA830410 BBS_CIO = $BAAA 0 L1) 1 L!BAD LOAD FILELOAD FROM WHAT FILE?) 0 410 ;CRMAC.M6520 .MACRO OPENDIR 30 LDX #%2*1640 LDA # <%150 STA BUFLO,X60 LDA # >%170 >} STA BUFHI,X80 LDA #%390 STA AUX1,X0100 LDA #%40110 STA AUX2,X0120 LDA #30130 STA IOCMD,X?}0140 JSR BBS_CIO0150 .ENDM 0160 .MACRO SETFILE 0170 LDA # <%10180 STA FSPEC0190 LDA # >%10200 @} STA FSPEC+10210 .ENDM 0220 .MACRO OPEN_IT 0230 LDX #%2*160240 LDA # <%10250 STA BUFLO,X0260 A}LDA # >%10270 STA BUFHI,X0280 LDA #%30290 STA AUX1,X0300 LDA #30310 STA IOCMD,X0320 JSR BBS_CIOB}0330 .ENDM 0340 .MACRO PAT 0350 LDA # <%10360 STA $D40370 LDA # >%10380 STA $D50390 JSR XPC}AT_LOOP0400 ;IN MAIN PROGRAM0410 .ENDM 0420 .MACRO PCR 0430 LDA # <%10440 STA $D40450 LDA # >%1046D}0 STA $D50470 JSR PCR_LOOP0600 .ENDM 0610 .MACRO CR 0620 LDA #1550630 JSR PUTCHAR0640 .ENDME} 0650 .MACRO TRANSFER 0660 ;0670 LDX #%1*160680 ;0690 LDA #%20700 STA IOCMD,X0710 LDA # <%30720 F} STA BUFLO,X0730 LDA # >%30740 STA BUFHI,X0750 LDA LOBITE0760 STA LENLO,X0770 LDA HIBITE0780 G}STA LENHI,X0790 JSR BBS_CIO0800 .ENDM * ? ɛ,`|:-)| / 1L!`DESTINATION CANT BE DO1CRPAL.MAC DOC # 1 THEORY OF OPERATION We want a program that will convert Ascii files to Atari, and vice I}versa. We also want an option to strip all carriage returns. We take our available buffer space and divide it in half. HalJ}f is for a read buffer, and the other half is for a save buffer. We read in the file to be converted, and save our spot wherK}e we left off reading. We also keep track of exactly how many bytes were read, because near the end of the read file, we wilL}l not get a full buffer's worth. We read each character in the read buffer one at a time. We test each CHARacter to see if M}it needs converting, according to the conversion method selected. Depending on the conversion method, sometimes we saveN} the CHAR as is, or we convert it, or we skip it. Meanwhile, every time we ADD another CHARacter to the save buffer, we mustO} keep track of how many bytes we have to be saved so far. When the save buffer fills, we save it with an append command. P} When we read in the LAST block of the read file, we will get an ERROR # 136 for END OF FILE. We set our variable END_FIQ}LE to 136. When we have converted the last CHARacter in the read buffer, we check the value in END_FILE. If END_FILE is 136R}, we increase it to 137, and we go to the save buffer routine. The save buffer routine will check END_FILE, and if it is 137S}, the game is over. An excellent programming exercise, would be to add the ability to convert files to any column widthT} between 20 and 132. An approach to that task could be to set the program to strip CR's, and count the characters in a line.U} As the line's character count approaches the width limit, then you must find the nearest SPACE within the limit. BacktrackV} to the space and substitute a CR for it. The subsequent characters would go to the beginning of the next line. HAVE FUN!}10 .OPT NO LIST20 .INCLUDE #D7:CR.M6530 .INCLUDE #D7:CRMAC.M6540 *= $400050 .LOCAL 60 ;7X}0 ; CR Stripper $ Converter80 ;90 LDA #00100 STA 820110 ;0120 ;left margin=00130 ;0140 LDA #00150 SY}TA LIMIT_LO0160 LDA #440170 STA LIMIT_HI0180 ;0190 ;buffer limits0200 ;0210 PAT TITLE0220 PAT RDFIZ}LE0230 ;0240 ;display title and ask for filename to read0250 ;0260 LDA #790270 STA GNUM0280 ;0290 ;limit respo[}nse to 79 characters0300 ;0310 JSR UGETLINE0320 ;0330 ;get a line forced uppercase, it goes into INBUFF0340 ;0350 \} SETFILE INBUFF0360 ;0370 ;put lo/hi byte of inbuff location into fspec and fspec+10380 ;0390 JSR OPEN_READ0400 ]};0410 ;use BBS open for a read routine does close/open modem automatically0420 ;0430 STY :ERROR0440 JSR :ERROR_RO^}UTINE0450 BPL :NOPROB10460 JMP :LEAVE_PROGRAM0470 :NOPROB10480 JSR NOTE0490 ;0500 ;note where we left off i_}n read file0510 ;0520 JSR CLOSE_FILE0530 LDA # READ_NAME0560 STA `}$D50570 JSR :MOVE_NAME0580 ;0590 ;move filename from inbuff to read_name address0600 ;0610 PAT COPYTO0620 ;0a}630 ;ask for filename to copy to0640 ;0650 LDA #790660 STA GNUM0670 JSR UGETLINE0680 SETFILE INBUFF06b}90 PAT N_OR_A0700 ;0710 ;ask if yes or no to append0720 ;0730 JSR GET_YESNO0740 ;0750 ;returns 1 in Y for YESc}0760 ;0770 CPY #10780 BEQ APPEND_IT0790 JSR OPEN80800 ;0810 ;use open for a write routine0820 ;writes a ned}w file0830 ;0840 JMP CONT_10850 APPEND_IT0860 STY APPEND0870 LDA #90880 STA DISK_JOB0890 JSR OPEN_e}UPDATE0900 ;0910 ;put a 9 into disk_job to make the open_update routine do an append0920 ;0930 CONT_10940 STY :ERRORf}0950 JSR :ERROR_ROUTINE0960 BPL :NOPROB20970 JMP :LEAVE_PROGRAM0980 :NOPROB20990 JSR CLOSE_FILE1000 g} LDA # SAVE_NAME1030 STA $D51040 JSR :MOVE_NAME1050 ;1060 ;move filenh}ame from inbuff into save_name address1070 ;1080 PAT RECAP_11090 PAT READ_NAME1100 PAT RECAP_21110 i} PAT SAVE_NAME1120 LDA APPEND1130 BEQ NOT_APPEND1140 PAT WITH_A1150 NOT_APPEND1160 PAT CHOOSE0117j}0 ;1180 ;display choice menu1190 ;1200 JSR UGETCHAR1210 STA JOB1220 ;1230 ;get one character response and forcek} to uppercase1240 ;1250 CMP #651260 BEQ BEGINNING1270 CMP #661280 BEQ BEGINNING1290 CMP #671300 l} BEQ BEGINNING1310 ;1320 ;if not 65-67 (A,B,C) then quit1330 ;1340 PAT NEVERMIND1350 JMP EXIT1351 ;1352 ;sum}broutines to restore buffers1353 ;1360 :RESTORE_READ1370 LDA # READ_BUFF-n}11400 STA Z91410 LDA #01420 STA GMS_LO1430 STA GMS_HI1440 RTS 1450 :RESTORE_SAVE1460 LDA # SAVE_BUFF-11490 STA Z71500 LDA #01510 STA LO1520 STA HI1530 p} RTS 1540 ;1550 ;put the lo/hi bytes of the buffers into zero page addresses1560 ;1570 BEGINNING1580 JSR :RESTORE_Sq}AVE1590 CR ;carriage return1600 NEXT_STEP1610 GET_ANOTHER1620 JSR READ_BLOK1630 JSR :RESTORE_READ1r}640 ;1650 ;get next block of text1660 ;1670 CHECK_LOOP1680 INC Z81690 BNE WONDERFUL1700 INC Z91710 WONDERFs}UL1720 INC GMS_LO1730 BNE OH_OKAY1740 INC GMS_HI1750 OH_OKAY1760 ;1770 ;clear abort variable so we can chect}k if CONTROL-C is hit1780 ;1790 JSR ABORT_CLEAR1800 LDY #01810 LDA (Z8),Y1820 STA CHAR1830 ;1840 ;get u}CHARacter from read buffer and save it in CHAR and go check it1850 ;1860 CMP #101870 BNE NOT_101880 JMP ITS_1v}01890 ;1900 ;10 is ascii linefeed1910 ;1920 NOT_101930 CMP #131940 BNE NOT_131950 JMP ITS_131960 ;1970 ;w}13 is ascii carriage return1980 ;1990 NOT_132000 CMP #82010 BNE NOT_82020 JMP ITS_82030 ;2040 ;8 is ascii x}backspace2050 ;2060 NOT_82070 CMP #1552080 BNE NOT_1552090 JMP ITS_1552100 ;2110 ;155 is atari End Of Liney} (EOL)2120 ;2130 NOT_1552140 CMP #962150 BNE NOT_962160 ;2170 ;96 is atari diamond symbol `2180 ;2190 LDAz} JOB2200 CMP #65 ;A strip CR's2210 BNE NOT7_652220 JSR INCR_SAVE2230 ;2240 ;keeps track of pointer in sa{}ve buffer, and prints each char.2250 ;2260 NOT7_652270 JMP FIX_IT2280 ;2290 ;checks for end of read buff2300 ;2310|} NOT_962320 CMP #32 ;space2330 BCS BIG_322340 JMP LESS_322350 BIG_322360 CMP #1232370 BCS BIG_1}}232380 JMP ITS_NORMAL2390 BIG_1232400 CMP #1602410 BCS BIG_1602420 JMP ITS_GRAPHICS2430 BIG_1602440 ~} CMP #2512450 BCS ITS_GRAPHICS2460 JMP ITS_INVERSE2470 LESS_322480 LDA JOB2490 CMP #652500 BNE NOT}1_652510 JSR INCR_SAVE2520 NOT1_652530 JMP FIX_IT2540 ITS_GRAPHICS2550 CMP #124 ;|2560 BNE NOT_1242}570 JSR INCR_SAVE2580 JMP FIX_IT2590 NOT_1242600 CMP #252 ;2610 BNE NOT_2522620 JMP ITS_INVERSE}2630 NOT_2522640 LDA JOB2650 CMP #652660 BNE NOT1_652670 JSR INCR_SAVE2680 JMP FIX_IT2690 ITS_NORMA}L2700 JSR INCR_SAVE2710 JMP FIX_IT2720 ITS_INVERSE2730 LDA JOB2740 CMP #652750 BNE NOT5_652760 } JSR INCR_SAVE2770 JMP FIX_IT2780 NOT5_652790 SEC 2800 LDA CHAR2810 SBC #1282820 STA CHAR2830 }JSR INCR_SAVE2840 JMP FIX_IT2850 ITS_8 ; ascii backspace2860 LDA JOB2870 CMP #652880 BNE NOT9_6}52890 JMP FIX_IT2900 NOT9_652910 CMP #66 ;to atari2920 BNE NOT1_662930 LDA #126 ;atari backspace}2940 STA CHAR2950 JSR INCR_SAVE2960 JMP FIX_IT2970 ITS_10 ; ascii linefeed 2980 LDA JOB2990 }CMP #653000 BNE NOT2_653010 JMP FIX_IT3020 NOT2_653030 CMP #66 ;to atari3040 BNE NOT1_663050 LD}Y #03060 LDA (Z6),Y3070 CMP #1553080 BNE NEED_CR3090 ;3100 ;check if we already put in an atari EOL for an a}scii CR ( )3110 ;3120 JMP FIX_IT3130 NEED_CR3140 LDA #1553150 STA CHAR3160 JSR INCR_SAVE3170 JMP F}IX_IT3180 NOT1_663190 JSR INCR_SAVE3200 JMP FIX_IT3210 ITS_133220 LDA JOB3230 CMP #653240 BNE NOT3}_653250 :MAKE_SPACE3260 LDA #323270 STA CHAR3280 ;3290 ;make CR's into space3300 ;3310 JSR INCR_SAVE3320 } JMP FIX_IT3330 NOT3_653340 CMP #663350 BNE NOT2_663360 LDA #1553370 STA CHAR3380 JSR INCR_SAVE}3390 JMP FIX_IT3400 NOT2_663410 JSR INCR_SAVE3420 JMP FIX_IT3430 ITS_1553440 LDA JOB3450 CMP #6534}60 BEQ :MAKE_SPACE3470 NOT4_653480 CMP #663490 BNE NOT3_663500 JSR INCR_SAVE3510 JMP FIX_IT3520 NOT}3_663530 LDA #133540 STA CHAR3550 JSR INCR_SAVE3560 LDA #103570 STA CHAR3580 JSR INCR_SAVE3590} JMP FIX_IT3591 ;3592 ;check if read buff has all been read.3593 ;3600 FIX_IT3610 LDA GMS_LO3620 CMP BLOK_L}O3630 BEQ I_SEE3640 JMP CHECK_LOOP3650 I_SEE3660 LDA GMS_HI3670 CMP BLOK_HI3680 BEQ :GET_NEXT3690 } JMP CHECK_LOOP3700 :GET_NEXT3701 ;3702 ;if all was read, let save routine know that3703 ;3710 LDA END_FILE3720 } CMP #1363730 BNE :NOT_DONE3740 INC END_FILE3741 ;3742 ;save routine has some PLA's3743 ;3750 PHA 3760 } PHA 3770 JSR SAVE_IT3780 :NOT_DONE3790 JMP GET_ANOTHER3791 ;3792 ;return to beginning and read another buffe}r full3793 ;3800 SAVE_IT3810 SETFILE SAVE_NAME3820 LDA #93830 STA DISK_JOB3840 JSR OPEN_UPDATE3850 } LDA LO3860 STA LOBITE3870 LDA HI3880 STA HIBITE3890 TRANSFER 3,11,SAVE_BUFF3900 STY :ERROR3910} JSR :ERROR_ROUTINE3920 BPL :NOPROB33930 JMP :LEAVE_PROGRAM3940 :NOPROB33950 JSR CLOSE_FILE3960 LDA }END_FILE3970 CMP #1373980 BEQ ALLDONE3990 RTS 3991 ;3992 ;since this is a subroutine, if we exit abnormally,} must clean stack3993 ;4000 ALLDONE4010 CR 4020 PAT SAVED4030 PAT SAVE_NAME4040 CR 4050 PL}A 4060 PLA 4070 PLA 4080 PLA 4090 JMP EXIT4091 ;4092 ;catch errors.4093 ;4100 :ERROR_ROUTINE4110 } LDA :ERROR4120 CMP #14130 BNE WASIT_1364140 RTS 4150 WASIT_1364160 CMP #1364170 BNE AN_ERROR4180 } STA END_FILE4190 LDY #14200 RTS 4210 :ERROR_EXIT4220 LDY #$FF4230 RTS 4240 AN_ERROR4250 JSR CL}OSE_FILE4260 PAT BOO_BOO4270 LDA :ERROR4280 JSR PUT_ANUM4290 CR 4300 LDA :ERROR4310 CMP #17}04320 BEQ E1704330 CMP #1304340 BEQ E1304350 CMP #1634360 BEQ E1634370 CMP #1654380 BEQ E1}654390 JMP :ERROR_EXIT4400 E1704410 PAT E170_TEXT4420 JMP :ERROR_EXIT4430 E1304440 PAT E130_TEXT44}50 JMP :ERROR_EXIT4460 E1634470 PAT E163_TEXT4480 JMP :ERROR_EXIT4490 E1654500 PAT E165_TEXT4510 } JMP :ERROR_EXIT4520 :MOVE_NAME4530 LDY #2554540 MOVE_LOOP4550 INY 4560 LDA INBUFF,Y4570 STA ($D4),Y4}580 CMP #1554590 BNE MOVE_LOOP4600 INY 4610 LDA #'@4620 STA ($D4),Y4630 RTS 4640 READ_BLOK4650} SETFILE READ_NAME4660 JSR OPEN_READ4670 STY :ERROR4680 JSR :ERROR_ROUTINE4690 BPL :NOPROB44700 } JMP :CLEAR_STACK4710 :NOPROB44720 JSR POINT4730 LDA LIMIT_LO4740 STA LOBITE4750 LDA LIMIT_HI4760 }STA HIBITE4770 TRANSFER 3,7,READ_BUFF4780 STY :ERROR4790 JSR :ERROR_ROUTINE4800 BPL :NOPROB54810 J}MP :CLEAR_STACK4820 :NOPROB54830 LDX #$304840 LDA LENLO,X4850 STA BLOK_LO4860 LDA LENHI,X4870 STA B}LOK_HI4880 JSR NOTE4890 JSR CLOSE_FILE4900 RTS 4910 INCR_SAVE4920 INC Z64930 BNE WHAT_AKID4940 } INC Z74950 WHAT_AKID4960 INC LO4970 BNE OH_YOU4980 INC HI4990 OH_YOU5000 LDA CHAR5010 LDY #05020} STA (Z6),Y5030 JSR PUTCHAR5040 BEQ :NOPROB65050 JMP :CLEAR_STACK5060 :NOPROB65070 LDA LO5080 C}MP LIMIT_LO5090 BEQ GI_SEE5100 RTS 5110 GI_SEE5120 LDA HI5130 CMP LIMIT_HI5140 BEQ :SAVE_BUFFER515}0 RTS 5160 :SAVE_BUFFER5170 JSR SAVE_IT5180 JSR :RESTORE_SAVE5190 RTS 5200 XPAT_LOOP5210 ;5220 LDY} #05230 LDA ($D4),Y5240 CMP #'@5250 BEQ XPAT_DONE5260 ;5270 JSR PUTCHAR5280 ;5290 INC $D45300 } BNE XPAT_LOOP5310 INC $D55320 BNE XPAT_LOOP5330 ;5340 ;5350 XPAT_DONE5360 ;5370 RTS 5380 :CLEAR_STACK53}90 PLA 5400 PLA 5410 :LEAVE_PROGRAM5420 JSR CLOSE_FILE5430 LDA #125440 STA DISK_JOB5450 JMP EXI}T5460 ;ߛ5470 ;ӠĠӛ5480 :ERROR .BYTE ""5490 APPEND .BYTE ""5500 JOB .BYTE ""5}510 BLOK_LO .BYTE ""5520 BLOK_HI .BYTE ""5530 LIMIT_LO .BYTE ""5540 LIMIT_HI .BYTE ""5550 LO .BYTE ""5560 HI .BYT}E ""5570 LOBITE .BYTE ""5580 HIBITE .BYTE ""5590 GMS_LO .BYTE ""5600 GMS_HI .BYTE ""5610 END_FILE .BYTE ""5620 CH}AR .BYTE ""5630 TITLE .BYTE "} ~",EOL,EOL,"|OASIS PAL Line Converter O8/24/88|",EOL,AT5640 ABORT .BYTE "Aborted ... ",A}T5650 RDFILE .BYTE EOL,"Enter Read Filename With D: ",EOL,AT5660 E170_TEXT .BYTE "Bad Name ! ",EOL,AT5670 E130_TEXT .BYTE }"Bad Device ! ",EOL,AT5680 E163_TEXT .BYTE "Bad WildCard!",EOL,AT5690 E165_TEXT .BYTE "Filename Error !",EOL,AT5700 BOO_BO}O .BYTE EOL,"",AT5710 COPYTO .BYTE EOL,"Enter Filename To Copy To With D: ",EOL,AT5720 N_OR_A .BYTE EOL,"Append ?} [Y/N] -> ",AT5730 RECAP_1 .BYTE EOL,EOL,"My Job :",EOL5740 RECAP_1A .BYTE "Copy From:",AT5750 RECAP_2 .BYTE "Copy To:",}AT5760 WITH_A .BYTE EOL,"",EOL,AT5770 CHOOSE0 .BYTE EOL," Choose One Job ",EOL5780 CHOOSE1 .BYTE " St}rip [CR] ",EOL5790 CHOOSE2 .BYTE " To ATARI ",EOL5800 CHOOSE3 .BYTE " To ASCII ",EOL5810 CHOOSE4 .BYTE} " Quits",EOL5820 CHOOSE5 .BYTE " Your Choice-->>>",AT5830 NEVERMIND .BYTE EOL," CANCELLED !!! ",EO}L,EOL,AT5840 SAVED .BYTE EOL,"Saved To ",AT,EOL5850 READ_NAME .BYTE "D?:????????>????????>????????.???",EOL,AT,EOL5860 SAV}E_NAME .BYTE "D?:????????>????????>????????.???",EOL,AT,EOL5870 READ_BUFF = *5880 *= *+112645890 PLEASE1 .BYTE ""59}00 SAVE_BUFF = *5910 *= *+112645920 PLEASE .BYTE ""5930 ;use 2176 for online oasis bbs,@'J A  '"`10 ;HD.M6520 .OPT NO LIST30 ANYKEY = $BA0B40 CLOSE_FILE = $063550 VFLG = $06D860 EOL = $9B70 PUTCHAR = $0}61780 UGETCHAR = $060890 INBUFF = $3F7A0100 CIOV = $E4560110 GET_YESNO = $06140120 GNUM = $AB0130 OPEN8 = $B9F00140} DISK_JOB = $B9A40150 OPEN_UPDATE = $06320160 EXIT = $06020170 AT = $400180 PUT_NUMBER = $06230190 NOTE = $0638020}0 POINT = $063B0210 VIEW_ARC = $06500220 PUT_ANUM = $06200230 SECLO = $B70240 SECHI = $B80250 SECBYTE = $B90260 UGETLIN}E = $06110270 FSPEC = $9A0280 BUFLO = $03440290 BUFHI = $03450300 AUX1 = $034A0310 AUX2 = $034B0320 IOCMD = $0342033}0 LENLO = $03480340 LENHI = $03490350 OPEN_READ = $062F0360 Z6 = $BA0370 Z7 = $BB0380 Z8 = $BC0390 Z9 = $BD}0400 ABORT_STAT = $B6B30410 ABORT_CLEAR = $BA830420 BBS_CIO = $BAAA (;;24,20,10,20,40,40,80,80,160,192,192,192,20,10G10 .OPT NO LIST20 .INCLUDE #D7:DIREC.M6530 .INCLUDE #D7:DIRECMAC.M6540 *= $400050 .LOCAL }70 ;80 BEGINNING90 ;0100 ;get drive number0110 ;0120 PAT DRIVENUMPLEASE0130 ;0140 JSR UGETCHAR0150 CMP }#'10160 BCC :LEAVETHIS0170 CMP #':0180 BCC :PLAYBALL0190 ;0200 :LEAVETHIS0210 PAT EXITPRO0220 JS }R CLOSE_FILE0230 JMP EXIT0240 ;0250 ;0260 :PLAYBALL0270 STA DNUM+10280 ;0290 ;Get Full Subdir Names0300 ;031 }0 PAT SUBDIRNAMESPLEASE0320 ;0330 LDA #490340 STA GNUM0350 JSR UGETLINE0360 ;0370 LDX #2550380 : }MOVESUBLOOP0390 INX 0400 LDA INBUFF,X0410 STA GSUBDIR,X0420 CMP #EOL0430 BNE :MOVESUBLOOP0440 ;045 }0 LDY #00460 :WILDCARD_LOOP0470 LDA WILDCARD,Y0480 STA GSUBDIR,X0490 INY 0500 INX 0510 CPY #50 }520 BNE :WILDCARD_LOOP0530 PAT FILESPECIS0540 PAT DNUM0550 OPENDIR DNUM,3,20,1280560 BPL :CONTI }NUE0570 JMP MISTAKE0580 :CONTINUE0590 ;0600 LDX #2550610 STX COUNTER0620 STX ENTRIES0630 :GET_RECORD0 }640 TRANSFER 3,7,DIRBUFF,23,00650 BPL :FOUNDREC0660 CPY #1360670 BEQ :SAYDONE0680 JMP MISTAKE0690 }:SAYDONE0700 PAT NONELEFT0710 JSR ANYKEY0720 JSR CLOSE_FILE0730 JMP BEGINNING0740 :SHOW_NAME0750 }LDA #'@0760 STA DIRBUFF+170770 PAT DIRBUFF+60780 JSR SPACE0790 LDA DIRBUFF+30800 STA $D40810 }LDA DIRBUFF+40820 STA $D50830 LDA DIRBUFF+50840 STA $D60850 JSR PUT_NUMBER0860 INC COUNTER0870 }LDA COUNTER0880 CMP #190890 BNE :NOFULLPAGE0900 JSR RET0910 JSR ANYKEY0920 PAT FILESPECIS0930 } PAT DNUM0940 LDA #2550950 STA COUNTER0960 :NOFULLPAGE0970 RTS 0980 :FOUNDREC0990 ;1000 ;show name1010 };1020 LDA DIRBUFF1030 CMP #81040 BNE :AINTFILE1050 PAT BLANK1060 :SAYREGULAR1070 PAT REGULARFIL }E1080 ; JMP :CATALOGIT1090 JSR :SHOW_NAME1100 JMP :GET_RECORD1110 :AINTFILE1120 CMP #91130 BNE :ISITS }UB1140 PAT GLOCKED1150 JMP :SAYREGULAR1160 :ISITSUB1170 CMP #401180 BNE :ISITLOCKED1190 PAT BLA }NK1200 :SAYSUB1210 PAT ITSASUB1220 JSR :SHOW_NAME1230 JMP :GET_RECORD1240 :ISITLOCKED1250 CMP #41126 }0 BNE :DELETED1270 PAT GLOCKED1280 JMP :SAYSUB1290 :DELETED1300 CMP #161310 BNE :DUNNOWHATITIS132 }0 JMP :GET_RECORD1330 :DUNNOWHATITIS1340 PAT GUNKNOWN1350 LDA DIRBUFF1360 JSR PUT_ANUM1370 JSR :SH }OW_NAME1380 JMP :GET_RECORD1390 MISTAKE1400 ;1410 STY ERROR1420 PAT WARNING1430 LDA ERROR1440 JS }R PUT_ANUM1450 JSR RET1460 JSR ANYKEY1470 JMP :LEAVETHIS1480 ;1490 RET1500 LDA #EOL1510 JSR PUTCHA }R1520 RTS 1530 ;1540 SPACE1550 LDA #321560 JSR PUTCHAR1570 RTS 1580 XPAT_LOOP1590 LDY #01600 } LDA ($D4),Y1610 CMP #'@1620 BEQ XPAT_DONE1630 JSR PUTCHAR1640 INC $D41650 BNE XPAT_LOOP1660 IN }C $D51670 BNE XPAT_LOOP1680 XPAT_DONE1690 RTS 1700 ERROR_CHECK1710 RTS 1720 ; }1730 ;Buffers and variables1740 ;1750 DRIVENUMPLEASE1760 .BYTE "}",EOL," }î̠",EOL1770 .BYTE "򠱭",EOL,"",AT,EOL1780 SUBDIRNAMESPLEASE1790 .BYTE EOL },"蠾",EOL,"",AT,EOL1800 DNUM1810 .BYTE "D1:"1820 GSUBDIR1830 .BYTE "> } "1840 DIRBUFF1850 .BYTE "12345678901234567890123@"1860 COUNTER1870 .BYTE 0 }1880 WARNING1890 .BYTE EOL,"Ҡ",EOL,"",AT,EOL1900 FILESPECIS1910 .BYTE EOL,"㠠 ",AT,EOL1920 } ERROR1930 .BYTE 01940 WILDCARD1950 .BYTE "*.*",EOL,AT,EOL1960 REGULARFILE1970 .BYTE "堠 ",AT,EOL1980 } GLOCKED1990 .BYTE EOL,"",AT,EOL2000 ITSASUB2010 .BYTE " ",AT,EOL2020 NONELEFT2030 .BYTE EOL },"Ϡ",EOL,AT,EOL2040 GUNKNOWN2050 .BYTE EOL," ",AT,EOL2060 BLANK2070 .BYTE EOL,"________",A }T,EOL2080 EXITPRO2090 .BYTE EOL,"Ԡî̠",EOL,AT,EOL2100 ENTRIES2110 .BYTE 0 6-&6-&6-& f@ CԩA A 1:ԩC A 5LHBԩB A1 z?JBɛBJBԩB AGԩB A0GDB$}EJKB LAB C0B{DBEHI lLA݅ԩB A 5L@@BԩB A A~BԭBխB$} #BB! A ԩB AGԩB AB`{BԩB AԩB A @L@ DžԩB AL6A(ԩB A҅ԩB $}A @L@)DžԩB ALhAL@ԩB A{B  @L@BԩB AB  A L@ ` `@ ``}$}î̠򠱭@蠾@D1:> $} 12345678901234567890123@Ҡ@㠠 @*.*@堠 @@ @Ϡ$}󠠛@ @________@Ԡî̠@@>'"@6-@'6-@IحJ$910 ;HDMAC.M6520 .MACRO OPENDIR 30 LDX #%2*1640 LDA # <%150 STA BUFLO,X60 LDA # >%170 (} STA BUFHI,X80 LDA #%390 STA AUX1,X0100 LDA #%40110 STA AUX2,X0120 LDA #30130 STA IOCMD,X(}0140 JSR BBS_CIO0150 .ENDM 0160 .MACRO SETFILE 0170 LDA # <%10180 STA FSPEC0190 LDA # >%10200 (} STA FSPEC+10210 .ENDM 0220 .MACRO OPEN_IT 0230 LDX #%2*160240 LDA # <%10250 STA BUFLO,X0260 (}LDA # >%10270 STA BUFHI,X0280 LDA #%30290 STA AUX1,X0300 LDA #30310 STA IOCMD,X0320 JSR BBS_CIO(}0330 .ENDM 0340 .MACRO PAT 0350 LDA # <%10360 STA $D40370 LDA # >%10380 STA $D50390 JSR XP(}AT_LOOP0400 ;IN MAIN PROGRAM0410 .ENDM 0420 .MACRO PCR 0430 LDA # <%10440 STA $D40450 LDA # >%1046(}0 STA $D50470 JSR PCR_LOOP0600 .ENDM 0610 .MACRO CR 0620 LDA #1550630 JSR PUTCHAR0640 .ENDM(} 0650 .MACRO TRANSFER 0660 ;0670 LDX #%1*160680 ;0690 LDA #%20700 STA IOCMD,X0710 LDA # <%30720 (} STA BUFLO,X0730 LDA # >%30740 STA BUFHI,X0750 LDA #%40760 STA LENLO,X0770 LDA #%50780 STA LE(}NHI,X0790 JSR BBS_CIO0800 .ENDM  A00 A$X̠堪Z( (\(+EQUATE DOC CLOSE_FILE = $0635 Uses IOCB # 3. Closes disk file opened on that IOCB. (X=$30).USE: JSR CLOSE,}_FILE EOL = $9B Sets variable EOL to ATARI carriage return value. 155 decimal. PUTCHAR = $061,}7 Uses A register and prints the letter found there on the screen. This subroutine also checks for PAUSE/RESUME. If a,} user presses CONTROL-S while your program is printing with PUTCHAR, then the display will be paused. Any key resumes. Also,} can be used to check for CONTROL-C abort. You must clear the ABORT address first with JSR ABORT_CLEAR. The PUTCHAR subrout,}ine will check for CONTROL-C and enter a non-ZERO byte into the ABORT address, and return a NOT EQUAL status to you.USE: LD,}A #'A (letter to be printed) JSR PUTCHAR UGETCHAR = $0608 Used to wait for character input from the use-}r. This subroutine will convert the user's input to upper case.USE: JSR UGETCHAR INBUFF = $3F7A A 128 b-}yte buffer used by the system to hold user input. You will find their input in this buffer. GET_YESNO = $0614 -} Used to get a YES or NO response from user in the form of Y for YES and any other key taken as NO. This subroutine return-}s a value of 1 in the Y register if the user hit 'Y'.USE: JSR GET_YESNO CPY #1 ;if 1 then YES GNUM = $-}AB Used by the GETLINE routines to limit the number of input characters from the user.USE: LDA #64 STA GNUM ;-}limit response JSR UGETLINE ; to 64 characters OPEN8 = $B9F0 A disk Input/Output (I/O) routine tha-}t opens a file for a WRITE. You must set the address of the FILENAME into FSPEC and FSPEC+1, low byte and high byte respecti-}vely. The OPEN8 routine uses IOCB # 3 (X=$30) and writes a file whose name is found in the address pointed to by FSPEC and F-}SPEC+1.USE: SETFILE FILENAME (SETFILE macro will put FILENAME's address into FSPEC and FSPEC+1 for you. JSR OPEN8- } DISK_JOB = $B9A4 An address used by the OPEN_UPDATE disk I/O routine to get it's job. The system sets thi- }s to 12, for update. You can put a 9 there to do appends. Be sure to change it back to 12, for use by other modules that ex- }pect 12 to be there. OPEN_UPDATE = $0632 A disk I/O routine that opens a file for updating (reading and writing- }). Uses the byte in DISK_JOB to get its command byte. Uses IOCB # 3 (X=$30). Opens the file whose name is pointed to by FS- }PEC and FSPEC+1.USE: SETFILE Fname JSR OPEN_UPDATE EXIT = $0602 The address to jump to when your mod-}ule is all done. Your program will return the user to PAL.COM or the BBS main menu.USE: JMP EXIT PUT_NUMBER = $0-}623 Used to print a two byte number. (three bytes are possible with PAL.COM, only two with OASIS.) This subroutine wan-}ts the low byte in $D4 and the high byte in $D5. (For three byte numbers put the highest byte in $D6). For .PAL modules you -}must use the third byte, so set it to ZERO if your number is less than 65,536.USE: LDA lobite STA $D4 LDA hib-}ite STA $D5 LDA #0 ;or highest byte STA $D6 JSR PUT_NUMBER NOTE = $0638 Disk I/O rout-}ine used to NOTE where you have left off in a file. Uses IOCB # 3. Stores the noted location into SECLO, SECHI, and SECBYTE-}.USE: JSR NOTE POINT = $063B Disk I/O routine used to point to a position in a file. Uses the bytes in SECL-}O, SECHI, and SECBYTE for the location. Uses IOCB # 3.USE: JSR POINT. VIEW_ARC = $0650 Internal ARC-Viewing -}routine. Needs the complete filespec in INBUFF. Also needs the filename address in FSPEC and FSPEC+1. Also needs the addre-}ss VFLG to be non-zero.USE: JSR VIEW PUT_ANUM = $0620 Used to print a number that is 255 or less. Uses the -}byte in the A register for the value.USE: LDA value JSR PUT_ANUMSECLO = $B7SECHI = $B8SECBYTE = $B9Three addre-}sses used by NOTE and POINT. See above. UGETLINE = $0611 Used to get a line of input from the user. This sub-}routine will convert all characters to uppercase. The limit for how long the line is, is set by the value in GNUM. The line-} is terminated by the user pressing RETURN or typing in the full limit set in GNUM.USE: LDA #80 STA GNUM JS-}R UGETLINEFSPEC = $9A Used by disk I/O routines to tell them where the name of the filename is found. low byte of fi-}lename's address should be in FSPEC, and high byte in FSPEC+1. You can use the SETFILE macro to load this address. BUFLO =-} $0344 BUFHI = $0345 AUX1 = $034A AUX2 = $034B IOCMD = $0342 LENLO = $0348 LENHI = $0349The above are addresses of -}the IOCB. Use an offset in the X register for the IOCB number. For example IOCB #3 needs $30 in X. OPEN_READ = $0- }62F A disk I/O routine used to open a file for read. This subroutine uses IOCB # 3 and the file whose name is pointed -!}to by the addresses in FSPEC and FSPEC+1.USE: JSR OPEN_READZ6 = $BAZ7 = $BBZ8 = $BCZ9 = $BDThese are s-"}ome free bytes on zero page. You need zero page addresses to do POST-INDEXED INDIRECT ADDRESSING. For example: LDA (Z6),Y-#}. That command finds the address pointed to by the low and high bytes found in Z6 and Z7 and then add the value in the Y reg-$}ister to that address... PEEK that address and load the A register with it's contents. ABORT_STAT = $B6B3 An -%}address used by the system to determine if the user pressed CONTROL-C to abort. You must clear it. The PUTCHAR routine chec-&}ks for CONTROL-C and will make the ABORT_STAT address non zero when the user presses CONTROL-C. The ABORT_STAT address will -'}remain non-zero until you zero it out. The PUTCHAR routine returns with the zero status of ABORT_STAT.USE: JSR ABORT_CLEA-(}R LDA character JSR PUTCHAR BNE ABORT_PROGRAM or: JSR ABORT_CLEAR PAT MENU LDA-)} ABORT_STAT BNE ABORT_PROGRAM ABORT_CLEAR = $BA83 Used to clear the ABORT_STAT address. The A register -*}returns with zero in it.USE: JSR ABORT_CLEAR BBS_CIO = $BAAA Used to do disk I/O for online BBS modules. T-+}his routine will save registers, and close modem and do the CIOV disk I/O and open modem and finally return the result of you-,}r I/O in the registers. Use this routine instead of JSR CIOV for all modules that will be run online on the BBS. remember t--}hat the modem is open when you return from this routine. All of the disk I/O routines mentioned above use this routine autom-.}atically. USE: JSR BBS_CIO`,<Bpr&C:,,ZZ6.Ph hh`hhhhhhhheX֥Yeׅטi@֥i׈,@PJmOlOR JJO J 5nOyOwO轓O ԩK KυԩK K˅ԩM K 0:хԩM10} KLX@fO >JfO1'2&3%4$5#6"7!8 90LKLALDLFLuILAL@LAL{ILKLA I0?ԩM K GA0/kO K0%RO11}NO UKgONO UK 5 IYhOL@ IL@2ԩM K GA0p,Bz? V IL@,ԩN KN z?ɛwOhhLG:ԩP12} K J`|?:{O}Oz?gNU:{ON>}Oɛ >ݩgN@gN}O{O}O`yOLBL@ԩN KԩN K 13} K0LB I0өkO K0ɩԩL KLBԩL K GA0gNNɛ@NNzOPDNEJKB V I~O@14}OOOPBDOEPHI V ILCPH$!ԩOՠɛ  LtBO<* DJ DJԩOՠɛ 15} OLoCOOOO  DJԩOՠɛ  ~O~O~O'O~O~O'OՠȹN}O|O轰O  |O|O16}.ɛᭃOTLtBzOvԩP KLCzOO@`ԩP K JzO >JLdBL@JԩP KyOߩ&ԩP K z?ɛ 17}zO𻩢ԩM KԩN K K@OO~OO~O~O~Oz?͂ÓOɛOT 5 ILC~O'O~O HKL,D0BDUE18}HI V IhhLD`BDUE V InO'P0HHIIDDEE B V I` 5 I J IԩP K JL@nOa19}M KQԩM KLDAԩM K GA0ϩgN / I KDUxLD}OnO+ԩM KgԩN KLoE 5 I J I JL@#ԩM1:} K GA0gNN}O؅ԩM K KDULD~O}OvO KD~OU ~O vOvONLEvOvON@N KDUO KDUO1;}OԭOթ # DJԩN KnOF񅚩NPDNEJB V I J IPDNE JB V I08OmOOLsFO1<}IOH tD~O}OvO J ILEmOIlOH tDL?FL@ԩM K GA0gNNɛ@N񅚩NPDNEJB V I 1=}J IPDNE JB V IxU $G GԩN KԩN K -wOLGUP BDUEHI V I`N1>} / I 8 I J 5 IԩM KԩN K؅ԩM KwO7…ԩL K GA0$ԩM KԩN K؅ԩM KL+HL@N /1?} I J ; I0BDUE@HI V I G J I 5 IԩP K JL@ 8 I J 5 IU /0 5}O轝U1@}*?gN>}OɛvOvO@gN}O~O~O~OgNU $G~OvO G J I G GgN / IOOjO0nOmOIlOH tDP1A}ImOjOHmOOOImOOjO J I 5 InOOԭOթ # DJgԩN KPDNE JB V I J IO1B}U $GOU $G J IPDNE JB V ILGnOLDqԩM K GA0gN P JL@ԩM K GA0gNNɛ1C}@NkO`gOfO6gO"ԩP KgO  >J J 5 J`fO .JgOgO``ԩL K `P BK V` BK V1D}0` ` `PթԢuOfOuOuO'OuOuOԙ'OuOuOՙ'O?LZJfOfOLZJ`oOpOqO`oOpO1E}qO`PLrOMsONtO`PrOLsOMtON`P&B V J`P%B J V`@ `LKNkO 0 5kO1F}dO 2 `'OO(OO0 BODOEI@H V I`0 BiDOEHI V I` J 5hO K yK 51G}OL|ծ̠|@|-----------||Menu ||-----------||[0]CWDirect||[1]DirTAG ||[2]GLU View||[3]Glue 1H}||[4]Un-Glue ||[5]SetBatch||[6]Mate ||[7]Direct. ||[8]ARC View||[9]Quit ||-----------|@|Hit A Key!!|@|NO-TAG 1I}DIR |@|DIR-Tagging|@|File-2-Glu?|@|Enter [Y] or [N] For Screen OFF? |@|Batch Name |@|.GLU Name? |@|.ARC Name? |@|Out D1J}X:SUB>|@|CWD DX:SUB>|@|Glue View? |@|UnGlu File?|@|UnGluing !!|@|ArcViewing!|@|Gluing To | @|GLUViewing!| @|Ad1K}ding Tagged files to Batch File ||@|->>@~~~~~@Size Filename -----------------@|No DX:*.* !||.BAT Name? |@|Use Ba1L}tch? | @ DX:SUB>FILENAME.EXT |FileName ? | @D1:ARC.COM@@D1:*.*@@D1:*.*@1M}@D1:@@D1:GLUE.BAT@@@D1:FILENAME.GLU@1N}@@@Ҡ 0@1O} 0@@|Fatal I/O Error # @1P}| GLUE |@|Letters to TAG->|@|No Entry !!|@|砡|@|No More Files ! |@|More Files |@|GLU Don1Q}e !|@UU<<<<<, ARAU--(%}Twice the pixels in half the time...",,($How about some mu0@?PNKO @L@ HK(KKKN΅ԩK H 1R /ԩKL@7A2 )ԩKL@3 ,ԩKL@4 2ԩ5S}KL@5 5ԩKL@hhL@ ԩN H HL@ Hȱԙ>K "I 0I ` 5 HR܅ԩI H@ z?ɛz?J>J5T}@JLMA H 5 NKLK-KKKK PH 'HK͢K H H `@PԩK H5U}ԩJ H0DJEJKB LGKK莢K转J>K:Kɛ?K@K0BDJEHI 05V}LRGLGzԩK H eFKNL B ԩN H H'ԩN H 1 H H AL B62LtB3ԩO H пL@4 55W} @L@L@ 5 HK PLCPL C2ԩO HԩP H :OԩO H Nz? H(Pɛ 5X}+P@)P EPL C 2 LzB K ;LuC 5 20 B۝DOE@HI 0 B.DP5Y}E@HI NINNKKKK PH" vI HNAԩM H 'H HKɀLC(K(KLCԩP Hԩ5Z}O H I 0IK'KKKK PH'KKɀ'K?ԩM H H bI QEԩM H  DK L@KL&EԩM5[} H'KԩՅ # HNԩM H KL&EԩM H  bI QE DKL&E bIK'KKKK PH'KK5\} N(KNLC(P(P: 0(P EN H "I`(P:P`SԩM H L@KLGL@LtBK'K5]}KKK PHi vILG H0 BDJEKHI 0 BDE HI /ԩM H 'H HKɀ LYE5^}'KLE BG0 BSDKEHI 5ԩO HԩP H.ԩP H I 0IԩM H'KԩՅ # H`@JԩJ5_} HKKL GK͢KԩK HLFԩK H z?XL@KKKKKKKNz?UL!Gz?NɛLFNK5`} PHNLFNNͫKLFKKK H ԩK HԩJ HK@K`NK PHNNͫKLF 8K5a}`J+ԩK HZԩK HKK  H wH XFLA dԩK HLdG(ԩK HnԩK H HFLA)dԩK HLG5b}LAԩK HJ  HFLA'KԩK H'K  H 5L@ ` `@ ``K KK H 5c} #`@PK `i潅LZHKKK PHJ ȑ.ȑJ ȑ  J5d} 'HK`8K` }8K9K8K`0:` ԩM H8K # H`>KAK`ԩL HAK5e} # H`AKDK8K;K`DKAK;K8K` ȱGKAKJKMK8JKGK)NKKKK LKLK LI5f}NJKƢJKAK`} Z INNOVATORS CO. |򮠱|| CopyRight (C) 1988 |5g}| Enter DIRectory Filespec || Dx:Sub>*.* No FileNames! |> @D1:123456785q}BAM PALB COMPILE DOCB(CR PALB6CRM65 LSTB =CRMACM65LSTBHCRPALMACDOCBfWCRPALMACLSTBDIREC M65B#DIREC MACBDIREC PALB DIRECMACM65B6EQUATE DOCB#/GLU PALB"RHD PALB }NUMBA MACBNUMBA PALBOASISPALDOCB0PAL COMBPALCOM00DOCB(PALCOM01DOCB PALCOM02DOCBREAD ME 911234567892123456789312345678941234567895123456789612345678901234567890123@Ҡ@㠾 @d5r}h\*.*@堠 @@ @Ϡ@ @_______@5s}Ԡլؠ>@硠@} Select Density Menu FORMATBYTES|۱ݠ 5t}Single 91,264 ||۲ݠ Double 182,528 ||۳ݠ Enhanced 129,000 ||۴ݠ DubSided 365,056 ||۵ݠ 2 & Half 5u} 220,264 ||۶ݠ Exit To Dos (Cancel)|> @ @󠠠 @5v} @ĠŠ @䠠 @ à @ǡ 5w} @ٯݠ @ Automatic ADD! @ @Ԡ @ǡ5x}@} HarDrive ARCer Menu |۱ݠ Show Selected Files ||۲ݠ Create Batch File(s)||5y}۳ݠ EXIT To Dos (CANCEL)||۴ݠ Reset Bytes Left ||۵ݠ Select A DIRectory |> @5z}̠̠Ҡſ @Ԡ忛 @堠󠰭 @5{}䮠@@蠛@ 0@D1:ARC.COM@5|}@D1:HDBKUBAT.000@D2:HDBKUARC.000@@X@X@ 1234567890\/?]|[{_QK-@( !-@'( 3-@9  4.10 ;NUMBA.MAC O8-25-8820 ;30 .OPT NO LIST40 .INCLUDE #D7:CR.M6550 .INCLUDE #D7:CRMAC.M6560 9~}*= $400070 .LOCAL 80 ANYKEY = $BA0B90 :BEGIN0100 PAT NUMBA10110 LDA #00120 STA $D60130 LDA #9}00140 STA $D50150 LDA 537700160 STA $D40170 JSR PUT_NUMBER0180 JSR DIVIDE0190 JSR RET0200 9}JSR ANYKEY0210 JSR RET0220 PAT NUMBA20230 LDA #00240 STA $D60250 LDA 537700260 STA $D50270 9} LDA 537700280 STA $D40290 JSR PUT_NUMBER0300 JSR DIVIDE0310 JSR RET0320 JSR ANYKEY0330 JSR R9}ET0340 PAT NUMBA30350 LDA 537700360 STA $D60370 LDA 537700380 STA $D50390 LDA 537700400 9}STA $D40410 JSR PUT_NUMBER0420 JSR DIVIDE0430 JSR RET0440 JSR ANYKEY0450 JSR RET0460 PAT MORE9}?0470 JSR GET_YESNO0480 CPY #10490 BNE :DONE0500 JSR RET0510 JMP :BEGIN0520 :DONE0530 JMP EXIT9}0540 RET0550 LDA #1550560 :PRINT0570 JSR PUTCHAR0580 RTS 0590 DIVIDE0600 LDA #'|0610 BNE :PRINT09}620 XPAT_LOOP0630 ;0640 LDY #00650 LDA ($D4),Y0660 CMP #'@0670 BEQ XPAT_DONE0680 ;0690 JSR PUTCHAR9}0700 ;0710 INC $D40720 BNE XPAT_LOOP0730 INC $D50740 BNE XPAT_LOOP0750 ;0760 ;0770 XPAT_DONE0780 ;09}790 RTS 0800 NUMBA1 .BYTE EOL,"|Number 0 to 255 |",AT,EOL0810 NUMBA2 .BYTE EOL,"|Number 0 to 65536 |",AT,EOL089}20 NUMBA3 .BYTE EOL,"|Number 0 to 16777216 |",AT,EOL0830 MORE? .BYTE EOL,"Run again? ",AT,EOL 83>u67B:,%8_@ Aԩ@ @֩խ ҅ # @ @ @˅ԩ@ @֭ ҅խ ҅ # @ @ @ԩ@ @ ֭҅ ҅խ ҅ # @ @ =}@ԩ@ @  @L@L `|@ `|Number 0 to 255 |@|Number 0 to 65536 |@|Number 0 to 1=}6777216 |@Run again? @,.ubb6.X 0|88~l0<PROGRAMMERS DOCS OASIS PAL version 2.1 This is only the beginning. What is OASIS PAL? The PAL.COM file is a prA}ogram that simulates the address environment of OASIS IV BBS software. The PAL.COM program has only a few of the BBS routineA}s that I plan to have in OASIS PAL. This is truly a small start. I didn't want to swamp you with a million system equates aA}nd routines to get your head swimming. Afterall OASIS.PAL is for beginner MAC65 programmers. Why OASIS.PAL? Well, wheA}n I first learned assembly language programming, I used it to make ML subroutines for BASIC programs. When it came to a compA}lete, stand alone ML program, I was not experienced enough to write the keyboard handling routines, screen output routines, aA}nd disk input/output routines. I was satisfied to use BASIC and ML subroutines. Now, after working with OASIS BBS, I have fA}ound a way to provide a program shell that does the above for programmers. With OASIS.PAL you can be more concerned with youA}r program idea, and less worried about I/O. I am not pretending to teach MAC65 programming here. You are on your own when iA}t comes to learning to program. If you have already gotten your feet wet writing subroutines, then OASIS.PAL can help you inA} your program development. Where to with OASIS.PAL? The PAL.COM file will be revised several times. All revisions wiA}ll add more routines and equates to PAL.COM. There are more BBS routines to add and more sample programs to give you. I wouA}ld like for us to develop OASIS.PAL as we go along. If you have suggestions, let me know them. I will be supporting OASIS.PA}AL programming on all my boards. By the way, the revisions will not change any equates or routines. Only the available buffA}er space will decrease. The available module size for OASIS online modules is currently from $4000 to $5800. This version oA}f PAL.COM has module space from $4000 to $A000. As I add more to PAL.COM, the space for modules that run under OASIS.PAL mayA} decrease. How do you program with OASIS.PAL? You start by looking over the source code to the CR.PAL text convertA}er program. You run the CR.PAL and get familiar with what it does. Looking at the source, you can pick out sections that doA} certain things. Even if you don't fully understand each instruction, you can list out just the section you want to use and A}experiment. For example: Using the PAT MACRO to print text from .BYTE "display text". Other examples are getting a charactA}er from the user, opening files, and using NOTE and POINT. More sample programs will be released by me. Hopefully other OASA}IS.PAL programmers will release their source. OASIS.PAL support BBS'617-329-8528 PCP MABOS508-559-6844508-580-8722EveA}n if you can't call long distance, the first number is PC Pursuitable. Someone may be able to get your comments and suggestiA}ons to me. You can type your ideas into a text file and send it to a local BBS, it will find it's way to me.@o/0U11L6LLLLӠLBLLNLL~LLLLLLtLE}LL%L֡LLLLLLLCLͺLLLѣLLLLLLLLLLLLLLLLLLLLLLLLLLLE}LLLLLLLLLLLLLLLLLLLLLLLLL)LbLXLLLLLLLLLLL LLLLE}LLLLLLϠLLLٳLLLLLLLL}LLLLLLLLLLLLLLELLLE}Ap`B@B&A:)nnovators/asis0al6ersion  E}  @ Ϡ` LϠ LϠ Ϡ` 0`LLL`* ` `HE} șz?īLȌ ~}0爌 ϠL砦 ѣz? ϠɛL=īLȩz? Ϡh` Ӡ` b ϠE}`` X"   ``` Ϡ`LKMNO BE}LV䮸LMN%B V ` DEJKB V ` L&B Vp LMNp` E}BJKDE V ` JKBDE Vp p`Ţͨ` 쨡`lj;k+E}*opui-=vcbxz436521, nm/reytwq907~8<>fhdgsaLJ:K\^OPUI_|VCBXZ$#&%"![ NM?REYTWQ()'@}FHDGSA {E}    } 깠YMЩ x`FЩ x` 깠E}YNɛ) }ɛ ){a ` `&Щ x `p XUЩ x p`Hit Any Key -->@ĠƠE} @Ϡ@Ӡ@ @|à| @ ç ě@çE} @ Stored @ Packed @ Squeezed @ Crunched @ Alfcrunch@ Unknown@ Squashed@Ţ` X V X ``BU6E}` txyzt?uB V0, z?6qЩ x$_Щ x 8ЩE} x L{?z? X Ϡ  X Ϡ ? L?ԭ? e? L?ԭ? e{?ąЩ xLЅЩE} xL܅Щ xLЩ xLЩ xL  Щ xLЩ x %m?m?m? ֡E}?}z?}LZ qЩ xLZЩ xԭթ 轮 E} `ԩ ٢7 L f ؠ) X Ϡ ( X Ϡ `H0 X Ϡ h8ȪE}d 0 X Ϡ 8Ȫ 0 X Ϡ 0 X Ϡ `ԍՍ֍ Lԭ e` ؠ) X Ϡ (`E}`FiGiii$i%i//R'rS0jԭ1kՠȱԙ: //1 E}c0mЩ x lɛA8Q48Ald.dlidLlЩ x(Щ xL/jE}0ԭk1ՠȹ:/`@ z?D-y?:>Zz?z?@`0Bzt?u V0` ` ɩ&{E}@? i$LٳL0JtuB Vp0 r Vpxɭyʤp`0t@uxy`0tE}Tux@y`L^LLLALdL|LL«LګLLL LLHLȬLЩ x Щ x D_Щ x L!ɅЩ x E}{LlхЩ xЩ x D/0 t0%Щ xЩ x D P LP 0 L! r VpPtE}uxy  V LpLЩ xЩ x D! L!Щ x D L!+Щ xЩ x DE}ʩ# L!4Щ xЩ x DЧ$ L!?Щ x DЏ, L!rЩ xLL!vЩ xLL!zЩ xLL!~ЩE} xLL!Щ xЩ x D >L!`LЩ xЩ x z?ɛL!`|?:)@z?E}.ɛ`.PAL βL!Щ xЩ x D ײЩ x L!߅Щ xLBЩE} x(Щ xLЩ xL01`pppB@A *.*@}E}|CopyRight (C) 1988 by Glenda Stocks || ATARI DIRS ɮ E} ||® SPARTA DIR ʮ ||î COPY single ˮ ||Į DELETE ̮ E} ||Ů RENAME ͮ ARC-View ||Ʈ LOCK ή .PAL Module ||Ǯ UNLOCK Ϯ Read A File ||E}Ȯ CWDirectory Ю Exit Program || Select Item Or [RETURN] For Menu |E}> @ Not A .PAL Module!@ ǡ Please Try Again...@ Do You want Auto Page Breaks?E} > @ Do You want Word Wrap? > @ Is this a File?> @ Function Not Implemented @ S-Pauses C-AE}borts @ End Of File @@~~~~~~@Ӯ̠@|DIRS @|DIR @|COPY ͠@|COPY Ϡ@|DEE}LETE @|RENAME |Dx:SUB>FILENMAE.EXT,NEWNAME.EXT>@|LOCK @|UNLOCK @|hange orking irectory |Enter Dx:SUB>@E} @ @ @ @|ARCView@|Run a Primary .PAL Module @|Read A File@|Enter Dx:SUB>FILENAME.EXT>@ Exit to SpartE}aDos @``܅Щ x `eɅeʅir&rɛr riiiȘeE}擥ʼn``````````````````````````````````````````````````````````````````` L E0q Ѵ` E0h%Щ x E}Щ x c c _Щ x ٳЏ c  L`? z }0?tE}ur Vp ɩLϳ tuB Vxɭyʄpɩʤp Lϳ p`p p`eE}ɍKeʍLB> ϠHHЩ x Щ xhh C  Ϡ Eb  6h E} L 䅿Lj  0h  8K圅L0 LL??E}? ?@ @`Щ x` ٳ`0t?uJyx`ÛD1:@,6-@ ,7%FILENAME.EXT You must always begin your responsM}e with Dx: where x is a drive number (except when you run .PAL modules). You may enter as many sub-directory names as will fM}it in a 64 character command line. You may use the wildcard characters, ? and * in the subdir names and in the filename and M}extension. Whenever you want the FILENAME.EXT to be *.*. you may instead simply press return. The following example shows tM}wo filespecs that will display the same results:D2:D2:*.*Where indicates that you press carriage return. TM}he same privelege is used for subdirs also; whereas D2:SUB>*.* will yield the same result as D2:SUB>. If you seM}lect an option by mistake, then you may enter [RETURN] only, and OASIS.PAL will ignore your request. OPTION A. M} Choose option [A] to do a directory in the standard Atari DOS format, which shows the sizes of files in sectors. The disM}play will show two columns instead of one. You may pause the display by pressing CONTROL-S. To resume the listing, press anM}y key. CONTROL-C will abort a listing in progress. When there are many files to be shown, there will be a pause before the M}listing begins. OPTION B. Choose option [B] to do a directory in the SpartaDos format, which shows the fiM}le sizes in bytes and the time/date stamp. The same rules for pause/resume/ and abort apply here also. OPTION C. M} Choose option [C] to copy one file at a time. This option does not do multiple copying like Atari DOS 2.5 or SpartaDoM}s. OASIS.PAL will ask for the filespec to COPY FROM, and then the filespec to COPY TO. OPTION D. Choose opM}tion [D] to Delete file(s). This functions exactly like DOS 2.5, only you will not be asked to confirm your request. Being M}careful of what you delete is part of learning how to use SpartaDos. OPTIONS E,F, and G All these options aM}lso function just like their counterparts in DOS 2.5. OPTION H. Choose option [H] to change the current worM}king directory of any drive. This selection is equivalent to the CWD command used by SpartaDos. OPTION M. M}Choose option [M] to view the contents of an .ARC file. This option will also view PK-PAK files, including the SQUASHED methM}od. The ARCview display will show 17 files per page. OPTION N. Choose option [N] to run a .PAL module.M} This option is what OASIS.PAL is all about. This option is the only one that does not require either a drive specificationM} or an extension. OASIS.PAL has a default drive spec of D1: for .PAL modules, and a default extension of .PAL. If your .PALM} modules are on D1: and their filenames end in .PAL, then all you have to enter is the filename (wildcards are ok also). HerM}e are some examples: AM runs D1:AM.PALD2:AM runs AM.PAL on D2:TEST. runs D1:TEST (no extension requires that M}you enter the .)H* runs D1:H*.PAL If you want to change the default drive specifier for your system, then you maM}y do so with a text editor like TEXTPRO. Load the PAL.COM program into your editor and advance to the end of the file. You M}will see the word PALSPEC in inverse, followed by a and then D1:@*************. You may enter your drive number and subM}dir(s), up to the last * symbol, but leave room to put an @ at the end of your drivespec. For examples: D1:PAL>@****D3:SYM}S>PAL>@** Be sure that the size of the PAL.COM program is the same as before you edited it. OPTION o. ChM}oose option [O] to read a text file or view a binary program. OASIS.PAL will ask you some questions in order to display the M}file correctly. If you want to view a binary (object) program without the graphic characters disrupting the display, then anM}swer [N] to the question, Is this a TEXT file?. Otherwise, if you are viewing normal text, then answer [Y] for YES. Next, yN}ou may choose wordwrap which is set for a 40 column display, and then page breaks set for 20 lines per page. While the text N}file is listing, you may pause/resume/ or abort as explained earlier. While viewing with page breaks, you may cancel page brN}eaks by pressing [C] at the [MORE] prompt. If you want to keep page breaks, be sure not to press [C] (SPACE BAR is easiest).N} Lastly, if you are viewing an Atari graphic movie, then do not choose wordwrap. OPTION P. Choose option [P]N} to exit OASIS.PAL. Your screen display will be restored.Z.x ԏ  L< This DOC is for MAC65 programmers. If you have questions, comments, or suggestions, then please call an OASIS.PAL suppoR}rt board. The P.I.C.S. BBS is PC Pursuitable, and although it is an IBM board, the sysop has agreed to allow OASIS.PAL folksR} to use his ATARI-400 message base and file SIG areas for OASIS.PAL support. Russ Boyce, the sysop of P.I.C.S. will be conveR}rting to a newer version of TP-Board software that may also include multi-line and/or networking capabilities. When Russ revR }ises the board, we will get our own OASIS.PAL area. Right now, the ATARI-400 area is underused, so we have plenty of space.R } When you wish to share your source code to .PAL modules, please be sure to LIST out your source code, equate, and/or maR }cro files. Please share them in LISTED form instead of SAVED form. Other assemblers besides MAC65 can be used on LISTED souR }rce, and users can view the source with a text editor. They also .ARCompact smaller. If you are using an older disk-baR }sed version of MAC65, then you may not be able to handle two characters that are commonly found in my source code. They are R}the _ (underline) and : (colon) characters. You can convert these characters with a text editor like TEXTPRO. Load the sourR}ce code into the editor and use the global search and replace functions to exchange these characters for a different one. AfR}ter they have been changed, you should be able to ENTER the source with your version of MAC65. (exchange the : in front of laR}bels into a ?) gikmoomkigeca suwy{}}{ywusq HH67A@,.5 PREAD.ME for PAL.COM 2.1 users.This .ARC should contain some .PAL modules that you run from the PAL.COM menu. The instructV}ions for using these individual .PAL modules will refer to them as .COM files. The instructions for the use of these .PAL moV}dules are the same as for their .COM counterparts. It will cost you less system storage space to use .PAL modules and PAL.COV}M, than to use the LARGER .COM files. D:PENCILS.RV1,@/@5 A@6-T'qNNTRINPREVTRI F}󭭛USE THE PADDLE CONTROLLERTO RUN THIS PROGRAM. THE!!TRIGGER BUTTON ADVANCES THEF} "SLIDES" AND THE KNOB CON-TROLS THE NOTE PLAYED FORTHE SOUND SLIDES. SCRIPTBY STEVE WRIGHT. +6-@F}6-@!6-+ A 6-S:,*T:, (* @p 6-( @F 6-%K!@! @F}PAAAAAAAAA AAAAA(AF}8APA`AAAAU$ZGG&@!AAAAA A!A"F}_$dn +@x'-@@'  PRESENTING -@@ THE$F} +@"-@@" ATARI"-@@" VIDEO&-@@&  F}SLIDESHOW+$,6( ( ((@++(#A FASCINATING WAY TO PRESENT INFOR-B((( MATION THAT ENGAGES THE F}AUDIENCED))(!AND SHOWS OFF THE CAPABILITIES OFF(THE ATARI COMPUTERS.J ( ( ($))(!ITF } ALLOWS THE SPEAKER TO PACE THE##(PRESENTATION WITH HIS TALK. ( ( ($( LIKE THIS!F!} ( ( (W$Xb((( we can demonstrate lower case...l ( ( ($((( OR OF"}UR GRAPHICS CHARACTER SET... ( ( (''(               ( (!!( {       ` F#}( ($ *..(&MAYBE Š DOES IT FOR YOU...4 ( ( ($+F$}!( ( (((((((!(**("ATARI HAS 3 TEXT MODES - THIS ONE,((OF COURSE,....... ( ( ($F%} +@*-@@*  THIS ONE.....K$LV +@` -@ @F&} ANDj&-@@&  THIS ONE!$ +@ 0&-@@&(F'} PLOTTING!-@-@0@   0$ +@#F(}#0@(*',@p@'/@@,9/@@0'/@p@09/@p@.F)}$0 @2',@@0'/@@@P34',@0@P'/@P@P69/@P@`'/F*}@0@`9/@0@P8$: @<',@@0'/A @P=>',A@P'/A0F+}@P@9/A0@`'/A@`9/A@PD$F @H',@P@U'/A@UF,}J$P-@R-@T0@U!!2@ @@&V X w$xF-} +@.-@@.(HOW ABOUT THIS...$ +@0@0F.}@@-@A@@#,@ #/@$A@ -@0@F/}"-@ , .-@0-@@20@&3-@ 4 6F0} ;0@?$@J +@O 0T#-@@#(SOUND!Y-@P F1}^-@c2@@%@h 0m-@ r |-@62@ F2}-@  $ +@(-@((YOU HAVE A CHOICE%-@%(F3}OF 8 DIFFERENT-@('VOICES'-A (-@((HIT IT MAESTRO...$F4}Š 6-@ A   6- A   6- A -@P  6-Q:,2@&F5}(S:,)(T:,A0 Ab 2k$lv +@" -"(YOU CAN EVEN HAVE+F6}-@@+(UP TO 4 VOICES(-@((AT THE SAME TIME!-A 2AP@F7}-A 2@@@@-A 2@@@-A F8}%%2@A@@-A -@ %%2AP%@%'@!!2@@F9}&@@!!2@@ %@//2@A%@$@@(S:,)(T:,AF:}  AR 2 22@2@$+-F;}@( ( THANK YOU( ( ((,)(! ANOTHER WRIGHT-ON PRODUCTION,(-@6 F<}2@ @-@@   "-@@6$ 0& * 6-3$ D:F=}SLIDSHOW@-@@   "-@@6$ 0& * 6-3$ D:D DISK CONTENTS - Front Side of Disk1. DISSOLVER CRE. Creates BASIC sub-routines for spiral or sweep dissolvesof any graJ?}phics mode screen. Excellent!Refer to magazine for "how to use".(Fred Pinho, ANTIC 1/86, p18)2. DISSOLVER DEM. A clever J@}demo of the"Dandy Dissolver". (Fred Pinho, ANTIC,1/86, S*P*A*C*E mods)3. FACE. "Face of the Galaxy" - Musicwith graphicJA}s. (Gary Gilbertson)4. FADER II. An enhanced ML Hi-Res picloader with dot-by-dot "lapse-dissolve"effects. To use: TransfJB}er to a picturedisk & rename AUTORUN.SYS. Compressedpictures (ie, KoalaPad, Micro Illustr.)must use a ".PIC" fn extender. JC}Normalpictures (ie, Micro Painter, any 62sector pic) use ".*IC" fn extenders.Reboot with this pic disk to view your"slideJD} show". Press OPTION to hold apicture on the screen; START to skipthe pause between pics; or SELECT to goto DOS. (PatrickJE} Dell'Era, ANTIC 5/85)5. FADER MOD. Use to change FADER II'spausing rate. Self prompting. BASIC.(Patrick Dell'Era, ANTICJF} 5/85)6. 3D GRAPHICS. A 3-D graphics editor.(Paul Chabot, ANTIC 10/85, JC mods)7. G.U.P. The Graphics Utility PackageJG}is a ML program which will speedup yourBASIC graphic commands & adds ten newones: circles, squares, patterned fills& more!JH} Read the magazine article forfull tutorial/instructions. For bestresults rename to AUTORUN.SYS & rebootto load. If loadedJI} from this menu, youmust press RESET upon load completion.(Darek Mihocka, ANTIC, 6/85, p45)8. G.U.P. DMO. A demonstratioJJ}n of someof G.U.P.'s capabilities. Load G.U.P.(per above) prior to running this demo.(Darek Mihocka, ANTIC, 6/85)9. HORSJK}E. A galloping horse demo usingcharacter graphics. (B.R.A.C.E.)10. MILOADER. Loads/displays Micro-Illustrator (KoalaPadJL}) pics. (ANTIC&JC)11. MUSICIAN. A "Music construction"program. Integral command list. Allowsediting of last note only! TJM}his versionis not compatable with the original!(A.Giambra, ANTIC, 6/85, pg37, JC mods)12. LAURA. Demo tune for The MusicJN}ianabove. Load "LAURA" to hear it play orto edit. (ANTIC disk, 6/85, JC mods)13. PENCILS. A sharp GTIA demo! (GreggTravJO}ares, ANTIC disk, 6/85, JC mods)14. SLIDE SHOW. A BASIC demo using theAtari to present computer "slides".(Steve Wright, JP}from B.R.A.C.E. disk) DISK CONTENTS - Back Side of Disk(NOTE: These programs should be loadedw/o BASIC to insure propeJQ}r operation.)1. FUJIBOINK. Famous Atari demo with abouncing multi-color "Fuji" logo.(Park '86)2. MCP. Multi-Colored PJR}layers demo.Brilliant colors. ML. (ANTIC 2/86)3. SPLASH. Splash colors on a Gr.7+screen. ACTION. (ANTIC, 4/85)4. SWAN.JS} Another sharp Atari demo withflying swan & twirling Fuji. (Park '86)5. VIEW 3D. Create 3-D wire frame picsin Gr 8/7+. JT}Magnify, shrink, rotate, &shift viewing position fairly fast. Seemagazine article for details. ACTION.(Paul Chabot, ANTIC JU}6/85, p37)6. HOUSE.V3D. A sample VIEW 3D image.(Paul Chabot, ANTIC 6/85)rticle for details. ACTION.(Paul Chabot, ANTIC HM