@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@W!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr CENTER LINE ROUTINE Ever since I started programming with BASIC a few years ago, I've always spent massive amounts of time }and energy just positioning text on the screen. For instance, I would have a statement that centered something on the scre}en. For instance, WriteLn(' Welcome to my program.'); is just about appropriate to center the text on} a 40-column screen such as the Atari's. The annoying thing about writing statements such as the above WriteLn is that spa}ces would have to be padded to center the text, and finding the correct number of spaces to pad was quite a chore. If I we }re to later change just the text in that statement to: WriteLn(' Hi there.'); then it would no longer }be centered on the screen, and I would have to recalculate the number of leading spaces to pad. That is not what a good pr }ogrammer would call maintainable code. So for years of spending countless hours on simple PRINT and WriteLn statements, I }always said to myself "someday I'm going to write a routine to automate all this, and save myself some trouble." Not long }ago, I finally got around to writing that routine while programming a database system with SuperCharged Pascal under Mess-D}OS on a Me-2 Clone computer (names of compiler, operating system, and computer changed to protect the guilty). I've transf}erred the routine to the Atari, again demonstrating Pascal's portability. Center is a relatively simple routine which requ}ires three parameters, the first of which is a string. The string passed must have been declared as the following data TYP}E: String = ARRAY[1..MaxString] OF Char; As you can see, you must have previously assigned the CONSTant MaxString }a value. The next parameter passed must be a VARiable (not a constant or value) of TYPE Integer. It will be changed to re}flect the horizontal position (of the first character in your string) at which the string was written to on the screen. Th}e final parameter is an Integer again, this one being the vertical position at which you want your string centered. Rememb}er that you must include (#i) the files LENGTH.I and POSITION.I before you include the Center procedure. Here is an exampl}e of calling Center: Center(MyString,x,y); (CENTER.PAS should be renamed to CENTER.I after downloading.) RS Ct@@D1:*.*+@@Lw` @ i,@ i-@ +@ @! @ɛ @@@@BJKD@E V}0RB D@EHI V01@IU@T B D@EHI V B VTT`/@[_{ ,0j1000 .TITLE "DDIR2.M65" 1010 ; 1020 ; -------------------------------- 1030 ; 1040 ; Assemble as DDIR.COM -- if 10}50 ; you have the 'original' DDIR 1060 ; program, unprotect the .COM 1070 ; file and when this is assembled 1080 ; it will} wipe out the original 1090 ; version 1100 ; 1110 ; -------------------------------- 1120 ; 1130 ; WARNING!!! 1140 ; } For some reason that I can't 1150 ; fathom, this program will only 1160 ; run properly when used with 1170 ; DOS/XL ve}rsions 2.2 and 2.3. 1180 ; If it is run under any of the 1190 ; earlier OSS DOSes, it hangs up. 1200 ; Is it possib}le that I am 1210 ; running into a bug that has 1220 ; been fixed in the latest 1230 ; versions of DOS/XL? Of course, } 1240 ; its more likely that I'm the 1250 ; culprit. If you find that I 1260 ; am the guilty party, let me 1270 ; wha }t the error is. 1280 ; 1290 ; -------------------------------- 1300 ; 1310 ; USAGE: 1320 ; - [Dx:] DDIR Dn:filename.ex!}t 1330 ; uses filename.ext as a 1340 ; search specification for 1350 ; files on Dn: 1360 ; - [Dx:] DD"}IR filename.ext 1370 ; works same as above 1380 ; - [Dx:] DDIR 1390 ; shows all files on Dx:, 1400 ; #}the default drive 1410 ; 1420 ; Note - the [Dx:] is meant to 1430 ; stand for the prompt 1440 ; that OS/A+ $}or DOS/XL 1450 ; is displaying. The 1460 ; 'x' would be the number 1470 ; of the default drive, 148%}0 ; which ranges from 1 to 4 1490 ; 1500 ; -------------------------------- 1510 ; 1520 ; the needed equates 1530&} ; 1540 COPN = $03 1550 CGTXTR = $05 1560 OPDIR = $06 1570 CPBINR = $0B 1580 CCLOSE = $0C 1590 ROWCRS = $54 1600 COLC'}RS = $55 1610 EOL = $9B 1620 CPGNFN = $03 1630 CPDFDV = $07 1640 CPALOC = $0A 1650 CPBUFP = $0A 1660 CPFNAM = $21 16(}70 GOADR = $02E0 1680 ICCOM = $0342 1690 ICBADR = $0344 1700 ICBLEN = $0348 1710 ICAUX1 = $034A 1720 ICAUX2 = $034B 173)}0 CIOV = $E456 1740 ; 1750 *= $4000 1760 ; 1770 ; miscellaneous storage, etc. 1780 ; 1790 TEMP 1800 .BYTE $1*}5 1810 BUFPTR 1820 .BYTE 0 1830 DEFAULT 1840 .BYTE "D1:*.*",EOL 1850 BUFFER 1860 *= *+$12 ; I/O buffer +}1870 FNAME 1880 *= *+$10 ; filename buffer 1890 ; 1900 ; start the code..... 1910 ; 1920 FETCHNAME 1930 JMP ,}$E477 ;dummy address 1940 RTS 1950 PARSE ; ...we begin here 1960 LDY #CPBUFP 1970 LDA (CPALOC),Y -}1980 STA BUFPTR ;save pointer 1990 CLC 2000 LDA CPALOC 2010 ADC #CPGNFN 2020 STA FETCHNAME+1 2030 .} LDA CPALOC+1 2040 ADC #$00 2050 STA FETCHNAME+2 2060 JSR FETCHNAME 2070 LDY #CPBUFP 2080 LDA (CP/}ALOC),Y 2090 CMP BUFPTR ;did pointer move? 2100 BEQ NONAME ;no, use default 2110 MOVENAME 2120 LDX #$00 210}30 LDY #CPFNAM 2140 LOOP 2150 LDA (CPALOC),Y 2160 STA FNAME,X 2170 CMP #EOL 2180 BEQ GOTNAME 2190 1} INY 2200 INX 2210 CPX #$10 2220 BNE LOOP 2230 BEQ GOTNAME 2240 NONAME 2250 LDY #CPDFDV+1 ;defa2}ult drive # 2260 LDA (CPALOC),Y 2270 STA DEFAULT+1 2280 LDA # DEFAULT 2310 STA REALNAME+6 2320 GOTNAME 2330 LDX #$10 ;open 1,6,0,fname 2340 LDA #COPN 4}2350 STA ICCOM,X 2360 LDA #OPDIR 2370 STA ICAUX1,X 2380 LDA #$00 2390 STA ICAUX2,X 2400 REALNAME 245}10 LDA # FNAME 2440 STA ICBADR+1,X 2450 JSR CIOV 2460 TYA 6} 2470 BMI ERROR 2480 ENTRY 2490 LDX #$10 ;input 1,buffer,18 2500 LDA #CGTXTR 2510 STA ICCOM,X 2520 7} LDA # BUFFER 2550 STA ICBADR+1,X 2560 LDA #$12 2570 STA ICBL8}EN,X 2580 LDA #$00 2590 STA ICBLEN+1,X 2600 JSR CIOV 2610 TYA 2620 BMI ERROR 2630 LDA TEMP 269}40 EOR #$14 ;nice trick! 2650 STA COLCRS 2660 STA TEMP 2670 CMP #$01 2680 BEQ SKIP 2690 DEC R:}OWCRS 2700 SKIP 2710 LDX #$00 ;bput 0,buffer,18 2720 LDA #CPBINR 2730 STA ICCOM,X 2740 LDA # BUFFER 2770 STA ICBADR+1,X 2780 LDA #$12 2790 STA ICBLEN,X 2800 L<}DA #$00 2810 STA ICBLEN+1,X 2820 JSR CIOV 2830 TYA 2840 BPL ENTRY 2850 ERROR 2860 LDX #$10 ;clo=}se 1 2870 LDA #CCLOSE 2880 STA ICCOM,X 2890 JSR CIOV 2900 DEC ROWCRS ; do it twice... 2910 DEC ROWC>}RS ; ...saves a line 2920 RTS 2930 ; 2940 *= GOADR 2950 .WORD PARSE ; start at PARSE 2960 ; 2970 .EN?}D .* 1 y0 0)INSERT BOTH DISKS, TYPE RETURN^, 1 y038逍 N, 1L! ,( ] `U``U``U``U``U`UQ@DPTAUAUQTDDEQ@APT9U!HQ@:UE A}DTDDAPT4U*JRTDD5UAPDEQAPT0UADPDQDD1UEDQDEDDQ@PT,U B}*JRDEPEEDQ-!UDEDQDQDQPTUVZXZVU! QEQAQEED)$UA@DTEPDQQE@EPTU_ C}U$DADAEEQDDA'UEQTQEQEEQT@TUWmU'*JRTEEQDADQ?A D},UEATEEDQT? U,*JREQ@QDQ 2UEDE@= UU1*JRPED 5UEDEE? E}QTU*??U5* BQE@(?8UDEEA=AQPUTQT)?U8DQEE F}?DQTQUT*?%UTQE@DQT UQTQEUUQTQTPEQDQEAQ[?U$ DQPEQTQATEA G}TQD!?!UTQDQET@QPTUTQE@APEAEQTQTUDQTU???U QEP@AQTQ H}DEQTQATUTAEQT*??UQDEUADA@DEQEUUAEPQTDQEQU30<?303UQETEA I}DQEUPEU@UPEEQQTPPEEQU30UAQUTQEUTEUQUUPUTUUEUEQEQETQG_7UETUTQTQTUPUTQTAUUF Zj *JQ O}EQUEuUsݿUAUPTAUTU@PUUUUEAWUwGMt=UUTDTAUTPUTAUj*SU]]]wUTQUETUE P}UQU@UUUU|M4_?UUEUEUPEUUU@U@UZ27qWUTEUTETPQUQUTUP$UUUTQEUQU Q}TEUUU@UUVj*}i UTQUQEUTQQUTPUU(UuU UVEUTQETQEPUDUPUPUj$jUTQEUQEU R}TEUTUTUA=UUVZUTEUQEUQUQUTV<UEUEUTQUEUQ>UVZjUZUPEUTQUPTEU=UQUUT;U S}V UVZUAUPUEUQUV>UUQTE=U UVZjUVZUPUTQUVj:UUE?U UVjUVeUJQ T}UZ= UEAU UVZjUVZUiUZ?  [U** jVZjZVjjA [U**\**[U\[U U}*\*([U*\^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^IEL[::i:iIIL[:`:i::i ?NOQ(`(VVAAMLLRCOKEDDXYXYADOOYYNSEMLADDHIGLOW} X} !"#Y}$%&'('@@d'B7t@d;@e,KK6.A.H5H2HZ}D 0˭1̠˅ȱ˅΢Rh l0 6-C:,@@d0@@!6-P:'AV,6[}-&$AV @@ ;@,6-@ AUP AND DOWN@@\}(6-F:B2y,6-2)")R:,"@)6-6?< 6@6-6@FLEFT AND RIGHTP''6]}-F:Ad,$+F:B7u,"AQ,Q 6@6-6@R!@6-@Z?6-(")R:,"@^}56-6?? APd2")R:,"@(6-?2 A`n<R:,"@%6-6?26-6?_}< APx;R:,"@$6-?16-6?; A`6-%? Ap*** MOVE SHIP ROUTINE`} *** , A`# 6-%6-%6-%#6-%++ )!AV) A0 1a}!@A @, A` @0*** SPEEDOMETER ***",AX$@%@9"$b}****STARTUP TASKS****" +@''@@d'B7t@d,- A@!@ -(: SO FAR1'c}@@d'B7t@d6$ @$(:0 SO FAR;'@@d'B7t@d@& @6d}-6@&6-J-6@y@yT,%@y@y^##/%@y@i%$'A$h r @e},@y1/C/AVU/AV@y_@q,@9@r/@3@r|M @f},AY@9)@;,AW@9M/AW@I @,@@y1/@@C/AUg}@U/AU@yj-6@@,AW$@%@9 L6-@96-@p'6-46h}-6?P@6-L6- @ ,6-@6-@6-@c6-@b#$@i}%A ""6AA E @,//,%@%@E/%@%@ "j}@S!%,%@%@;/%@%@A,G/M6-S6- (} 6@k}6-66-6&"6@ Ap0 A: @0D* TITLE SCREEN *N+@%@X @ l}@b$$ @ MISSION EARTH g'@@d'B7t@dl @q'@@d'B7m}t@dv$$ @ by {'@@d'B7t@d$$ @ Ԡ n}'@@d'B7t@d$$ @ with '@@d'B7t@d$$ @o} BOB NUPP '@@d'B7t@d @'@@d'B7t@d$$ @p} '@@d'B7t@dAdAU_F:Ad,"AU-AF:@ q},UAP:H:,%?p,$A8_ AAdAU +A'@@dr}'B7t@d!!( MISSION EARTH '@@d'B7t@d ( ('@@d's}B7t@d (DO YOU WANT INSTUCTIONS?'@@d'B7t@d##((Press the Y or N key.) t}'@@d'B7t@d.@.@@K:'@@d'B7t@d u})@@""@:N, A" A "@:Y,A ""@:,* Ap4*** INSTRUv}CTIONS ***>1 +A1A C'@@d'B7t@dHRR J This is a spacew} simulation of the year 2086. The Star Wars sheild hasM'@@d'B7t@dR\\ Tjust been activated. Yx}our mission is to take fuel to the floating space station.W'@@d'B7t@d\aa Y Your vehicle y}is a mini-spaceship. It is controlled by the keyboard in front of you.a'@@d'B7t@dfSS K Usz}e the 'A' key to thrust left. Use the 'S' key to thrust right. Usek'@@d'B7t@dpff ^'SELECT' {}to thrust up. Like any ship,you can't thrust down. Only gravity can pull you down!u'@@d'B7t@d|}zII(A You can also use the simulation of an ancient ATARI joystick.'@@d'B7t@dUU L Ne}}ver hit anything blue: you willblow up. Actually you have a two-part'@@d'B7t@dPP Hmission~}. Land in the floating space station on the yellow landing pad.'@@d'B7t@dQQ IThen you must} return to Earth to get more fuel. Land on the yellow pad.'@@d'B7t@d)()(PRESS THE SPACE} BAR TO GO ON.'@@d'B7t@d?-@#A 7-@@; ? F}@.@@K:;)@F@'@@d'B7t@dH -@}6@,A @-@@D H 1 +A1A '@@d'B7}t@dRR(J Do this in the fastest possible time. You will be timed in seconds.'@@d'B7t}@dSS K You have a vertical velocity gaugeon the right hand side of the screen.'@@d'B7t@d}kk cThe long blue strip in the middle is zero velocity, which means the shipisn't going up or down.'@}@d'B7t@dUU L Whenever you land, the gauge must be pointing to the yellow strip on the'@}@d'B7t@dPP Hside. If it's not pointing to it, youare going too fast and will crash.'@@d}'B7t@dhh ` Every time you return to Earth safely, you go to the next space sta- tion. There are 10. }'@@d'B7t@d*( (*(PRESS 'SELECT' TO BLAST OFF!'@@d'B7t@d?-}@#A 7-@@; ? '@@d'B7t@d$ F:B2y,"@A`})'@@d'B7t@d.H -@6@,A @-@@D H 8 A} AB * FIGURE OUT WHAT WE HIT *L"@A V"@A0` * WE HIT A LANDING BASE! *j!!} )!@A0t!@P A~*6-6?P6-*6-&@"@A0 }-A6@--2@P:H:@,$@,6-@ %%2} A* WE CRASHED. * -@6@2A @ ,} A77/&@%H:,$@ &H:,$@   A* WE LANDED ON EARTH! *("}A02-A<--2@P:H:@,$@,F P%%2Z}6-%@ Ad!!**DATA FOR SPACE STATIONS**n130,30,140,30,-1,-1x99130,30,140,30,-130,-20,130,30,-140,-3}0,140,20,-1,-1@@130,35,140,35,-130,-29,130,35,-140,-35,140,20,130,20,-1,-1@@130,35,140,35,-140,-27,140,35,-130,-35,13}0,20,140,20,-1,-1GG130,35,140,35,-120,-29,130,29,130,35,-140,-35,140,20,120,20,-1,-1WW130,35,140,35,-130,-25,130,35,-}140,-35,140,25,-120,-25,120,15,150,15,150,25,-1,-1NN120,40,130,40,-120,-40,120,30,130,30,-130,-20,140,20,140,50,130,50,-1},-1>>120,40,130,40,-120,-40,120,30,140,30,140,50,120,50,-1,-1kk120,40,140,40,-120,-40,120,30,127,30,127,25,120,25,120},20,-140,-40,140,30,133,30,133,25,140,25,140,20 -1,-1``120,40,140,40,-20,-30,20,20,135,20,135,30,140,30,140,40,-120,}-40,120,30,125,30,30,30,-1,-1-9999,0,0,0-9999,0,0,0* END OF GAME, YOU WON! *AdAU< @}<(} YOUR TIME WAS :0!!! '@@d'B7t@d;!@ ;(} YOUR }TIME WAS :!!!'@@d'B7t@d+-@A"+0@@" ,^6-}3(DO YOU WANT TO PLAY AGAIN[Y/N]>@^@@K:1'@@d'B7t@d6})@@:YN,"%@AdAUJ*** SET CLOCK ***T9@'@9@ }^$h*** CALCULATE TIME ***rMM6-P:+F:@,$AV$AV%F:@,$AV%F:@ ,,'@`,|&6-P}:'@`,&6-&+$@`,$*** MOVE SHIP ROUTINE ***c ,!/&@',=/%@&@}C,Y/&@&@c A`# 6-%6-%6-%#6-%++ )!AV) A0 1}!@A/1&@&@/!@A) @,)/&@&@ A`} @0p*** MOVE SHIP ROUTINE ***zc ,!/&@',=/%@&@C,Y/&@}&@c A`# 6-%6-%6-%#6-%++ )!AV) A0 1!@A}/1%@&@/!@A) @,)/%@&@ A` @0X***} MOVE SHIP ROUTINE ***bc ,!/&@',=/%@&@C,Y/&@&@c A`l#} 6-%6-%6-%#6-%v++ )!AV) A0 1!@A'1&@}'!@A! @,!/&@ A` @0D:EARTHnnnnnnnnnnnnnnnnnnNSE! PLEASE Tp>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>}>>>>>>( D:SWEEPDIS.LSTD@@D:SWEEPDIS.LSTG$t)(@ 32099 REM DELAY ROUTINEt(@ Well here is my latest attempt to create the ultimate configuration file for the Silver-Reed EXP5}00 Daisy Wheel printer (Diablo compatible). The following are the features I was able to get working. } [1] Underlining. [2] Bold Face (simple overstrike). [3] 10, 12, 15, and 17 pitch (17 is} the optional one and a joke). [4] 6 or 8 Line Per Inch control. [5] Superscript and Subscr}ipt. [6] User Command 1 - Ring Bell (I was bored ok?) [7] User Command 2 - Print Extended character 1 (de}pends on the wheel). [8] User Command 3 - Print Extended character 2. I left t}he forth user command alone as can see no use in playing around with graphics mode on a daisy wheel printer. } In addition I could not get the microspacing to work. It should be possible via the Horizontal Motion In}dex but I still don't have the hang of setting up microspacing yet. As a final note, to use all these} fancy features you must run the printer with auto CR/LF disabled and in Serial mode. Don't worry } it's still a parallel printer, it just processes the data serialy. The price you pay is loss of buffe}ring and Bi-Directional printing. Oh well the price we pay for quality text output. If anyone figures out how to } use microspacing, EASYPLEX me the info, I'd love to utilize it. } Dan Rhea 71777,2337 zzzzzzB{67@F,.>:e_mNXYS@@@ } S +@6-@+A@$=A@I6-@`S@ZAR@!}(},(נ7(Z( FROM: SCAMPu-AY;6-%P:@$H:@,&@},M6-%+ @Q,_6-&+!@i,e,q/@yu = @!-@E@p-,@ 9/@p= ` }-@06@>,@E&@0%'@\/@E%@0%'@`  @,@0@P1/}@6@PC/@6@VU/@0@Vg/@0@Py/@3@P/@3@U,@0@S}/@5@S @,@T@P1/@`@PC/@`@VU/@T@Vg/@T@Py/@W}@P/@W@U,@T@S/@`@S9,9,9,(B-@ 68,-/68,}-@>68,-B 20-@6-8,#6-8,01%8,5 F:@ , @@S6@ }7 @"! B=2@@Y2@@@u2@@@2@}@@<i!@x)#),56-O6-P:A`$H:@,,i68,-@$H:@},FD ,@(6-%8,.,768,-@68,-D P @PZR-@32}7 K-@A O R%9953,72,42,217,53,72,42,217,53,72,42,217,72,72,53,173//64,81,53,162,72,85,53},217,0,0,0,0,0,0,0,09953,72,42,217,53,72,42,217,53,72,42,217,72,72,53,1734464,81,53,162,72,85,53,217,0,0,0,0,53,72,53},1734453,64,40,162,53,72,42,217,0,0,0,0,53,72,53,1734453,64,40,162,53,72,42,217,0,0,0,0,53,72,53,173$9957,81,47,19}3,53,85,72,217,53,96,72,144,57,98,72,144.//53,85,72,217,53,85,72,217,0,0,0,0,0,0,0,089947,72,57,144,47,72,57,144,47,72,}57,144,72,72,47,114B//42,72,53,108,47,72,57,144,0,0,0,0,0,0,0,0L9947,72,57,144,47,72,57,144,47,72,57,144,72,72,47,114V}4442,72,53,108,47,72,57,144,0,0,0,0,47,72,47,114`4442,72,53,108,47,72,57,144,0,0,0,0,47,72,47,114j4442,72,53,108,47,7}2,57,144,0,0,0,0,47,72,47,114t9942,72,53,108,47,72,47,114,53,72,42,128,53,76,64,128~//57,72,47,144,57,72,47,144,0,0,0,0},0,0,0,09972,72,72,144,72,72,72,144,72,72,72,144,72,72,72,144==64,128,64,128,64,128,64,128,57,114,57,114,57,114,57,11}4??53,108,53,108,108,108,108,217,53,108,53,108,53,108,53,108==53,108,53,108,53,108,53,108,57,114,57,114,57,114,57,114}==64,128,64,128,64,128,64,128,64,128,64,128,64,128,64,1286672,144,72,144,72,144,72,144,0,0,0,0,47,72,72,1144453,7}2,42,108,57,72,47,144,0,0,0,0,47,72,47,1144453,72,42,108,57,72,47,144,0,0,0,0,47,72,47,1144442,72,53,108,47,72,57,144},0,0,0,0,47,72,47,114//42,72,53,108,47,72,57,144,0,0,0,0,0,0,0,0990,108,53,217,0,108,53,217,0,108,53,217,0,108,53,217}550,96,47,193,0,96,47,193,0,85,42,173,0,85,42,173660,81,40,162,0,162,81,162,0,81,81,162,0,81,81,162 550,81,81,162,}0,81,81,162,0,85,85,173,0,85,85,173550,96,96,193,0,96,96,193,0,96,96,193,0,96,96,193660,108,108,217,0,108,108,217,0,0},0,0,53,72,53,173(4453,64,40,162,53,72,42,217,0,0,0,0,53,72,53,17324453,64,40,162,53,72,42,217,0,0,0,0,53,72,53,173<4}453,64,40,162,53,72,42,217,0,0,0,0,53,72,53,173F//53,64,40,162,53,72,42,217,0,0,0,0,0,0,0,0P**53,0,0,0,53,0,0,0,53,0,0},0,53,0,53,0Z,,47,0,57,0,47,0,72,0,42,0,0,0,42,0,53,0d++40,0,64,0,81,0,64,0,40,0,0,040,0,47,0n++40,0,57,0,40,0,72,0,}53,0,53,0,72,53,0x3347,81,53,0,47,96,53,0,47,72,57,0,47,72,57,1445553,72,53,173,53,72,53,217,0,85,35,0,53,108,40,09}957,0,72,144,72,96,72,144,0,114,72,144,57,144,72,1448853,0,64,128,53,85,64,128,47,96,57,114,47,81,57,114::72,85,53,1}08,72,85,108,217,53,64,53,108,57,72,53,1098864,76,53,108,64,96,53,108,0,72,57,114,47,72,57,1149953,72,64,108,57,72,64},108,53,76,64,108,53,76,64,1086657,72,72,144,57,72,47,144,47,0,57,0,57,96,72,144440,72,0,173,72,85,53,217,53,0,53,0,7}2,85,53,108220,96,0,114,57,114,47,144,47,0,57,0,57,0,72,0660,108,53,0,72,108,53,0,42,108,53,0,53,108,53,108660,96},47,114,57,96,47,144,53,85,42,0,72,85,42,108770,81,40,128,64,162,81,162,47,81,40,0,47,81,40,193660,81,40,144,57,81,40},144,53,85,42,0,53,85,42,1289953,96,47,162,53,96,47,193,57,96,47,144,57,96,47,1449953,108,53,173,53,72,53,173,53,85,5}3,0,53,108,42,1088853,0,40,128,53,64,40,162,53,64,40,128,53,64,40,114"9953,72,42,108,53,72,42,108,53,72,42,108,53,72,4}2,108,9953,81,64,162,53,81,64,162,53,81,64,162,53,81,64,16269953,81,64,162,53,81,64,162,53,81,64,162,53,81,64,162@99}53,85,72,217,53,85,72,217,53,85,72,217,53,85,72,217J9953,85,72,217,53,85,72,217,53,85,72,217,53,85,72,217T9953,85,72,21}7,53,85,72,217,53,85,72,217,53,85,72,217^9953,85,72,217,53,85,72,217,53,85,72,217,53,85,72,217D:SNOW{{{{{ZBAFu 96 1064 96 2250 96 3442 96 4658 86 } 30          }                  }                     }  3:<:C?787C:8753.023.0.C3.0.C3333C3333C32323C5. }75C5.75C5575C5575C57532C.023'3320.C5532C5532C5575C5575C }CCCCC3333C3333C3333C3333C3578,88753C332.C22333 }55.C3200C53235322252C..3.C2252C..73C223.C0055C2233 }32233333888<<:..,+)''C+)''7533232332.023CCCCCC3CC }CC3:27.32020......C.....C3333335555577777788 }88875785C235.CCCC.3+0',+)+)''CCC387C387CCCC3387C3387C..373 }3..233323C..3C...3C..3C...3CC.370387553C333C333 }3C3333C3333C3333C3333CC33333.787":323C323..+ },)..,+C..,+C..0.C..0.C.,+))+C....C....C....C.. }..C..-.C.$&''''&$"C....C....C....C....C')+ C, },+)'C..0.C..0.C..0.C..0.CCCC..,)......+'C))&"C,+)., }+C0.-)..-.C)).+C++)&C')+, ,,+)'..+'C000.333887+)''&'C }'&'..'+)'')+-.C,,.CCCCCC.370',+)+)''.+'C).)CC&'0.-"""" }"C""""""CCC.0.C.0.C..0.C..0.CCCC).-C).-C)).-C)).-CCCC+ }0/C+0/C++0/C++0+CC00.....CCC+-.'&')'&).,+)'''&'''&C }333C.0.C.0.C3333C..0.C..0.CC.'+0',+))+C++,.C+++,.C+ }+.C+++,.C+++'.)....C.0.C.0.C.0.C.0.C..0.C..0.C..0.C. }.0.C+,,+++,.333C7.,.C,.)+CCC C C }CCCCCC"$&'''&$"C""+)C))+)C))'&C) })'&C,   C'',+C'',+C'',+C'',+CCC''&"C''$$C))&"' }'&'++.+"$&'''&$"))&"C''+'C))&"')+, ,,+)'+,,+33 }3'""""C" '),""" "')'')+CCCC'.&+"'&$&$""C"'''C$)&'' }'&'CCC'&"+)+))C))&CC)+)C)+)C))+)C))+)CC)+)C)+)C))+)C))+ }):875CC',+C',+C'',+C'',+CC$&$C$&$C$$&$C$$&$CC&'&C&'&C&&'&C }&&''CC''))'&')&CC"$&"""!"CC"'&$" "$""'''''''''C+ }+'''$"" """"C'')+C''')+C''+C''')+C''"$"&'''&+C', }+C',+C',+C',+C'',+C'',+C'',+C'',+C"$$""C!} CCCCC  CCCCCC!}CCCCCCCC!}CCCCCCCCCCCCCC!}CC     C  !}CCCCCCC CCCCC !}CCCCCCCCCCCCCCC!}CCCCCCCCCC CC  !}  CCCCCCCCC!}CCCCCCCCCC! }CCCChxxxhxxxxxxxxxxxhxxxhxxxx99ux! }x99uxxxxxhxxxhxxxx9<xxx9<xxxxxxxxexx9<xxx9! }<xxx9<xxx9<xxx99uxx99uxx99uxx99uxxxex! }x9<xxx9<u9<uxx<<uxxxxxx<<u9<xxx9<xxx9<xxx9<xxx9},|T:,"20@@F-@AJ d0@x-@A| -?} T:,"A@F:,Ap16-1%@!Ap%@!Ap-@}J-@@P+-@BA%F:B7p,F J "& +@&(@ ,226-P:+F:-A}@ ,%AV$F:@,,'@`,6""(@IN  SECONDS.@)(@)(@ press toJ(@-B} play againT/T:,%AF:B7p,/ A@^%hJ$6-+F:A,&@,$AV8-@-C}F%J r #A|""6@$1-@"-%$@%1  A$$3,56-D},124,174,174,254,186,68,56$$4,56,124,234,234,254,186,68,56##5,56,84,214,254,254,186,68,56$$6,56,124,254,214,214,1-E}86,68,56''1,255,255,255,255,255,255,255,255!!127,16,24,28,30,30,28,24,16-1! +@!AV'AV?-F}%6-F:@,%AV$F:@,?0@9@,%68,-@;68@,-6@@Q68@-G},-6@f68@,-@@r6-A)~6- B'g6-%@!H-@@!8(@-H}< H@#6-P:H:@,$@,#6-6-%8,&= F:,"%@-%8,'@-I}36-= A00-6-+%@,$+ @,-A@:; 6-F:, @16-&8&@,; A0D-J}$ D:HIDNMAZEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaV$F:%@,<))6-F:%@,%AV$F:%@,F))-F:%,611CCCCCCCC1CG0CG1HG0HG1SL0SL1SDSNSHS1S2SBWW2HADPLTSISSXYBBCIOOOZHSXX1L}SYSHHWOBOSOLHGHIBXYODIIWWPDDDTTVGVGHQQYEEEFFLRUDDXYUUUDKKBBHHZ1M}ZWOOXOYSWO@@@@@@ @A XddA  ddA xA 1N}PA(p22A A 1 @@?P1O}A@A@ @!@"@#$@%@q&@'(@C)*@+@,@1P}-.@/0@1@ 2@3@4@C5@C6@7@89@S:@;@1Q}<@=@>@?@@@PAAB@ C@D@E@F@G@H@I@J@K@1R}L@M@N@O@PQ@R@S@TU@ V@W@X@YZ@[@1S}\]^@_`@a@b@c@d@e@f@gh@i@j1T}k@lm@n@Co@pq@rs@CǪ¸Ƕ A0 ##**********1U}*******************##* *##* HIGH SEAS BY TOM HUDSON *(##* A.N.A.L.O.G. COMPUTING *1V}2##* *<##*****************************F("(0,1,2,3,4,5,9,10Z>>9<,;1W}A,9<,;A,9<,9<,9<,d33;@P,;,;,;,;,;,;,;,n:9<,9,;,681X},-(68,-168,-:68,-x< --68<,-)68<,-468<,-8 < G --68<,-)681Y}<,-- 868<,-C68<,-G 1 6. 67A,. +67@,.16.W<6.2DESTROYER SUBMARINE CRUISER 1Z}BATTLESHIPCARRIER KH:, ?PW6-?P1 (}1(# =6-A-@1[}#-=(>:, ++++++++++5-@!)(>:, ++++++++++16-%5 G-@"(Ҡ4-@!1\}@G(Ҡ A! @ A!0,( I'M SETTING UP MY FLEET.6 A"p@ A! = A!03(1]}! IT'S TIME TO SET UP YOUR SHIPS.= A!`c 6-6-6- A +6-@16-76-A A M6-@!S61^}-Y6-c A G6-@16-6-% A 16-@A76-=6-G A r6-@6-@% A! 1_}((=H:, ?PT( I WILL GO FIRST.^ A!`h A! r A0+( YOU GO FIRST!! A!`+ A! 1`}*** HUMAN'S TURN ***& A! &( FIRE YOUR SHOT - "' A&' )!) )!A,6-%$%1V7<1a},0 -%%"(>:,, A!@B(OOPS - TRY AGAIN!L A!`V Ap667<,.2;9-@A521b}@'@9 @L8<,!6.*2688<,<,-88<,<,%B6-88<,<,L AEEG-@@PC21c}@@@&'@G J? 6.  A A!@5(YOUR SHOT MISSES!? A!`T67<,.11d} A0YG-@@PC2@P@@&'@G ^d A A!@)( IT'S A HIT!!!3 1e}A!`d8<,ApAAA0APh&r "6- Ap| A0 "6- Ap1f} A0 "6- Ap A0 "6- Ap A0 A0 6-A1g}@H)-@@E2AP@I f-@6?2@@ 1q}ABCENTER DOCBDDIR2 BINB'DDIR2 M65B@EAGLE XMOBQVEARTH XMOBEXP500 CNFBEXP500 DOCB(HALELU BASBOHALELU XMOB/HEAD DOCB3HEAD PASB8HIDMAZ BASBeKHISEAS BQHISEAS XMOB LEDGER DOCB2LEDGER LSTBCLIFE2 ACTB.aLIFE2 OBJA-@7( YOU SUNK MY 7+&,$%<$,!!!A A!`+AAF6-%+"A! A0-1r}@%%($6 A!@"(INCORRECT INPUT!, A!`6 Ap*** HUMAN SET-UP ***% A! 6-@$1s}%6-@//( SHIP: 7<%, --- LENGTH: &, A!@"(BOW COORDINATE?, A%+ T:,"1t}AU0. A!@$(STERN COORDINATE?. A%%b,6-N:&,6-N:&,,O:&,AlAO:&,%O:&,+&,1u}# A!P7(SHIP WON'T FIT!A A v 6-6- 6-&6-&. -6-%6-%.8<,!A1v} 6-&6-&P -6-%6-%1-@$%@%:(7<,E68<,-P68<,-68<,- $, 1w}A!P"(INCORRECT INPUT!, A ) A!P( NO DIAGONALS!) A ( A!P((SHIP OVERLAPS ANOTHER!; -1x}%%(>:,-%%'(>:,1 A!`; A *** COMPUTER'S TURN ***8<, 6- A8<, 1y}6- A'8<, )8<, 6-' A 6- 8<, 6- A '8<, )8<, 6-1z}' A  8<, 6- A * 6-4-!A-*** SRCH FOR NEXT HIT ***>,!@uA `,*** SY1{}STEMATIC ***H 6-6-R 6-%!A \" A"7<,0 APf( A@(!*H:, ?AP1|}p AP"A z AP 6-6- 6-%!@uA `" A"7<,0 A (1}} A@(!*H:, ?A  A "A  A 2 -- A27<,0 A 1~}! 6- AP!"A    2 -- A27<,0 A! 6- A !"A 1}  &% A A %A@ A0 $ 6- $ A A   $$ 1} A0 $. 6- $86-P:H:,$,6-P:H:,$,B6-%$%$L6-+%,'&P:,'V$`C 6-61}- Ap6-&6-6,6-6 Ap@6-%%C$jC 6-6- Ap6-%6-,6-66 Ap@6-%%C$t1}; 6--&%!-&%; )!) )!A`~$6-%$%7<,42$6-%  $ 6-6-61}-( 6-%6-%% )!) )!($ 8<,$ 6-% A/ - 688<,<8<,,-(6-&, /$1} 6-6-J 6-6-6- A%6-+6-26-686-B AJ6-%J 6-6-6- A%6-1}+6-16-86-6B AJ6-% 6- 6-$ 6-6-6- ( 6-%6-%%!)!)1} ) ($8<,"$ 6-% A(G 6.=:,)67,.>:@:7B:,,,%@,26.=:,G67@,.7B:,,2) 61}. 68<,-)8<,"AP<' 6.*'688<,<,-88<,<,%F" A67<,.1"6-%P! A! !(1} MY SHOT IS U9-@A52@'@9 Z-@$%%(d~ 4 -@@P1}K2@@@&'@O Y A!@j( IT'S A MISS!t A!`~ ApiG-@@PC21}@P@@&'@G n- A!@( IT'S A HIT!' A!`-6-x A67<,.268<1},-6-%S 6-6-6-88<,<,P8<,A0APApAAS& "6- A0 1}Ap "6- A0 Ap "6- A0 Ap "6- A0 Ap1} Ap 6-A@H)-@@E2AP@I f-@6?1}2@@ <-@<(YOUR 7+&,$%<$, HAS BEEN SUNK!) A!` A)A1}AF$$*** ONE MORE COMPUTER-SINK *** 6-%"A!" 6- Ap,""*** SINK SHIP SUBROUTINE ***671} 6-6-6-$H:,!?P*6-06-76-6@ --J8<, A`T+"A+*** RANDO1}M DIR SHOT ***^ 6-6- A hAr 6-6-| !6-8&<,  6-8%<,% "*1}"6-&6-% A % "*"6-%6-% A A` 6-6- !6-8<&, 1} 6-8<%,% "*"6-6-&% A % "*"6-6-%% A ;  ;*** NOW YOU KNOW THERE1} ARE PARALLEL SHIPS *** --8<,   & 6-6- A AP 6-6-1}6- !6-8&<,&  6-8%<,0")"A:AD 6-6-6-N !6-81}<&,X  6-8<%,b")"Al  &v"AP"6-6%P:H:,$,""A 8%<1},6-6 6-%6- A "6-6%P:H:,$,""AP8<%,6-6 6-6-% A S1}-@ !6-%P:H:,$,16-%P:H:,$,:6-8,F68,-8,O68,-S 5 -28,A A A @A `1}5&Z 6-6-6-6-% Ap+6-26-686-B ApL6-%%Z A! A pZ 6-66-1}6-6-& Ap,6-26-86-B ApL6-%%Z A! A pZ 6-6-66-6-& Ap,1}6-26-86-B ApL6-%%Z A! A p Z 6-6-6-6-% Ap+6-16-86-6B A1}pL6-%%Z A!8 6-%6-%1 )!@ ) )!@ 5 8&  8<, &* 6-6- A 1}4   &> *** SCREEN SUBROUTINES ***H( A!0( % A!0($R-@$\-@$f1}-@ $p *** TIME DELAY ROUTINE ***z-A $*** END-OF-GAME CODE *** " A%`/ 1}A!` A! ! A!0/"A" ( YOU WIN!! A"0( I WIN!!) A!@%(ANOTHER GAME (/)1}) 4N% 0Y A!@(% A"0%""*** SET COMPUTER'S SHIPS ***[ 6-6- A#6-1}%6-/ A#56-;6-E A#K6-Q6-[ A# 6-6- A#$-6-P:H:,$,6-P:H:,$,-6-P1}:H:,$, ,)%A# A#@A#`A#,&  A# & 6-6-6-6-6& A$$ +&, A#1}. % 6-6-6-6-% A$8 +&, A#B % 6-6-6-6-% A$L  A#V  6-1}6-6-66-` 6-6- 8<,A#j A 6-%6-% * A8<,*H:@, ?A#t = 6-&1}6-&!6*!6=8<,*H:, ?A#~ 0-+&,6-%6-%08<,A# ; 6-%6-% *1} ;8<,*H:, ?A# = 6-&6-&!6*!6=8<,*H:, ?A#   - 6-%6-%- 1})!) )!A$ !!8<,*H:, ?A#  6-6-68<,- 1-+&,6-%6-%*68<,-. 1}1$ !!*** JOYSTICK SETUP BX BY*** 1%% ' -%%(>:,6-!6-'6-  -%%( @6-R:1},1"@*T:,"76-=6-@$ "@A% ++6-%+ @,&+!@* @, FF6-1}%+"@,%+"@ ,%+"@,&+'@"P:'@,, !@ 6-  6-@  !@1} 6-  6-@  A% !!*** JOYSTICK SETUP SX SY*** 1%% ' -%%(>:,1}6-!6-'6-  -%%( @6-R:,1"@*T:,"76-=6-@$ "@A%(1} ++6-%+ @,&+!@* @, FF6-%+"@,%+"@ ,%+"@,&+'@"P:'@,, !@ 1}6-  6-@  !@ 6-  6-@  A%& ++*** SHOW 1}COMPUTER'S LAYOUT AT END *** D --6-8<,.-@%%4":(D A% **(>:@:7+&,$%<+&,$1}%,,%A(,   $( *** JOYSTICK MOVEMENT ***2 1%%7 ' -%%(>:,6-!6-'6-<  -%%1}(A R6-R:,1"@*T:,"76-=6-O@wR$F "@A& P ++6-%+ 1}@,&+!@* @,U FF6-%+"@,%+"@ ,%+"@,&+'@"P:'@,,Z !@ 6-1}_  6-@ d !@ 6-i  6-@ n A& C +AAF1}1AR@C@ $($(   !!(  !!( 1}  !!(  !!(  --(%   1}  --(%  --(%  --(%  1}   --(%  ''( Program by: Tom Hudson &&( Modified by: Bo1}b Beatty $ D:HISEAS2tttttttttttt@4L좠!!ΠТ" 6-R:,""@0,''CCCCCCCC1CG0CG1HG0HG1SL0SL1SDSNSHS1S2SBWW2HADPLTSISSBBCIHSXSSXYHHW5}OLHGHIBXYODIIWWPDDDTTVGVGHQQYEEEFFLRUDDXYUUUDKKBBHHZZWW5}@ @ @ @ @5}@@ 5}!"#$%&'()*+,-./05}123456789:;<=>?5}@ABCDEFGHIJKLMNO5}PQRSTUVWXYZ[\]^5}_`abcdefǪ¸Ƕ ##*****************************5}##* *##* HIGH SEAS BY TOM HUDSON *(##* A.N.A.L.O.G. COMPUTING *2##* 5} *<##*****************************F("(0,1,2,3,4,5,9,10P%@%*** LEFT MARGIN ***5}Z>>9<,;A,9<,;A,9<,9<,9<,d33;@P,;,;,;,;,;,;,;,n:9<,5}9,;,68,-(68,-168,-:68,-x< --68<,-)68<,-468<,-8 < G --5}68<,-)68<,-- 868<,-C68<,-G 1 6. 67A,. +67@,.16.W<6.2DESTROYER SUBMA5}RINE CRUISER BATTLESHIPA-CARRIER KH:, ?PW6-?P1 (}1(# =6-A5}-@#-=(>:, ++++++++++5-@!)(>:, ++++++++++16-%5 G-@"(5}Ҡ4-@!@G(Ҡ A! > A!0*(I'M SETTING UP MY FLEET.4 A"p> A! ;5} A!01(IT'S TIME TO SET UP YOUR SHIPS.; A!`c 6-6-6- A +6-@16-76-A A M6-5}@!S6-Y6-c A G6-@16-6-% A 16-@A76-=6-G A X A! (%H:5}, ?P:(I WILL GO FIRST.D A!`N A! X A0)( YOU GO FIRST! A!`) A! *** HUMAN'S TUR5}N ***: A! %(ENTER YOUR SHOT - ):B:,A"- 6. A%- )!) )!A,P6-%$%5}7<,0 & A!@<(OOPS - TRY AGAIN!F A!`P Ap667<,.2@L8<,!6.*2688<,<,-88<,<5},%B6-88<,<,L APJ? 6.  A A!@5(YOUR SHOT MISSES!? A!`T67<,.1 A0^d 5}A A!@)( IT'S A HIT!!!3 A!`d8<,ApAAA0APh&r "6- Ap5}| A0 "6- Ap A0 "6- Ap A0 "6- Ap A05} A0 6-A-@7( YOU SUNK MY 7+&,$%<$,!!!A A!` 6-%"A! 5}A0-@%%($6 A!@"(INCORRECT INPUT!, A!`6 Ap*** HUMAN SET-UP *** A! 5}--(SHIP: 7<%, --- LENGTH: &+('(BOW COORDINATE (EG. B4) - +0($(STERN COORDINATE - 5}(:B:,)B:,AD 6.6. A%N )!) )!AX )!) )!Ab,6-N:&5},6-N:&,,O:&,AlAO:&,%O:&,+&,# A!P7(SHIP WON'T FIT!A A v 6-6- 6-&5}6-&. -6-%6-%.8<,!A 6-&6-&P -6-%6-%1-@$%@%5}:(7<,E68<,-P68<,-68<,- $, A!P"(INCORRECT INPUT!, A ) A!P( NO DIAGONALS5}!) A ( A!P((SHIP OVERLAPS ANOTHER! A!` A *** COMPUTER'S TURN ***8<, 6-5} A8<, 6- A'8<, )8<, 6-' A 6- 8<, 6- A '85}<, )8<, 6-' A  8<, 6- A * 6-4-!A-*** SRCH FOR NEXT HIT ***>,!@u5}A `,*** SYSTEMATIC ***H 6-6-R 6-%!A \" A"7<,0 APf( A@(!5}*H:, ?APp AP"A z AP 6-6- 6-%!@uA `" A"5}7<,0 A ( A@(!*H:, ?A  A "A  A 2 -- A5}27<,0 A ! 6- AP!"A    2 -- A27<,0 A! 6-5} A !"A   &% A A %A@ A0 $ 6- $ A 5}A   $$ A0 $. 6- $86-P:H:,$,6-P:H:,$,B6-%$%$L6-+%,'&P:,5}'V$`C 6-6- Ap6-&6-6,6-6 Ap@6-%%C$jC 6-6- Ap6-%6-,6-66 A5}p@6-%%C$t; 6--&%!-&%; )!) )!A`~$6-%$%7<,42$6-%  5}$ 6-6-6-( 6-%6-%% )!) )!($ 8<,$ 6-% A/ - 688<,<85}<,,-(6-&, /$ 6-6-J 6-6-6- A%6-+6-26-686-B AJ6-%J 6-6-5}6- A%6-+6-16-86-6B AJ6-% 6- 6-$ 6-6-6- ( 6-5}%6-%%!)!) ) ($8<,"$ 6-% A(G 6.=:,)67,.>:@:7B:,,,%@,26.=:,G675}@,.7B:,,2) 6. 68<,-)8<,"AP<' 6.*'688<,<,-88<,<,%F" A67<,.1"65}-%P A! ( MY SHOT IS Z-@$%%(d: 4  A!@&( IT'S A MISS!0 A!`: Apn- A!5}@( IT'S A HIT!' A!`-6-x A67<,.268<,-6-%S 6-6-6-88<,<,P8<,5}A0APApAAS& "6- A0 Ap "6- A0 Ap 5}"6- A0 Ap "6- A0 Ap Ap 6-<-@<(YOUR 7+5}&,$%<$, HAS BEEN SUNK! A!` A$$*** ONE MORE COMPUTER-SINK *** 6-%"A!" 6-5} Ap,""*** SINK SHIP SUBROUTINE ***67 6-6-6-$H:,!?P*6-06-76-6@ --J5}8<, A`T+"A+*** RANDOM DIR SHOT ***^ 6-6- A hAr 6-6-| !5}6-8&<,  6-8%<,% "*"6-&6-% A % "*"6-%6-% A A`5} 6-6- !6-8<&,  6-8<%,% "*"6-6-&% A % "*"6-6-%5}% A ;  ;*** NOW YOU KNOW THERE ARE PARALLEL SHIPS *** --8<,   & 6-65}- A AP 6-6-6- !6-8&<,&  6-8%<,0")"A:5}AD 6-6-6-N !6-8<&,X  6-8<%,b")"Al  &v"AP5}"6-6%P:H:,$,""A 8%<,6-6 6-%6- A "6-6%P:H:,$,""AP85}<%,6-6 6-6-% A S-@ !6-%P:H:,$,16-%P:H:,$,:6-8,F68,-8,O68,-S 5}5 -28,A A A @A `5&Z 6-6-6-6-% Ap+6-26-686-B ApL6-%%5}Z A! A pZ 6-66-6-6-& Ap,6-26-86-B ApL6-%%Z A! 5}A pZ 6-6-66-6-& Ap,6-26-86-B ApL6-%%Z A! A p Z 6-6-5}6-6-% Ap+6-16-86-6B ApL6-%%Z A!8 6-%6-%1 )!@ ) )!@ 55} 8&  8<, &* 6-6- A 4   &> *** SCREEN SUBROUTINES ***H( A!0( % A!05}($R-@$\-@$f-@ $p *** TIME DELAY ROUTINE ***z-A $***5} END-OF-GAME CODE *** " A%`/ A!` A! ! A!0/"A" ( YOU WIN!! A"0(I W5}IN!!) A!@%(ANOTHER GAME (/)) 4N% 0Y A!@(% A"0%""*** SET COMPUTER'5}S SHIPS ***[ 6-6- A#6-%6-/ A#56-;6-E A#K6-Q6-[ A# 6-6- A#6}$-6-P:H:,$,6-P:H:,$,-6-P:H:,$, ,)%A# A#@A#`A#,&  A# & 6-6-6}6-6-6& A$$ +&, A#. % 6-6-6-6-% A$8 +&, A#B % 6-6-6-6}6-% A$L  A#V  6-6-6-66-` 6-6- 8<,A#j A 6-%6-% * A6}8<,*H:@, ?A#t = 6-&6-&!6*!6=8<,*H:, ?A#~ 0-+&,6-%6-%6}08<,A# ; 6-%6-% * ;8<,*H:, ?A# = 6-&6-&!6*!6=8<,*H:, ?6}A#   - 6-%6-%- )!) )!A$ !!8<,*H:, ?A#  6-6-68<,- 6}1-+&,6-%6-%*68<,-. 1$ *** DECODE GRID INPUT *** 06-@:7<,,&@e06-@:7B:,,,&@H6} 06-@:7<,,&@e06-@:7B:,,,&@H $ ++*** SHOW COMPUTER'S LAYOUT AT END *** D --6-8<6},.-@%%4":( D A% **(>:@:7+&,$%<+&,$%,,%A(,   $D3:HIGHSEAS.BAS 6 } ,s6-?:}e 107 REM by FRED N. BUSH [72327,200] 110 DIM H$(1):DIM AGE(400),M$(5) 120 POKE 709,1:POKE 710,119:? "}" 130 GRAPHICS 2+16:PO>}SITION 1,6:PRINT #6;"CASH STATEMENT OF POLICY":FOR X=1 TO 2000:NEXT X 140 GRAPHICS 0:POKE 709,1:POKE 710,119:? "}" 150 ?>} "WHAT IS POLICY NUMBER" 160 INPUT POLNUM 170 ? "STATEMENT IS FOR MONTH OF" 180 INPUT M$ 190 GOSUB 740:GOTO 230 200 ? "CHANGE>} ANY INPUT" 210 INPUT H$:IF H$="Y" THEN 230 220 IF H$="N" THEN GOSUB 810:GOSUB 490:GOTO 400 230 PRINT "WHAT IS PRIOR MONTH VA>}LUE" 240 INPUT PRIMON 250 ? "WHAT IS YEAR" 260 INPUT YR 270 PRINT "WHAT IS CURRENT INSURANCE AMOUNT" 280 INPUT CURRINS 290 DB>}=CURRINS 300 ? "WHAT IS AGE OF INSURED?" 305 ? "ADD 100 IF M/S" 306 ? "ADD 200 IF F/NS" 307 ? "ADD 300 IF F/S" 310 INPUT AGE:>}PREM=AGE(AGE) 320 ? "WHAT IS RATING?":? "IN DECIMAL FORM" 330 INPUT RATING 340 GOSUB 870 350 ? "WHAT IS CURRENT INTEREST RATE>} IN %" 360 INPUT I 370 PRINT "WHAT IS AMOUNT PAID DURING PRIOR MONTH" 380 INPUT AMTPD 390 GOSUB 490 400 PRINT "ANOTHER MONTH?>}" 410 INPUT H$ 420 IF H$="N" THEN 480 430 IF H$="Y" THEN 440 440 ? "WHAT IS NEXT MONTH" 450 INPUT M$ 460 GOTO 200 470 IF H$<>>}"N" THEN 400 480 END 490 NET=0.925*AMTPD 500 IF YR=1 THEN 900 510 MINT=(((PRIMON+NET-1000)*I/1200)+3.2737)-COST*I/1200:GOSUB>} 920 520 Y=MINT 530 Z=INT(MINT*100) 540 Y=Z/100 550 MINT=Y 560 IF PRIMON<1000 THEN GOSUB 880 570 COST=(((CURRINS/1.0032737-PR>}IMON)/1000)*COI) 580 Y=COST 590 Z=INT(Y*100) 600 Y=Z/100 610 COST=Y 620 ADMIN=0.075*AMTPD 630 CV=PRIMON+NET+MINT-COST 640 REM>} ROUNDOFF CV VALUE DEC. PT. 650 Y=CV 660 Z=INT(Y*100) 670 Y=Z/100 680 PRINT Y 690 PRINT CV 700 PRINT " ";M$;," ";AMTPD;," ";N>}ET;," ";MINT;," ";COST;," ";Y 710 LPRINT " ";M$;," ";AMTPD;," ";NET;," ";MINT;," ";COST;," ";Y 720 LPRINT 730 RETURN 740 LP> }RINT CHR$(27);CHR$(66);CHR$(2) 750 LPRINT " CASH STATEMENT OF POLICY# ";POLNUM 760 LPRINT :LPRINT :LPRINT :LPRINT 7>!}70 LPRINT "MO/YR","AMT PD","NET AMT","MONTHLY INT","INSUR COST","CASH VALUE" 780 LPRINT "     >"} " 790 GOSUB 820 800 RETURN 810 PRIMON=CV:RETURN 820 RESTORE 970 830 FOR I=0 TO 399:READ A:AGE(I)=A:NEXT I 840 ? "D>#}O YOU WISH A PRINTOUT?" 850 INPUT H$:IF H$<>"N" THEN FOR I=0 TO 99:LPRINT I,AGE(I);" ";:NEXT I 860 RETURN 870 COI=RATING*PR>$}EM:RETURN 880 MINT=(PRIMON+NET-COST)*3.2737E-03 890 RETURN 900 NET=0.925*AMTPD-(35+(0.09*(CURRINS/1000))) 910 GOTO 510 920 >%}Y=NET 930 Z=INT(Y*100) 940 Y=Z/100 950 NET=Y 960 RETURN 970 DATA 0.3594,0.13215,0.11302,0.10402,0.09952,0.09615,0.0939,0.091>&}65,0.08996,0.08883 980 DATA 0.08827,0.08883,0.09221,0.09727,0.10458,0.11246,0.12033,0.12765,0.13383,0.13721 990 DATA 0.13721,>'}0.13552,0.13383,0.13327,0.13215,0.13158,0.13046,0.13102,0.13327,0.13608 1000 DATA 0.13890,0.14058,0.14227,0.14452,0.1479,0.15>(}24,0.15915,0.16702,0.17715,0.1884 1010 DATA 0.20133,0.21483,0.22946,0.24633,0.26490,0.28515,0.30765,0.33352,0.36446,0.39933 1>)}020 DATA 0.43702,0.47415,0.51352,0.55683,0.60746,0.66708,0.73458,0.80658,0.88196,0.95958 1030 DATA 1.04171,1.13115,1.23296,1.>*}34883,1.47652,1.6149,1.76227,1.91640,2.07333,2.23421 1040 DATA 2.4159,2.62852,2.86083,3.11283,3.39183,3.70065,4.03983,4.41165>+},4.81383,5.23458 1050 DATA 5.66490,6.11546,6.59977,7.13415,7.73208,8.38852,9.10571,9.87746,10.6194,11.22521 1060 DATA 11.6943>,}3,12.11058,12.66633,13.5399,14.60471,15.47546,16.17577,16.91715,17.67427,18.4449 1070 DATA 0.35940,0.13215,0.11302,0.10402,0.>-}09952,0.09615,0.0939,0.09165,0.08996,0.08883 1080 DATA 0.08827,0.08883,0.09221,0.09727,0.10458,0.11246,0.12033,0.12765,0.1338>.}3,0.13721 1090 DATA 0.13721,0.15377,0.15627,0.15836,0.16002,0.16211,0.16461,0.16752,0.17127,0.17544 1100 DATA 0.18003,0.18503>/},0.19045,0.19671,0.20462,0.21463,0.22671,0.24213,0.26088,0.28256 1110 DATA 0.30716,0.33384,0.3626,0.39386,0.42806,0.466,0.508>0}1,0.55482,0.60653,0.66366 1120 DATA 0.72664,0.79505,0.86931,0.95025,1.0383,1.13470,1.24073,1.35719,1.48455,1.62403 1130 DATA >1}1.7765,1.94238,2.12333,2.32107,2.53768,2.77608,3.03928,3.32978,3.64685,3.98676 1140 DATA 4.345,4.71692,5.09967,5.4976,5.92258>2},6.38757,6.90619,7.49028,8.143,8.857 1150 DATA 9.62445,10.43681,11.28617,12.12113,13.0963,14.06747,15.09034,16.17587,17.34343>3},18.62108 1160 DATA 20.0458,21.66244,23.5259,25.69963,28.33894,30.88008,32.28071,33.76346,35.27771,36.81896 1170 DATA 0.31046>4},0.12540,0.10683,0.10008,0.09615,0.09333,0.09052,0.08827,0.08658,0.08546 1180 DATA 0.08546,0.08602,0.08658,0.08827,0.09052,0.>5}09108,0.09502,0.10008,0.10627,0.11246 1190 DATA 0.11921,0.1254,0.12933,0.13158,0.13215,0.13158,0.13102,0.1299,0.12877,0.12821>6} 1200 DATA 0.1299,0.13271,0.13552,0.13721,0.13721,0.13777,0.14002,0.1434,0.1479,0.15408 1210 DATA 0.1614,0.1704,0.18108,0.194>7}02,0.20808,0.22383,0.24127,0.26040,0.28065,0.30202 1220 DATA 0.32621,0.35433,0.3864,0.42127,0.4584,0.49777,0.54108,0.58946,0.>8}64402,0.70533 1230 DATA 0.77227,0.84483,0.9219,1.00346,1.09121,1.18740,1.29371,1.41071,1.53840,1.67565 1240 DATA 1.8219,1.972>9}65,2.12902,2.30846,2.51771,2.74946,3.00427,3.28215,3.58083,3.90371 1250 DATA 4.25246,4.62765,5.03377,5.47421,5.96021,6.48727,>:}7.05202,7.65671,8.28502,8.9499 1260 DATA 9.6474,10.27908,10.79096,11.26571,11.77027,12.38227,13.12421,13.83858,14.52258,15.22>;}796 1270 DATA 0.31046,0.1254,0.10683,0.10008,0.09615,0.09333,0.09052,0.08827,0.08658,0.08546 1280 DATA 0.08546,0.08602,0.0865><}8,0.08827,0.09052,0.09108,0.09502,0.10008,0.10627,0.11246 1290 DATA 0.11921,0.14294,0.1471,0.15086,0.15377,0.15627,0.15836,0.>=}16002,0.16211,0.16461 1300 DATA 0.16752,0.17127,0.17544,0.18003,0.18503,0.19045,0.19671,0.20462,0.21463,0.22671 1310 DATA 0.2>>}4213,0.26088,0.28256,0.30716,0.33384,0.36260,0.39386,0.42806,0.466,0.5081 1320 DATA 0.55482,0.60653,0.66366,0.72664,0.79505,0>?}.86931,0.95025,1.0383,1.1347,1.24073 1330 DATA 1.35719,1.48455,1.62403,1.7765,1.94238,2.12333,2.32107,2.53768,2.77608,3.03928>@} 1340 DATA 3.32978,3.64685,3.98676,4.345,4.71692,5.09967,5.4976,5.92258,6.38757,6.90619 1350 DATA 7.49028,8.143,8.857,9.62445>A},10.43681,11.28617,12.17113,13.0963,14.06747,15.09034 1360 DATA 16.17587,17.34343,18.62108,20.0458,21.66244,23.5259,25.69963,>B}27.60633,28.97433,30.38508 me AUTORUN.SYS. Compressedpictures (ie, KoalaPad, Micro Illustr.)must use a ".PIC" fn extender. <BYTE clrcnt=[0] BYTE ARRAY clrtbl(6)=[ 28 54 50 83 148 212 ]PROC CLRDLI()BYTE clr2=53272, clr0=53270, BD} wsync=54282 [72 138 72 152 72]wsync=1clrcnt==+1if clrcnt>5 then clrcnt=0ficlr0=clrtbl(clrcnt)[104 168 104 170BE} 104 64]RETURNPROC DLIIN()BYTE n CARD dlist, y y=clrdlidlist=peekc(560)for n=6 to 41 do pokeBF}(dlist+n,138) odpokec(512,y) poke(54286,192)RETURNPROC MAIN() BYTE A,S,Y,D,F, N1,N2,N3,N4, B1,B2BG},B3,B4,B5,B6,B7,B8,B9, C1,C2,C3,C4 CARD SCA,SC1A,J,X,I BYTE ARRAY SC1(800), A1(256), A2(256), BH} A3(256), A4(256) FOR A=0 TO 254 DO A1(A)=0 A2(A)=0 A3(A)=0 A4(A)=0 S=A & 64 BI} S== RSH 6 A1(A)==+S A2(A)==+S S=A & 16 S==RSH 4 A1(A)==+S A2(A)==+S A3(A)==+S S=A & 4BJ} S==RSH 2 A2(A)==+S A3(A)==+S A4(A)==+S S=A & 1 A3(A)==+S A4(A)==+S OD A1(255)=2 A2(25BK}5)=3 A3(255)=3 A4(255)=2 DO Graphics(5) SETCOLOR (2,9,2) SETCOLOR (1,0,12) for i=0 to 50 do printe("}LBL}IFE version 2a by Mark K. Akita") printe("This program was written in ACTION!") printe("ACTION!Trademark Action Computer BM}Services") printe("Portions of this program (c) 1984 A.C.S.") od POKE(752,1) SCA=peekc(88) SC1A=SC1 X=19 Y=BN}9 Setblock(SC1A,800,0) DO A=Peek(53279) Color=2 Plot(x-1,y) PLOT(x+1,y) Plot(x,y-1) PLOT(BO}x,y+1) S=stick(0) If s=14 then y==-1 Fi If s=13 then y==+1 Fi If s=7 then x==+1 FBP}i If s=11 then x==-1 Fi If s=10 then x==-1 y==-1 Fi If s=6 then x==+1BQ} y==-1 Fi If s=9 then x==-1 y==+1 Fi If s=5 then x==+1 y==+1 Fi If y>38 theBR}n y==-38 Fi If y<1 then y==+38 Fi If x>78 then x==-78 Fi If x<1 then x==+78BS} Fi If s#15 then Moveblock(SCA,SC1A,800) Fi D=LOCATE(X,Y) PRINTF("X=%B,Y=%B%E",X,Y) PRINTE(BT}"Enter a pattern using the joystick!") PRINTE("Press to activate") POKE(656,0) Color=1 Plot(x,y) COBU}LOR=D PLOT(X,Y) S=strig(0) If s=0 then Moveblock(SCA,SC1A,800) Color=1-D Plot(x,y) Moveblock(SC1ABV},SCA,800) SOUND(0,55,10,8) fi Sound(0,0,0,0) Until a#7 Od PRINTE("} ") PRINTE("Press BW} to quit") dliin() DO For I=20 TO 779 Do B1=SC1(I-21) & 1 B2=SC1(I-1) & 1 B3=SC1(I+19) & 1 B4=SC1(IBX}-20) B5=SC1(I) B6=SC1(I+20) B7=(SC1(I-19) & 64) RSH 6 B8=(SC1(I+1) & 64) RSH 6 B9=(SC1(I+21) & 64) RSH 6 BY} N1=A1(B4)+A1(B5)+A1(B6)+B1+B2+B3 N2=A2(B4)+A2(B5)+A2(B6) N3=A3(B4)+A3(B5)+A3(B6) N4=A4(B4)+A4(B5)+A4(B6)+B7+BZ}B8+B9 C1=(B5 & 64) RSH 6 C2=(B5 & 16) RSH 4 C3=(B5 & 4) RSH 2 C4=B5 & 1 Y=0 IF C1=0 THEN IF NB[}1=3 THEN Y=128 FI ELSE IF N1<3 OR N1>4 THEN Y=128 FI FI IF C2=0 THEN IFB\} N2=3 THEN Y==+32 FI ELSE IF N2<3 OR N2>4 THEN Y==+32 FI FI IF C3=0 THENB]} IF N3=3 THEN Y==+8 FI ELSE IF N3<3 OR N3>4 THEN Y==+8 FI FI IF C4=0 THENB^} IF N4=3 THEN Y==+2 FI ELSE IF N4<3 OR N4>4 THEN Y==+2 FI FI SC1(I)== % B_}Y OD MOVEBLOCK(SCA,SC1A,840) FOR I=21 TO 779 DO A=SC1(I)& 170 A== RSH 1 SC1(I)== & 85 SC1(I)== ! B`}A OD MOVEBLOCK(SCA,SC1A,840) F=PEEK(53279) UNTIL F#7 ODodRETURN xxxxxxxx@WF g o uL3> BHI V䅠L3> L> Ԇ ؠPIPP`Fg} ?P o /?L> ?L4? H?L?H- >8塪墨hLH? a?L> h?L? ?ȹP`Fh}텠8堨塪 ?芨Oȩ-`PP >P棩 Ѥģ0-ģ6000:,80H Fi}& &ehe&eģ0ʥ 8堅塅`$ >&*i0:0i >Ʀ`¢ 护Fj}°ڱ%ȱ%E >L@担CS >L@I a?L@H \@L@ /?L@ &B V 3>NLMȑFk}` MLN%B VL3>S:DAE:IAH > LAMA W> >h)0IGAHALW>[\ZUVT` AGAHAFl}` AL? |AL> AL>) ` AL? h=` 0d <ҥ `2)2Fm}ҩ`p`0)9CB`@0)ӈJJJJ)`Ѕ`ȱ`` wBȥ`HhFn}ƣĢ`ƥĤ`Ѣ C`ȱѢĦ`膡`Fo}`ťƤe8夰LC Ƥ8`ŦeѠe桊LC62SFp}LCHHH CC͌CLCC$͍CLCCCCChhh@`CLCCCCC0 gBCCC)CL*DCmFq}CCi wBCLDCC Bԩ wB`< cDEPress to activateEFt}l l w<<< æ<<<< æ /<<LF< <<< 8<<<< æ< Fu}<<<  7  <}><}><aF}}DbDLIbDaDaDbDLJL3J#This program was written in ACTION!J >LgJ)ACTION!Trademark Action Computer ServicesJF~}= >LJ(Portions of this program (c) 1984 A.C.S.Jq >aDbDLI wBX gBZDYDdD\DcD[D`D_D EDF} \D[D BЩ gBCD8_D`DED A_Di`DiED A8ED`D_D AEDi`D_D A GBF}DDDDILzK8EDEDDDI LKEDDDILK_D`DDDI LK8_D_D`D`DDDI LK8_D_D`D`D8EDEDDDILF}K_D`D8EDEDDDI LL8_D_D`D`DEDDDIL&L_D`DED&EDL9L8ED&EDEDLLLEDi&EDN_D`DLlL8F}_DN_D`D`D_D`DLL_DiN_D`Di`DDDILL\D [DZDYD BED`D_D AFDLLX=%B,Y=%B%E`DF}ED_DL @LM#Enter a pattern using the joystick!L >L3MPress to activateM > wBED`D_D AFDF}ED`D_D A `BDDDDLM\D [DZDYD B8FDED`D_D AZD YD\D[D B 7 AF} ACDILJLM} M >LNPress to quitN > CbDaD aDbDLeQ8aDbDcDedDF}e)LD8aDbDcDedDe)MDaDibDicDedDe)ND8aDbDcDedDeODcF}DmaDdDmbDPDaDibDicDedDeQD8aDbDcDedDe)@JJJJJJRDaDibDicDeF}dDe)@JJJJJJSDaDibDicDedDe)@JJJJJJTDODgDPD}gDQD}gDmLDmMDmNDHDODF}gEPD}gEQD}gEIDODgFPD}gFQD}gFJDODgGPD}gGQD}gGmRDmSDmTDKDPD)@JJJJJJUDPD)F}JJJJVDPD)JJWDPD)XDEDUDLPHDILPEDLPHD HDLPEDVDLPIDILPEDi EDLPID IDF}LPEDi EDWDLPJDILPEDiEDLQJD JDLQEDiEDXDL&QKDIL#QEDiEDL@QKD KDL@QEDiEF}DcDmaDdDmbD EDaDbDL(N\DH[DZDYD BbDaD aDbDLQcDmaDdDmbD)CDNCDcDmaDF}dDmbD)UcDmaDdDmbDMCDaDРbDLQ\DH[DZDYD BЩ gBGDGDILNLI``gHhhhhhhhhhhhhhhhhhF}hhhhhhhD