@L}5 _$% l0$)$$Hȱ$ UhL" `e$$%`$%`  R@W!( L(1   Y I`  d  Ld M * @  $ % CC$$)%1 Udߥ$9%: !0 S$% DD˙`  }J)Lr  )!)HHMLFIRFISTARTLEGHFINIIRADFDERIXRNRALOSTARFINDIFIRDINUVWXYZRDIFD}RKEABYTHHHHHINITADDEINITADINITHINITLRNADDRNADRNHRNLKENCOCIS717774366q}     ;66} !"#}$%&'()*+,-./0123 }456789:;<=>?@AB }CDd## RELOCATE.BAS by Ken Cox i## 16 September 1990 n >:A%,s&&;@,;@T },;@T,x;@,;@,;@,;@,;@,;@,;@,;@,;@,;@ },;@,;@,;@,;@,}@@6.6hإXiYi Ȱ(i'`@@6.6h }XiYiȰ(i'` 6. AUS@6.for next operation..} A`6.FOR NEXT OPERATION...@.@@K: AEA @'A}A9AK@]AR@oAYA@dAU@B}-B (B-@B (}B-@B (B-@B (}B-@B (B-@B (}Y-@@#Y >:@',>:AY,Π &-@@}&  Ů<-@@< "Enter the complete filename of the'-@@'  source file> }AY@4"-@@"@4A0;;7@<@,4:)7@<@,4:AU} APT-@@" 4-@@J  T A $$7@<@,4D}Ae AP +@+@@ 6-B:,3-@/67<,.>:@:7<,,%A(,3} )@)@")@')@,)@1)@6!!AU)AU}A%;/6-%+$AV,'6-%+$AV,/6-&@ -E)@J O AET APY#6.No} Run/Init # A^)@c)@h)@m)@r)@w)@| }A@/"A$*"A%/6. Run Address /"A&*"A'/6. Init Address 6-%}+$AV, 6-&6-?:C:,,C-@@C Source filename> >:@4,>:@4, 6.=:, A`} 6-6./-@@/  Starts at  $ 6.=:, A` 6-6. 6.=:, A`}/-@@ /  Ends at  $ 6.=:, A`!!4No Run/Init AP 6-6.$-@}@$  $ A)@)@)@)@)@) }@ A  6.@ AP6. Run Address  6-%+$AV, 6-& 6.=:, !}A` 6-6.!$-@@$  $&:-@@:  ˬ+B-"}@B (0<-@@< "Enter the complete filename of the5B-@#}@, destination file> >-@"@B :"-@"@"@? 46.D;;7@<@$},4:)7@<@,4:AI ANT-@@" 4-@"@J  %} T AeS$$7@<@,4DAX A] 6. A`b-@"@ g;-@@&}; !ؠl,-@@,  qD-@@%  Start: 7-'}@@D@v/46.1536+-@@/ { 6-6. A` 6-6."-@(}@"  $ 6-% 6.=:, 6-6. A` 6-6.+-@ @+  End:  )} $!!4No Run/Init A% 6-% 6.=:, A` 6-6.$-@$  $ *} 6-% 6.=:, A` 6-6.4A%$-@ $  $!-@@!! O+}K? /N8)@8"@)"A!)"AUAE"@x)"A% A06-?:C:,,:-,}@@:  ;-@@; !%-@-}@%  箮&6-P:'AV,&6-&+$AV,&6-P:'AV,&6-&+$AV,&6-P:'AV,&6-&.}+$AV, &6-P:'AV,&6-&+$AV,+@+@@+@+@@/})@ )@%)@*)@/)@4)@9*@AU0}>*@AUC*@H*@M*@R*@W-@%@\)@1}a*@f k!!4No Run/Init Ap)@u*@z)@*@2})@*@)@*@)@*@)@*@3}4A)@*@)@*@)@*@)4}@*@)@*@)@*@@@6-?:C:5},,!!4No Run/Init A5G-@@D #䮮 G'A@H6}'A @`-@@3( that's not a binary fileE-@@S( ٠٠`)@ 'A7}A&'A %!6-?:C:,,!AY@4,-@@, Error #F:A,9-@8}@) 6)@9%$ 6-B:,)$$7@<@,4$Ap.$$7@<@,40A9}u36-A:7@<@,,8"@A@=$$7@<@,40AB6-A:7@<@,,G:}"@A@L$$7@<@,40AQ6-A:7@<@,,V"@A@[$$7@<;}@,40A `6-A:7@<@,,e"@A@j$$7@<@,40A5o6-A:7@<}<@,,tE"@E6-+$B,%+$A,%+$A,%+$@,%y9"@96-+$A,%+$A,%+=}$@,%~-"@-6-+$A,%+$@,%!"@!6-+$@,%"@6- A>} 6-B:,6-&@!@A 6.7@, A6.000067@<@,.7<,?}//67@<@,.7&@<&@,//67@<@,.7&@<&@,//67@<@,.7&@@}<&@, 6.6.7@<@, AU 6-6.7@<@, AU 6-A}6.7@<@, AU 6-6.7@<@, AU 6-''6-$A@%$AV%$@B}% 6. C6-P:'A@,  @967@<@,.0C A 6- A67@<@,C}.""6-P:+&+$A@,,'AV, 6- A#67@<@,.(..6-P:+&+$A@,&+$AV,,'@D},- 6- A267@<@,.7226-P:+&+$A@,&+$AV,&+$@,,,< 6- AA67E}@<@,.F$K! 4A6-@! AP! 4B6-@! AU! 4C6-@! AZF}! 4D6-@! A_! 4E6-@! Ad! 4F6-@! Ai 6-A:,n$s!"@G}6.F! A0x!"@6.E! A0}!"@6.D! A0!"@6.C! A0!H}"@6.B! A0!"@6.A! A0 6.=:,$6-?:C:,,B-@B (I};-@@; >:@4,>:@4, saved...,-@@ , StarJ}t:  $+-@ @+  End:  $8-@@8 Do you want to add an initiate1-@K}@1 and/or run address? Y/)@/"A)"AU%6-?:C:,,/ A "@6-?:C:L},,1-@@1 if none, press ΠD-@@7 Enter the initiate address: D@ M}46- A% 6-A:,6-@&6-P:'AV,&6-&+$AV, 6.=:, A` 6-6.N}+-@ @+ Init:  $6-?:C:,,1-@@1 if none, press Π?-@@O}2 Enter the run address: ?@4Ae  6-A:, 6.=:, A` 6-6.--@ P}@%-  Run:  $6-?:C:,,"!-@@! OK? /N')@,!!"AU)"@AQ}1"@xA56 Au;4A`@&6-P:'AV,&6-&+$AV,E%-@@%  R}箮J6-?:C:,,O+@+@@ T*@A&Y*@@^*@S}A'c*@@h*@m*@r@w4A|&6-P:'AV,&6-&+$AT}V,%-@@%  箮6-?:C:,,+@+@@ *@A$U}*@@*@A%*@@*@*@@6-?:C:,,V} A D2:RELOCATE.BAS:L: D8:MEM.SAV: 8| 9 '9`L:L: D:DUP.SYS:̩ 8%-- How to Force a CR in SpartaDOS --This trick will 'stuff' a carriage return (CR). It may be used in a SpartaDOS batchX} file to force the CR when prompted by a command or an application.As an example, create the following batch file:LOADY} RETURN.OBJSCOPY D1: D2:Normally in this syntax SCOPY would prompt you to insert both diskettes and press RETURN.When Z}you execute this batch file, the CR is loaded into the keyboard buffer and executed after the next command. (This assumes[} you have SCOPY.COM and RETURN.OBJ on the the default drive. It also assumes that D1: and D2: do exist.)This simple tri\}ck may also be used with other applications which prompt you for a CR. - TOM --%'6-%/6-%;6-@ _ -%O6-@[;,;,N &&&*F:A ,"AU<@@cB(}NA h@DMLSTARMLENINPA6AAuA(Au SEQDOSBY ERIC VERHEIDENANT _}IC MAGAZINE ;@,0,2,0,6,9,6,24,96104,169,67,162,0,142,44,6( 221,26,3,240,5,232,232,2322""208,24 `}6,169,224,157,27,3,169<6,157,28,3,96,165,42,162F3,160,0,201,0,208,8,162P0,160,0,232,208,1,200,142Z126,4,1 a}40,125,4,141,44,6d""9,247,133,61,169,125,141,103n6,160,1,96,36,62,16,38x!!165,61,9,128,170,208,12,160!!64,208, b}4,160,128,133,47,132""62,166,61,232,134,61,224,125176,22,165,47,36,62,48,3189,0,4,157,0,4,160,196,49,1, c}33,0,0,4,0173,125,4,41,3,141,11,3 168,173,126,4,141,10,3,17013,11,3,240,54,142,48,6140,50,6,162,5,189, d}218,6157,0,3,202,16,247,36,6216,28,169,87,141,2,3,16561,16,8,162,255,142,125,4!!142,126,4,141,127,4,238 e},1264,208,3,238,125,4,32,83!!228,16,3,160,136,96,173,127 4,41,127,141,103,6,162,255"208,137,49,1,82,0,0,4 f},36,6,75,6,86,6,90,66117,6,117,6,76,118,6,104@162,5,189,121,6,157,0,3J202,16,247,76,83,228T6-A6 g}^6-Ah -r"  |6-?:AD, SEQDOS INIT COMPLETE'' INSERT BLANK DISK INTO DRIVE h} #1($ THEN PRESS RETURN TO FORMAT(R-(%}ǡR(  i}N(( +(?(CONTINUE(Y/N)CK0YN6-?:Au,##@@ j}C:AP@'-A6A`'*@F:, '-AdAt'*@F:,  k}@A SEQDOS FORMAT COMPLETE& D:SEQDOS.BASΠҠϠﬠ V1000 *= $0600 ; Origin1010 ;1020 ; SYMBOL EQUATES1030 ;1040 EOL = $9B ; end-of-line1050 ; 1060 ; ADDRESS Em}QUATES 1070 ; 1080 WARMST = $08 ; warm start1090 BOOTQ = $09 ; boot flag1100 ICAX1Z = $2A ; direction byte 111n}0 ICAX6Z = $2F ; put byte1120 BPTR = $3D ; buffer pter1130 FTYPE = $3E ; I/O Flag1140 DCB = $0300 ; data co}ontrol block1150 DCOMND = $0302 ; command byte1160 DAUX1 = $030A ; sector LSB1170 DAUX2 = $030p}B ; sector MSB1180 HATABS = $031A ; handler table1190 CASBUF = $0400 ; cassette buffer 1200 DSKINV = $E453 ; disk intq}erface routine1210 ; 1220 ; HEADER BYTES 1230 ; 1240 PST1241 .BYTE 0 ; boot header1250 r} .BYTE 2 ; sector count 1260 .WORD PST ; program start 1270 .WORD PINIT ; program init 1280 CLC s} ; good boot 1290 RTS ; return 1300 ; 1310 ; BASIC ENTRY 1320 ; 1330 PLA ; pull arg cnt1340 ; t}1350 ; CASSETTE HANDLER SWAP 1360 ; 1370 PINIT1371 LDA #$43 ; look for "C:1380 LDX #0 ; first handler 1u}390 STX CHKSTA+1 ; clear I/O state 1400 FINHND1401 CMP HATABS,X ; check handler1410 BEQ FNDHND ; if found 14v}20 ; 1430 INX ; otherwise, next handler1440 INX 1450 INX 1460 BNE FINHw}ND1470 ; 1480 FNDHND1481 LDA #NEWTAB&$FF ; set new table1490 STA HATABS+1,X1500 x} LDA #NEWTAB/256 ; also set MSB1510 STA HATABS+2,X1520 RTS ; return 1530 ; y}1540 ; OPEN FILE HANDLER 1550 ; 1560 OPNFIL1561 LDA ICAX1Z ; check direction1570 LDX #$03 ; if new z} direction,1580 LDY #0 ; start at sector #31590 CHKSTA1591 C{}MP #0 ; check against old1600 BNE RESET ; direction1610 ;1620 SAUX11621 LDX #0 ; old sector #1630 S|}AUX21631 LDY #01640 INX ; increment sector1650 BNE RESET1660 ;1670 INY 1680 ; 1690 RESET1691 }} STX CASBUF+$7E ; store sector number1700 STY CASBUF+$7D1710 STA CHKSTA+1 ; save direct~}ion state1720 ORA #$F7 ;=$FF for write1730 STA BPTR ; save for new } pointer1740 LDA #$7D ; starting length1750 STA BYTCNT+1 ; save length 1760 } LDY #1 ; good status 1770 RTS ; return 1780 ; 1790 ; CLOSE FILE HANDLER 1800 ; 1810 CLSFIL1811 }BIT FTYPE ; check I/O type1820 BPL DUMMY ; do nothing if read1830 ;1840 LDA BPTR } ; prepare for final1850 ORA #$80 ; sector output1860 TAX 1870 BNE INCBYT ; outp}ut last sector1880 ; 1890 ; GET/PUT BYTE HANDLER 1900 ; 1910 GETBYT1911 LDY #$40 ; inpu}t direction1920 BNE SAVDIR1930 ; 1940 PUTBYT1941 LDY #$80 ; output } direction1950 STA ICAX6Z ; save output byte1960 SAVDIR1961 STY FTYP}E ; save direction1970 LDX BPTR ; get pointer 1980 INCBYT1981 INX ; increment1990 STX BPTR ; }save pointer 2000 BYTCNT2001 CPX #$7D ; check for sector end2010 BCS ENDSEC ; perf}orm I/O 2020 ; 2030 LDA ICAX6Z ; get output byte2040 BIT FTYPE ; if output, } store2050 BMI STORE2060 ; 2070 LDA CASBUF,X ; otherwise, read2080 S}TORE2081 STA CASBUF,X ; and store2090 DUMMY2091 LDY #1 ; good status2100 RTS ; return 2110 ; 2}120 ; FORMAT DCB 2130 ; 2140 FMTBLK2141 .BYTE $31,$01 ; format block for init2150 .BYTE }$21,$002160 .WORD CASBUF2170 ; 2180 *= $0680 ; allow for flag bytes from2190 ; } init routine2200 ENDSEC2201 LDA CASBUF+$7D ; get sector2210 AND #$032220 STA DAUX2 ; save to DCB } sector2230 TAY ;save for later2240 LDA CASBUF+$7E ; also MSB2250 STA DAUX1226}0 TAX ;save for later2270 ORA DAUX2 ;check for last2280 BEQ ERROR ; if so, } end-of-file2290 ; 2300 STX SAUX1+1 ; save sector for open2310 STY SAUX2+12320 } LDX #$05 ; set up DCB2330 SETDCB2331 LDA RDSEC,X2340 STA DCB,X2350 DEX 2360 BPL SETDCB2370 ; 2380} BIT FTYPE ;check for write2390 BPL GODISK ; if not, go ahead2400 ; 2410 LDA }#$57 ; change command to write2420 STA DCOMND2430 LDA BPTR ; check for last } sector2440 BPL STBPTR2450 ;2460 LDX #$FF ; clear sector 2470 STX CASBUF+$7D2480 STX CASB}UF+$7E2490 STBPTR2491 STA CASBUF+$7F ; save byte count2500 INC CASBUF+$7E ; increment } sector link2510 BNE GODISK2520 ; 2530 INC CASBUF+$7D2540 GODISK2541 JSR DSKINV ;} perform I/O2550 BPL SETSEC2560 ; 2570 ERROR2571 LDY #$88 ; error or end-of-file2}580 RTS 2590 ; 2600 SETSEC2601 LDA CASBUF+$7F ; get byte count2610 AND #$7F2620} STA BYTCNT+1 ; save 2630 LDX #$FF ; set for first byte2640 BNE INCBYT ; return 26}50 ; 2660 ; READ SECTOR DCB 2670 ; 2680 RDSEC2681 .BYTE $31,$01 ; DCB for read sector2}690 .BYTE $52,$002700 .WORD CASBUF2710 ; 2720 ; HANDLER TABLE 2730 ; 2740 NEWTAB2741 .WORD OPNFIL-1 ;open h}andler2750 .WORD CLSFIL-1 ; close handler2760 .WORD GETBYT-1 ; get byte } handler2770 .WORD PUTBYT-1 ; put byte handler2780 .WORD DUMMY-1 ; re}st dummy 2790 .WORD DUMMY-12800 JMP DUMMY2810 ; 2820 ; FORMAT DISK 2830 ; 2840 PLA ;for BASIC call}2850 LDX #$05 ; move format block2860 MVFMT2861 LDA FMTBLK,X ; to DCB2870 STA DCB},X2880 DEX 2890 BPL MVFMT2900 ; 2910 JMP DSKINV ; format and return2920 ; 2930 } .END 0! AR(@#32059 REM SWEEP DISSOLVE(ALL MODES)v(@32060 DIM SWPDIS$(189)HH(@ ij7 TO CONTINUE)5)@,1 +A1AA6f-@@.(LOA}D OLD GAME(Y/N)?;)@F"@:Y,R6-@v\ A!Pf A@@:N,AJ9 (}-@@6(}ENTER PLAYERS' NAMES:9(TF-@@ %( PLAYER #1:)26-B:,F"A@^5 @567%@},. hV67@,.%-@@5( PLAYER #2:9B6-B:,V"A`r5 @}567%@,. |67@,.+ A A%"@ A%A})6-@&6-@&) A A")@"@'6-@$"AU$-}"@w)"A # A- A -"@)"A# A0- A -"@)"A# AP- A} -"@)"A# A- A  A 6 +A@/(@}6(}\"}@ -@B:,N67A%<A%,.>:@:7<,,&@2,R \ A0F-@B:,B67A%<A}%,.>:@:7<,,&@2,F A`'Aa@9A@KA A]AAPo}AAPA@R\ 6-C:,#AAP:'AV,DA@&P:'AV,$AVPAV\6-A}&AAdAU'B2y56-@:7<,,A6-@0"@67<,.:)"@67<,.>:,)6}-D`6-%@&F:Ad,"@467<,.>:,V6-&@@%@@$+ @A,` APNRF:Ad,"@}&67<,.>:,H6-%@@&@@$+!A ,R APX_F:Ad,"@&67<,.>:,U6-&@%+&P:'@@},$@@"@,_ APb_F:Ad,"@&67<,.>:,U6-%@&+&P:'@@,$@@",_ AP}l;F:Ad,"@&67<,.>:,8AdAU;$v>F:Ad,"" Ap&467<,.>:,> AP}FF:Ad,"@" A &<67<,.>:A0%,F APFF:Ad,"@7" Ap&<67<,.>:A2}%,F AP A`$$8<@, $@%A` @AAF6-@:7&@@,,F&+'@"P}:'@,,"@*Ap,,&P:'@@,$@@"@A F6-@:7&@,,F&+'@"P:'@,},"@*Ap!A`A@F6-@:7%@@,,F&+'@"P:'@,,"@*Ap,,&P:'}@@,$@@"A`F6-@:7%@,,F&+'@"P:'@,,"@*Ap+6-((}AdAU+$X<'@"P:'@,%+?P&+"@,$?P,*F A LX6- H<'@"P:}'@,%+?P&+"@,$?P,*H6-u-68<@,-8<@,&$@%Q68<@,-8<@},%@u68<@,-8<@,%@ ("!AdAU((*$4F)8<@, A*6}-1(CAdAUF$>''68<@,-8<@,&AH''68<@,-8<@,%@R''68<}@,-8<@,&@\6-@$fF)8<@, A*6-1(CAdAUF$p''68}<@,-8<@,&Az''68<@,-8<@,%@''68<@,-8<@,&@6-@}$UU6-8<@ ,$8<@,'8<@,&8<@ ,$8<@,'8<@,m -@6@<2}@PP-@@%eAF:B7p,i m AAPi'6-8<@ ,$?@$H:},H68<@ ,-P:8<@ ,&,i68<@,-P:8<@,&,i'6-8<@ ,$?@$H:,H68<@ },-P:8<@ ,&,i68<@,-P:8<@,&,! A?"16-P:H:,$@,%@}?"A 6- $j 6-"A1)"A2C68<@,-8<@,&@g68<@,-8<@,&@}j$d"A3)"A4=68<@,-8<@,&@a68<@,-8<@,&@d$@"@)}"@=68<@,-8<@,&@@$C +A1A@gCAR@AY}_( (3(1) FEED PEOPLECURRENT=8<@,6(_(2) PLANT SEEDCURRENT=8<@,$l(4(3) WHEAT }IN STORAGECURRENT=8<@,7(H( 4) BUY WHEATK(]( 5) SELL WHEAT`(l(6) EXIT.n( ('( GOLD PIECES=8<@},G(SURPLUS WHEAT=8<@,[( VALUE/BUSHEL=^(n( SELECT ONE:8AY@4B.)@. @I)!}@TAL??&@HA APAAA@AV$`/( FEED HOW MUCH Ap/4}A0ji!8<@,%8<@,N68<@,-8<@,&+&8<@,,_68<@,-i A0t A0} A0~0(PLANT HOW MUCH! Ap04A0i!8<@,%8<@,N68<@,-8<@,&+&8}<@,,_68<@,-i A0 A0 A00(STORE HOW MUCH! Ap04A0i!8<@},%8<@,N68<@,-8<@,&+&8<@,,_68<@,-i A0 A0 A0.( BUY HO}W MUCH Ap.4A0^$8<@,468<@,-8<@,%T68<@,-8<@,&$^ A0} A@ A0/( SELL HOW MUCH Ap/4A0\8<@,268<@,-8<@,&R6}8<@,-8<@,%$\ A0 A0 A0/ 6.-@ @  /4ApL6- }-@B:,.6-@:7<,,L @H)!@WA 67B:,%@,.>:,  06-A:,($2:(}(NOT ENOUGH WHEAT!!!3-@A7 :$<:((NOT ENOUGH MONEY!!!3-@A7 :$FC +}A1A@CAR@PaAY(('(1) HIRE*(6(2) FIRE9(R(3) PAY=8<}@,U(a(4) EXITZo( ( (#(LAND=8<@,>( SOLDIERS=8<@ ,A(D(G(J(Z( SELECT ONE:](oAY}@4dP)@ AF&@HAA0A`AP An$x/( HIRE HOW MANY Ap}/4APc!%8<@ ,!8<@,$(A(NOT ENOUGH PEOPLE HEREU-@AY c AP+!68<}@ ,-8<@ ,%+ AP/( FIRE HOW MANY Ap/4APO!68<@ ,-8<@ ,&88<@ }, O68<@ ,- AP.( PAY HOW MUCH Ap.4AP68<@,- AP}C +A1A@CAR@yAY((A(1) PERSONAL TAX=8<@},%D(j(2) COMMERCE TAX=8<@,%m(y(3) EXIT:AY@4'-@@7( SELECT ONE::(H)}@ A>&@HA0A`A H A$.( PERSONAL TAX Ap.4AQ}!@i(/(PEOPLE WOULD REVOLT!!!C-@AG Q A68<@,- A2(SET COMMERCE }TAX# Ap24A"R!@i(0(COMMERCE WON'T ALLOW ITD-@AH R A,68<@},- A6C +A1A@CAR@@A-@@(}#6.)6-}5"@;6.A6-J-@@(--%@@<( 'S HARVEST?(c8<@,!8<@,$@6}8<@,-8<@,$@Ta6-8<@,2!8<@,&8<@ ,P6-8<@,&8<@ ,a68<@},-^886-P:8<@,$++@p&8<@,,$? ,,hC#!8<@,&&8<@ ,C6-8<@,&&8<@ },r886-P:8<@,$++A &8<@,,$? ,,|G%!8<@,&&&8<@ ,G6-8<@,&&&8<@ },:6-+H:,,:6-P:$@%@,$8<@,U( EMPLOYMENT:WHEAT:-(MILL:?( COMMERCE:}B(R( HARVEST:U(B"6-P:8<@,$H:,,B68<@,-8<@,%&n*6-P:H:,$8<@,$?},H68<@,-8<@,&P6-%k( RATS ATE  BUSHELSn(zz6-8<@,'+8<@,$@,$++%@},'+8<@,$?,,$O:+A&8<@,,$?,%>M)6-P:+%%,$8<@,$$?,M6-P:+%,$}8<@,$$?%,.( PERSONAL TAX=+( COMMERCE TAX=.(g#68<@,-8<@,%%/6-g+8<}@ ,",$+8<@,",A ""8<@,!@A""8<@,!A6-8}<@ , AL.6-P:8<@ ,'+8<@,%@,,L68<@ ,-8<@ ,&:!6-8<@ ,$8<@},:8<@,A 7$6-P:8<@,'8<@,,76-8<@ ,&)!68<@ ,-8<@ ,&)6-%}k( SOLDIERS DESERTED:68<@,-8<@,&h(SOLDIERS' PAY=8<@ ,$8<@,k(&d;68<@,}-8<@,&+8<@ ,$8<@,,d6-P:8<@,$?$$H:,,088<@,$?P86-P:8<@},$?P,:J!68<@,-8<@,%J6-P:8<@,$? '$H:,,D%!8<@,%6-8<@,}N5!68<@,-8<@,&5 @AXQ96-P:H:,$+8<@,$? &8<@,,,E Q6}-b&( PEOPLE MOVED HERE& AlM36-P:+8<@,$$H:,,&8<@,,M(6 PEOPLE MOVED AWAYv}M( PEOPLE BORN(,( PEOPLE DIED/(M68<@,-8<@,%;8<@ ,!8<@,;68<@ ,-8}<@,#(PRESS #)@68<@,-168<@,-68<@,-P:8<@,$}@%+8<@,%8<@,,$? %8<@,%8<@,$?0, 6-%@+8@<@,!},$+8@<@,!,$+8@<@,!,$+8@<@,!,$+8@<@, B,$+}8@<@, B,A6-@$(%6-P:H:,$@,%@($s +A}1AABCAR@s8@<@,*8@<@,A!  +rAdAU'-@}@=(WE HAVE A WINNER:@(C(e(PRESS ANY KEY TO FIND OUT WHOr)@3-@@)AdAU}3 A"C-@@"6(PRESS ANY KEY TO CONTINUE...C)@3 -AUAT6@/6-F:Ad,}3 AdAU  t (} ( (THE WINNER IS H8@<@,!8@<@,L(j(SCORE:8@}<@,t A W+8@<@,8@<@,/(M(SCORE:8@<@,W A  (...IT'S A} TIE!*%%( PRESS ANY KEY TO CONTINUE4~-AU@;2@@? a2}~F:Ad,"AUA!> +H( AVE/XITRT)@T++"@i,%+"@,$@},%@A!0A A!@\ A!P Af6(( APE/ISK?")@6"@A"p"@'}$zy($(ENTER 3 CHARACTER CODE: 26.D:GAME.F-@@S)@m6-&A($+!A',y67,.>:}, (>:,0"@'6-"(}-@0$  A"  6.C:A A!P>@@%+"}@,$@A(0 6-C:,6-@$"@06-@P6-A6-@% A&.6-C:,:}6-AF6-@P A&k"@v)@))@76-%A D@Q@^@}k@e"@*@1*@&A > @K @X @e @@ }6-$C +A1AA(CAR@ 6."@6.( ( }-@&@)(YEAR: ,(J( TOTAL LAND8<@,f( COMMERCE8<@,(MILLS8<@, f%(P }LANTABLE LAND8<@,E(SEED PLANTED8<@,f(WHEAT STORAGE8<@, w(FOOD8<@,:( } POPULATION8<@,V( SOLDIERS8<@ ,w(SOLDIERS' PAY8<@, c$(WHEAT SURPLUS8<@,C }( GOLD PIECES8<@,c(PERSONAL TAX8<@,$ =#(COMMERCE TAX8<@,=(SCORE8<@,. }A#8 //('B X-(% M)MAP W)WHEAT S)SOLDIERS T)TAXES0(X(# (PRESS M W }S T OR )L $V %%170,170,170,170,170,170,170,170` 85,85,85,85,85,85,85,85j %%190,255,255,255,239,239,2}39,255t %%125,255,255,255,223,223,223,255~ %%186,254,186,254,186,186,186,186 %%117,253,117,253,117,117,117,117 0,}0,60,60,60,60,0,0 !!170,85,170,85,170,85,170,85 7;@@,76. h̅ΨͩϱΑ` p;A `,6}.)67A `,.867@,.p67Aa,.( kk67A,.X-/6%7)4(\}_]^, ,!.$# #/--%2#%- -),,4/%8)4 67A `,.  AF:A,&@}*+?(INITIALIZING...\AVF:A,%@h6-?:C:,,6-F:AV,$AV L #A%!-@@}%"H67$@@&@9<$@@,.L  A #A#%-%@%@q)"/3 A6-'AV %%6-F:A}`,%F:Aa,$AV yA6A'A7A9A8AKA9@hbA@F:%@,y}AAF:%@, -ABA`#@' ;-AaAdG@K ]Ae@eoAf}Ag@ $ WW, ..}( ..2 6-@$< 6-A2%%@}F $6-P:'AV,$6-&$AVP %@%@Z $6-P:'AV,$6-&$AVd %@}%@ n 6-?:C:hhhLV,<,x $ D:SERFCITY𠲠󠪪(6-F:A,+@$(6-@BSERF CITY instructions The year is 985 A.D. From a balcony just outside your royal quarters, you survey your entire king}dom in the valley below. Across the valley sits the castle of your arch rival. For years, you and the other king have share}d this valley, battling for land and food for your people. But now you tire of this status quo - you want the valley all to }yourself. Your mind searches for a means to this end. An all-out battle between armies? A fight-to-the-death between you a }nd the other king? No. Experience has taught you that only through shrewd economics can you slowly weaken your opponent and!} rule the entire valley. SERF CITY is a two-player economics simulation employing both text and graphics. Each player ru"}les one of the valley's two kingdoms, both largely subsistent on wheat crops. Your objective is to increase the size, wealth#}, and population of your kingdom until you run your opponent out of the valley. But this is no shoot-em-up arcade game. $}Only sly economic tactics can put you on the road to prosperity in this simulation. Several devices are at your disposal: Y%}ou can purchase land, establish commerce, build wheat mills, plant crops, sell wheat, raise taxes, and hire or fire your own &}army. However, you don't have control over everything! The program contains random factors simulating unforeseen disasters '}that can severely diminish your kingdom's crops or population.FACTORS OF THE REALM When the program starts, you and yo(}ur opponent must enter your names. Then, the main data display appears on the screen. The data screen displays the current )}year - beginning in the year 985 A.D. - next to your name. A turn lasts one year, but the number of years that a game can la*}st is unlimited. A game terminates when the players quit or when one player has no more population or land. The main dat+}a display also lists your initial economic resources. Both players begin the game with 12 units of land, 90 people, 500 gold,} pieces, and 500 bushels of surplus wheat. The land is occupied by 2 units of commerce and 1 mill, leaving 9 units for farmi-}ng. After you've briefly studied the data display, you begin play by pressing the key corresponding to the economic devic.}e you want to manipulate. It's time to don your royal economic thinking cap and commence your most cunning ruling strategy! /} Prompts guide you through the rest of the simulation. When you complete entering data for the current year, press [RETURN].0} Now, it's your opponent's turn. When your opponent has finished entering data, press [RETURN] again to display the year-en1}d economic report, which is based on the decisions made during your last turn. The program then shows your updated score on 2}the main data display during your next turn.POPULATION Population varies each year due to births, deaths, immigration,3} and emigration. And these factors fluctuate depending on your kingdom's overall prosperity - a healthy food supply, reasona4}ble tax rates, and a sufficient work force. To increase your population, for example, feed your people more, making sure tha5}t you have enough field and mill workers to produce the extra food you need. Feeding your people less reduces your populatio6}n. Population can also drop when the personal tax rate is too high; people may move to other kingdoms with lower taxes (but 7}never into your opponent's kingdom). If your population drops to zero, your kingdom falls and your opponent rules the entire8} valley.EMPLOYMENT The program allocates portions of your population to work in your kingdom's fields, mills, and comm9}erce. Field workers are your highest priority - without them you have no wheat to process for food. Therefore, the program :}automatically allots enough people to harvest all of the land you have planted. If you have sufficient population, the progr;}am then allocates any additional people to work in mills. Next, the program makes commerce workers out of any other people y<}ou have after fully staffing your fields and mills. Finally, the program considers any leftover population to be unemployed.=}COMMERCE The program expresses all merchant trade in terms of units of commerce, each unit costing 500 gold pieces and>} occupying one unit of land. Your compensation is the benefits of taxation. You can place only one unit of commerce on e?}ach unit of land not occupied by mills. If your population is too small for the number of commerce units you own, some shops@} must close, thus reducing the flow of taxes. To buy units of commerce, press [M] to select the MAP option from the main A}data display. A map of the valley appears, depicting your land and your opponent's land in different colors. Use the arrow B}keys to position the cursor on top of the land you already own. Press [C] for Commerce, and a graphic symbol appears in placC}e of the cursor to indicate the new addition. If you don't have the 500 gold pieces required to establish a unit of commerceD}, the symbol does not appear.MILLS Mills produce flour from the wheat you buy or harvest. A larger population requireE}s more mills. Without at least one operating mill, all your people will starve. On the other hand, running too many mills pF}ulls people out of commerce, reducing commerce-tax revenues. A fully staffed mill (14 workers) produces enough food for 1G}00 people. Understaffed mills produce less flour - or with no workers, shut down entirely. A new mill costs 1,000 gold pH}ieces. To construct a mill, press [M] from the main data display to view the Map. Move the cursor on top of your own land, I}press [M] for Mill, and a graphic symbol representing the new mill appears on your land. Build as many mills as you want (onJ}ly one per land unit), as long as you have enough open land and lots of gold.FOOD Your food supply relies on 3 factorsK}: the number of mills operating; the number of people available to work in the mills; and the amount of wheat available for cL}onsumption. Without enough food, your people will starve or move to another kingdom, reducing your tax revenues. FeedingM} your people slightly more than they need results in more births, fewer deaths, and an influx of people to your kingdom - whiN}ch increases tax revenue. However, large-scale over-feeding results in too many births, too few deaths, and too many emigranO}ts - which eventually leads to overpopulation and an unstable economy. Overpopulation leads to high unemployment, with peoplP}e depleting the food supply but not working to compensate for what they consume. To decree the amount of wheat available Q}for food, press [W] to select the Wheat option from the main data display. When the Wheat option menu appears, select Feed tR}he People, and enter the number of bushels you want to feed your kingdom. Maintaining your current population requires a supS}ply of at least 5 bushels of wheat per person.WHEAT SURPLUS Surplus wheat includes all the wheat you harvest or purchaT}se each year. As in real life, your yearly harvests vary. Serf City contains a random factor simulating yearly variances inU} harvests, such as bumper crops due to favorable conditions, or crop failures due to swarms of locusts. You can allocate V}your surplus wheat however you wish - sell it for gold, plant it as seed, process it as food, or put it in storage. You may W}even want to use wheat as a commodity, buying bushels when the price is low and selling when the price is high. But if you lX}eave your wheat in surplus too long, rats might eat large portions of it.WHEAT STORAGE Store your wheat that is not beY}ing used. To store wheat, press [W] to select the Wheat option from the main data display. When the Wheat option menu appeaZ}rs, select Wheat in Storage, and enter the total number of bushels you want to store. For example, if you want to add 20 bus[}hels of wheat to the 50 bushels you already have in storage, enter "70." To take all of your wheat out of storage, enter "0"\} for the amount of bushels in storage, and the program automatically moves all your wheat into surplus. Now you can allocate]} the wheat any way you want.SEED PLANTED The amount of wheat you plant as seed determines the size of next year's harv^}est and the number of people required to work in the fields. You can plant up to 10 bushels on each unit of plantable land -_} land not occupied by mills or commerce. Planting more than 10 bushels per plot of land wastes the excess wheat seed. Ea`}ch bushel of seed planted requires one person working in the fields. Therefore, planting too much seed pulls workers from mia}lls and commerce to work in the fields. And with no mill workers, your kingdom starves - even if you have a bumper crop! b} To plant seed, select the Plant Seed option from the Wheat option menu, and enter the desired amount.TOTAL LAND Thisc} total on the main data display represents all of the land you own. The only restrictions on the amount of land you can own d}are the dimensions of the screen and your own financial resources. The cost of land varies from 25 to 150 gold pieces - highe}er wheat prices raise the price of land. Remember that every time you add a unit of commerce or a mill, you have one lessf} unit of plantable land. Therefore, while expanding your kingdom, be sure to purchase enough land for crops to feed your peog}ple. To acquire land, move the cursor to a plot of land that is adjacent to land you already own, and press [L] for Land.q}BSRELOCATEBASBWRETURN DOCB]RETURN OBJB^SEQDOS BASB6lSEQDOS M65BzSERFCITY BfSERFCITYTXTBJSORT BXEBSORT DOCB$SPLIT COMB SPLIT DOCBTHROTTLEEXEBTHROTTLEM65B5VERIFY OFFB6VERIFY ON If you have enough gold to pay for this land, your color appears at the cursor's location.SOLDIERS You need soldiersr} to capture land from your opponent and to protect your own land from attack. To seize a unit of your opponent's land, you ms}ust expand your kingdom's boundary until it touches your rival's boundary. Then move the cursor on top of your opponent's lat}nd (adjacent to your land) and press [L]. If you have enough gold to pay for the land, and enough well-paid soldiers to defeu}at the opposing army, the land is yours. However, as in any war, you pay a price - you lose a random percentage of soldiers.v} To hire or fire soldiers, press [S] for Soldiers on the main data display, select either Hire or Fire, and enter the numw}ber you desire. Keep in mind that hiring soldiers pulls people out of your work force. Creating a large army to protect youx}r lands may not leave enough people to work in the fields, mills, or commerce. On the other hand, too few soldiers may be any} open invitation for your opponent to seize your lands.SOLDIERS' PAY You must pay every soldier an annual fee. The moz}re you pay your soldiers, the harder they fight in battle. However, paying one soldier 100 gold pieces is not as wise as pay{}ing 5 soldiers 20 gold pieces each. And even in the 10th century, soldiers have their standards - pay your soldiers too litt|}le, and they will desert your kingdom, thereby reducing your population. To set army wages, select the Pay option from th}}e Soldiers option menu, and enter the amount you want to pay each per year.GOLD PIECES Gold is essential to the financ~}ial success of your kingdom. You can use gold to purchase land, wheat, mills, and commerce. You can acquire gold through ta}xation or by selling wheat you have already harvested.COMMERCE TAX This tax is placed on your mills and the merchants }engaged in commerce. Commerce tax revenue varies, depending on the number of workers in mills and commerce and the prosperit}y of your people. The tax also affects the number of people who can work in commerce and mills. For example, if you set }the commerce tax at 10 percent, the merchants can employ 22 people per unit of commerce. At 30 percent, your merchants can a}fford only 18 employees per unit. Therefore, if you set the tax rate too high, the unemployment rate rises as some shops mus}t close. Set the rate too low, and your revenues diminish. The maximum commerce tax rate is 69 percent - commerce will not }tolerate a higher tax rate.PERSONAL TAX You can also establish, raise, and lower a personal tax to generate revenue ba}sed on population and the people's prosperity. When over-taxed, your people spend less, reducing your commerce tax revenu}e. Over-taxing may also drive people away and cause more deaths and fewer births. To set the personal tax rate, select [}T] for Tax from the main data display, press [l] to select the personal tax rate, and enter the percentage you desire. Like }the commerce tax, the maximum personal tax rate is 69 percent - any higher and the people will revolt.SAVE GAME Press }ESCAPE to save the game and resume play later.Program from Home Computer Magazine, Volume 5, Number 6, 1985.qTU-$$DEFAULBTMTOPMLABARRAYEFNNFKENDRIVCOUNTABORKENCOCIS7177743@66666}l66&&LMLfM uM @ @ @u }d6-@n @)!@ x'@@d}'B7t@dpp;@T,;@T,;@T,;@8,;@8,;AP<@v,;@v,;@,;}@,@@6.6hإXiPYiȰ'i'`@@6.6hإXiYi Ȱ(i'}`@@6.6hإXi0Yi Ȱ(i'` >:A%,.@.@@}K:A 'AA&9AAK@]@@9oAR@}AY6-@W-@#-&aS ( W ?}-@@#-) |5-@9; |? c-@ --@9@3 E-@ }K ]-@9@ c _-@, SORT.BXE (A Faire/bH(>:@',>:AY,Ka_(Mydlyn Utility)}@-@@@ & AFVS@*S@:@4,SORT.BXE>:@4, format@@-@@ @ &}JAY@4T$)@$"@PAp^/"@I)"AU%6-?:C:,,/ }Ah%"@Q6-?:C:,,% Aprt"@R!-@3@AEB7tAHbU >:A%},_+qA@dt|"@SA"@TA AS-@@* . SO}RT UP (A-Z)<-@@S 2. SORT DOWN (Z-A)D-@@) (SELECT 1 OR 2)6)@D6-&@H%}"A6-@% A`"@ A`%"@6-% A`!!)@A} AI-@@< "Sort numbers ahead of letters? /NI)@9#"@)"A!)"AU/}6-@9 A/"@x)"A%6-/ A Ar6-?:C:,,%"@*"@%6-}%"*"%6-6-?:C:,,3-@@3 . Create a new data file&9-@}@9 2. Add to an existing data file0)-@@) (SELECT 1 OR 2):6)@6-&@H*"A}66-@D!! @)!@ApN"@6-X A b,-@@, 38 CHARACTER L}IMITlAv/-@ @/ Enter an item to sort4-@@4 Enter when finished}@@8b3-@ |--@9@3 |-AP"-@@"@} 4 ' A 6-B:,-@67<,.7<,G)@:7<,,!@*@:7<,, A#G67<,.>:@:7}<,,&@2,K-@:7<,,!@G*@:7<,, @XK67<,.>:@:7<,,%A(, O @8O67%@}<@8,.& O @8O67%@<@8,.& } 167@<@8,.167@9<@v,.  67Y,.L6-?:C:,,!-@@L & }   *-6-?:C:,,6-?:C:,,-@@94-@AP>!-@@! }H7Y,4A`R!-@@! \ f&\U@9@v& Ap'(]U@9@v}' Az-@AP!-@@!  6.7Y,4A `16.7@<@8},16.7@9<@v, @!-@@!  @%!6-?:C:,,!A}@dQa-@@Q Which drive for the data file? >:%@H%A(,0)@6-&@H*"A}06-/6. D :SORT.DTA/67@<@,.=:,(A@+@+@@6-?}:C:,,?-@@)  creating 56-@? A$+(-@@+  Adding to .@}@8 @@B-@APL APV@`)-@@) RE-}SORTING FILEj6.7@<@8,t 6-B:,-@~67<,.7<,G)@:7<,,!@*@:7<,, A#}G67<,.>:@:7<,,&@2,K-@:7<,,!@G*@:7<,, @XK67<,.>:@:7<,,%A(, O @8}O67%@<@8,.& O @8O67%@<@8,.& } 167@<@8,.167@9<@v,. 67Y,.)-@@)  } '5@+@@5 A6-?:C:,,b;-@@; }忠 0)@6-&@H*"A06-/6. D :SORT.DTA/67@<@,.=:,j6-?:C:,,}!-@ @= 1O-@ @j ()-@@) }򠲩2<)@&"@I)"AU26-@< A`<7"@P6---7 A`F} A0P+@+@@Z2@2@@P:d APn"}(}x@V(6-%@""@".6-B O)@V a% }@7@<@8,36-%@?"@UK6-a @>:@,( 7@<@8, A}M( (' 䠭2@=@J)@M%g6-?:C:,,%-@@A(}䠭L@W@d)@g% A<-@@< "(Enter the numbers at the p}rompts)d-@@3 Move the data from drive @)@N6-&@H`-@'@d T-@)@}#  to drive 0)@>6-&@HP-@8@T 6. D :SORT.DTA6.767@<@,.=:,76}7@<@,.=:,O6-?:C:,,!-@@L moving SORT.DTA from drive  to ObS@@}6@@S@@ A@" @, A`6c}@@%6-?:C:,,7-@ @S(䡠`)@c%@6-?:C:,,bJ;-@}@; 忠T0)@6-&@H*"A06-^/6. D :SORT.DTA/67@}<@,.=:,h67@<@,.=:,r>6-?:C:,,!-@@> 砭+@+@}@+@+@@ A`@4(-@@4 7@}<@8,;(-@@; ̫Ġ<(-@@< ̫}@(-@@3 RETURN@)@"AUAPn"@6-@}'6-?:C:,,36-?:C:,,E-@@R dA@Hn AP"@A& @}6-& A_@@%6-?:C:,,16-?:C:,,C-@ @_(䡠%A}A")@%%$6-?:C:,,a$A@H _-@@+ ERROR F:A,=-@@}O  press any key\)@_%l!6-?:C:,,!A@dv=-@@= #Enter the complete filename for }thex*-@@* file to convert."-@@"@J7@<@,0D*7@<@},0:)7@<@,0:V6-?:C:,,h-@@u( A 67@<@,.DU7@<}@,4:567@<@,.:U67@<@,.SORT.DTA}7@<@,4:D67@<@,.7@}<@,]67@<@,.:}67@<@,.SORT.DTA Ab+@+@@}+@+@@B6-?:C:,,6-?:C:,,--@@0aB  Converting b}-@AP 6. A @X 6-B:, @8X67%@<@8,.& } 167@<@8,.167@9<@v,. @ I6-?:C:,,6-?:C:,,--@}@I 䮠)@@&)@)% D4:SORT.BXEaj,6-@ ,7%<` SORT.BXE DOCUMENTATIONAlphabetical/numerical sort of 1 to 250 items consisting of 1 to 38 characterseach.!}Before you "RUN" the program, list line 100 and set the default drive to thedrive most used (not required, but an added conv!}enience)When the program is running, the break key is disabled. This is to preventdestroying a file by inadverently hittin!}g the break key.The program works by creating a data file "SORT.DTA" either from the keyboardor another data file. The dat!}a will be sorted without regard to upper or lowercase and with the numbers before or after the letters.How it works: Each !}item is put into a string as it is entered. It is thencopied into another string with all letters converted to upper case. I!}f youchoose to sort up with numbers after letters or to sort down with numbersbefore letters each number is converted to it!}s inverse equivalent as it iscopied. This second string is added to the first string. The actual sorting isdone using the c!}opied string and the printing is done using the originalstring. The first display is the main menu consisting of 6 selec!}tions. 1. Sort a list. - Gives you the choice of sorting up or down, printing numbersbefore or after letters, creating a n!}ew data file or adding to an existing datafile. (If you only want to re-sort an existing file, use the add feature andthen !}press return when prompted for an entry) 2. Print a list. - Print an existing data file to the screen or to a printer.The !}screen display is in groups of 22 lines and the printer list is 55 lines tothe page. 3. Move the data file. - Move the dat!}a file from any drive to any other drive.This allows you to work from a ramdisc and then transfer the data file to apermane!}nt disc when completed. 4. Quit. - The only way to exit the program except for the reset key. Thiswill enable the break ke!}y and clear the screen. 5. Delete from a file. - Will present each item in the file and allow you todelete it with CTRL+D.!} After you have gone through the file as far as you want,you can press CTRL+A to abort the process and return to the main me!}nu. 6. Convert a file to SORT.BXE format. - Allows you to sort an existing file bychanging the format to one compatable wi!}th this program. The file can then besorted with option 1 from the main menu. The file to be converted is limited to250 ite!}ms of up to 38 characters each.2AOAYA`'Aa3AVEAY@FO A "Q!c (c)1983 Action Computer Services  B JKIHiDiELV`LQ%} Q BLV`LFRBRl LCR &` Fj`8冨凪` |REӅӥ%} |R`ʆǪƩ Ɛee` RƦʆǢ &Ɛeǐ R RLxR R'&&&8儨児%}祂*LxR&&*ń8&&LxR S`hihiHHȱȱLPRc !#3`%}LCRJJJJ`H PRh`Hȩh RLS (RLS QLS QLS QH8%}`HhHh TLS BHI V䅠LS LCT QLSԆ ؠPIPP`%} xTP QLS TL`T xTLT TLnTH- iT8塪墨hLT TL`T TLnT xTȹP`%}텠8堨塪 xT芨Oȩ-`PP ;TP棩 Ѥģ0-ģ6000:,80H %}& &ehe&eģ0ʥ 8堅塅`$ bT&*i0:0i bTƦ`¢ 护%}°ڱ%ȱ%E bTL V担CS SL VI TL VH UL V TL V &B V SNLMȑ%}` MLN%B VLSHhƣĢ`ƥĤ`%}Ѣ 'W`ȱѢĦ`膡``ťƤe8夰L=W Ƥ8%}`ŦeѠe桊LAWS:WE:WH S WW S Sh)0IWWLS[\ZUVT` WW%}W` WLrT WLAT WLeT) ` WLrTLYX i?PX iQX iRX iSX i!TX %}iUX`LXRXXSXX RX`LXXXaLXzͤXLX``LXXX XLX8X XX`LX ^SX%}XXXXmXXiIL+YLoYXiXeXiXmXXiXXXiL Y`LsYl %}LY|Y{Y{YLY{Y @eyYizYyYzYILY{Y|YLY{YLY|Y`LY ^SY }YYYIL%}\YY Y@mYYiYYiYiYiYiYiYiȑYiYiYYȑ%}Yi YiLZrdZYY VLZYi YiL\LZwrZYY VLZYi YiL%}\LZdfZYY VL)[Yi YiL\L/[ds[,YY VLr[Yi YiYi Yi%}L\Lx[ap[uYY VL[Yi Yi L\L[up[YY VL[Yi Yi L\L[dr[%}YY VL\Yi YiL\L\du\YY VLJ\Yi YiL\LP\sr\MYY VL\%}Yi Yi$L\YYIL\Y VYiYiIL\YiYiYL\YYY`L\\\L&}\\ S\L\`L\ \l L ] ^S]])]] @e]i]]i]i]]i]i]ȑ]&}]i]i]ȑ]] V]i]i`L] ^S]]]]]] ]]]]&}]`L] ^S]]]]] ] ]`L^L9^"Usage: SPLIT Infile Outfile [size]^ S`"c2 U^Q^&}@Q^@&}Q^L^ \ VX XIL^ ^ \^[UXTX XL_rd_^[ YD^pD^L]_LM_Unable to open input file - _0 SD^&} T \ XILo_ ^ \^UXTX X XIL_L^K^N^M^L`TXiUXi^ۦ X^ TUP^O^O^ P^L&}_L^K^N^M^L`2P^O^ SK^L^2P^O^ VSM^N^H^ȌG^^9`9`G^H^LU`G^^I.LJ`LU`G^H&}^L)`^G^H^L`^i.^^i ^^i ^^i ^^iF^^i^L`G^F^G^iH^i &}^G^iH^i ^G^iH^i ^C^Z^Y^C^ TH^ȌG^Y^Z^6a6aG^H^LlaF^mG^mH^Y^& }mG^Z^mH^^G^H^L&aLrawrao^ YE^pE^LaLaa SLaUnable to open output file - a SE^ T & }\Laa S^ SLa a SK^ L^LbH^ȌG^K^bL^bbG^bH^LbL bb S2R^Q^D^ ]J^I^& }I^I J^I2L[bB^J^I^R^Q^E^ ]B^ILbE^ SLbG^H^LbB^ILbLcM^ N^LcLbb SN^M^R^Q& }^D^ ]J^I^I^MM^ J^MN^LbB^J^I^R^Q^E^ ]B^ILcE^ SLcE^ SL` \``^,<&@3<AQ,Z$fSPLIT (c) 1987, Avi Schwartz-------------------------------------This Program Was Written Using ACTION!ACTION! is Tradema*}rk of Action ComputerServices. Portions of this program are(c) 1984, A.C.S.SPLIT is to be used with SpartaDosDisk Oper*}ating System (by ICD) for theATARI 8 Bit computers. If people willask it, I will make the programworkable with DOSXL too.*}The proram will split a file to two ormore smaller files.Usage: SPLIT infile outfile [size]The program will take infi*}le and splitit to smaller files that will be namedoutfile.n (n is a number running from1 to the number of files created.).*}Each outfile will be no more than sizebytes long.By default the size is equal to 12800bytes (about the maximum file size*} thatPaperClip can handle on a 130XE computer)For example: SPLIT D2:FILE.TXT D7:FIf FILE is 120000 bytes long SPLIT *}willcreate on D7: the following files: file size(bytes) ---- ----------- F.1 *} 12800 . . . F.9 12800 F.10 4800 SPLIT CIS.TXT *}XYZ.YYY 525If CIS.TXT is 1300 has bytes SPLIT willcreate in the current directory thefollowing file. file *} size(bytes) ----- ----------- XYZ.1 525 XYZ.2 525 XY*}Z.3 250as you can see SPLIT ignores theextension in outfile.Please feel free to send me any commentor sugg*}estion. Avi Compuserve-71350,2006 Genie -A.Schwartz@F 6-%K!@! @(U@@$%$% B@HIBD@E V`}堛 By Matthew Ratcliff .} Press Joystick trigger to pause(send ^S) scrolling text from modem.Press trigger again to continue(send a ^Q).=.}H  .h(lLɾ``@ PRESENTING -@@ THE$,C0100 ; TRIGGER THROTTLE, SOURCE CODE0110 ; BY MATTHEW RATCLIFF0120 ; (c)1987, ANTIC PUBLISHING0130 JIFFY = $140140 CTL_S 2}= 190 ; INTERNAL CODE0150 CTL_Q = 175 ; INTERNAL CODE0160 VVBLKD = $02240170 CH = $02FC0180 ; Operating system2} equates:0190 CIO = $E4560200 ICCOM = $03420210 ICBAL = $03440220 ICBAH = $03450230 ICBLL = $03480240 ICBLH = $034902 }250 ICAX1 = $034A0260 ICAX2 = $034B0270 TRIG0 = $D010 ;Joystick trig 00280 PUTBIN = $0B0290 ;0300 *= $40000310 I2!}NIT0320 LDA VVBLKD ; Install0330 STA VEXIT ; VBI0340 LDA VVBLKD+1 ; routine0350 STA VEXIT+10360 L2"}DA # START0380 LDX JIFFY0390 HOLD0400 CPX JIFFY ; Sync so0410 BEQ HOLD ; VBI won'2#}t0420 ;0430 STA VVBLKD ; crash the0440 STY VVBLKD+1 ; installation0450 LDA #CTL_S ; procedure.0460 STA2$} THROTTLE0470 LDX #00480 STX BUSYCTL ;Enable throt.0490 LDA #PUTBIN ; Print title0500 STA ICCOM ; scree2%}n.0510 LDA LEN0520 STA ICBLL0530 STX ICBLH0540 LDA # TITLE05702&} STA ICBAH0580 JSR CIO0590 RTS ; Back to DOS0600 ;0610 TITLE0620 .BYTE "}2'}",1550630 .BYTE " By Matthew Ratcliff ",155,1550640 .BYTE "Press Joystick trigger to pause",1550650 .2(}BYTE "(send ^S) scrolling text from modem.",1550660 .BYTE "Press trigger again to continue",1550670 .BYTE "(send a 2)}^Q).",155,1550680 LEN0690 .BYTE *-TITLE0700 ;0710 ; Trigger Throttle installed.0720 ; Actual program is below.0730 2*};0740 *= $01000750 ; Place this code in the lower0760 ; 62 bytes of the 256-byte0770 ; system stack at $0100-$01FF.2+}0780 ; (Should be safe!)0790 ;0800 VEXIT0810 .WORD 0 ;VBI exit vector0820 THROTTLE0830 .BYTE 0 ; Space o2,}r BS0840 BUSYCTL0850 .BYTE 0 ; Control flag0860 START0870 PHP ; VBI starts0880 PHA ; Sav2-}e all stats0890 LDA BUSYCTL ; and regs.0900 BNE TIMIT ;ON0910 ;0920 TESTON0930 LDA TRIG0 ; Busy on0940 2.}; request?0950 BNE EXIT ; No. No change.0960 ;0970 INC BUSYCTL ;OFF, Turn it ON0980 LDA TH2/}ROTTLE ; Send next0990 ; throttle state.1000 STA CH1010 JSR TOGGLE ;Change throttle1020 ; 20} state.1030 EXIT1040 PLA ; Restore stats1050 PLP ; and reg & exit1060 JMP (VEXIT)10721}0 ;1080 TIMIT1090 LDA TRIG0 ; Trig released?1100 BEQ EXIT ; No, time-out1110 ;1120 LDA #0 ; Yes, r22}e-enable1130 STA BUSYCTL1140 JMP EXIT1150 ;1160 TOGGLE ; If ^s, then1170 CMP #CTL_S ; next is ^q11823}0 BNE TOGQ1190 ;1200 LDA #CTL_Q1210 STA THROTTLE1220 RTS 1230 ;1240 TOGQ1250 LDA #CTL_S1260 S24}TA THROTTLE1270 RTS 1280 ;1290 *= $02E0 ; init addr.1300 .WORD INIT ; for LOAD1310 .END @&0rPy` Ab 2k$lv +@" -"(YOU CAN EVEN HAVE+4Wy`UP TO 4 VOICES(-@((AT THE SAME TIME!-A 2AP@8-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