,ML  X c0C)HCCH Mhhݩh `eCDiCD`  RyHP   * 1H0芢@) Y0.Ș`i #(PM\ \b Pgi 0  % @ / ՠ`d   0DDԝLzN@  )?HI Y0`HIJH) * J j * hJJJ )HJ h i      YS S0 i`큅쀄H J3xj2h 1 |9 ӭ45(420 *(0241өX.`  R *i)Lvw  ~*PE 5 LN(G E  r s k rsrL ( E LO(0d( L iE0O +)$IC  H S8 q p h   j 8no CDLQ CFl M  LO Ri)Llk2'")*F$F$F$F$F$ 5 )ШF/Șl]kpqС,LQ/A! Ti)Zlk@ ܬ/i)(")")k$F$F$F 5$/L /lF@jj(LNkle$$%8(k()` R 8 ELO Ri)^>jf | NrC s  ) vw5g   enfo Glvw LQ@iLm>j FL ~Jjjjii p qEhjlrs`LQ:$ȱ$@+[_#{ 8  Խut! ai 8   E I   ] C H h    ˰ 8  N   Lm E  ,  [ `LQ ,/ 8 ~/  Ơ? ѩ/  [ / Lj0?MoLn FjMqLp NklLOLQnLoMlNLO R"(+ըHH`Q R!!  % !   / .   FȑF! /GF \H"+0+* ! F t LQnm: J~nTF1F  *n+)5! n (, n)1JJJn(n*o I ,0  ci a oF? @ , 8,0 ʩ0H Eh   i  D ]D mmFLQvtu`*&!*@h ] 0 ^0` c 0l$$%()()%*&J%H,@hH hH@,h $% 8i8$(%)0hhH ]h`() c 0H c 0 h`hhh&JJ ]( ll  LQ0  /qnoHH 9 9 H H  I9  9  Nd EH  Q8 o n  FnoL HII/ Ih8`h`Lnon`no`u F E VEhLO/luF l0BF/lɜɛ׽hE N  b VFL FREE SECTORS C H) *Fh ):FȽ F FC IH' 0 d  i:Fȩ/F.l`CD/08HDICIHȰ/F`ȱ$>.+.i ȱ$:刄H !A \ Hȱ$*?ȝ 2. ? [_{ ,0-:) 0$:>WI  IТ,LQH  0hLd ~ t u`C ?( 0(C.` E  R =! .ti S0N EE D XC )0')AY  )ע ? 0E088FG \on  (HhLcL3 iJ i Lqp 0=rspnqopqlk`jZj0  j FL`HFhȑFȽlFi0 h FFLFpvqwgneofLF pq7  G0i 0 FJJh1FqȱFpȱFk`B!08`hEE D 8. =D}tui( TʩL`b!)    cȌaȌd b`aabH8 hdaHcd8 cH hHH  \h hc` =Hh I8ih( t  ( t(!` L\CJfCJfCJfCDfC` a  HII  INdh  `h  `n)8jHniPoijIjFIjFIjh` a I 38  8H0 I  ' H LQ8j Y  8j NdY  &I &I &IHeH.pIiq  `!.莿 2Jjj }.m Ȉ!m FG` ɩLQ z  e Hi04 \ Ȍ  8 i h !`I0 `C Y8.`DOS SYS I  ` ~ݩ.C/`ba.m۩mѤC9 `C L] H  ,- '0 l , BLVDE`D1:AUTORUN.SYS8hhJ ȱHȱIȱBȱDȱEeeHHLV)  1*  ,,p-  0 I &  '0   Lw)l, 0  I&LD1:MEM.SAVE:D1:DUP.SYSDVet_F equ * rts OPT 7end equ * end .ne dcopy equ *init equ *writt equ *ram equ *save equ *edit equ9ֆ8֑ 7L/ґ 7L`i(`ԥeׅՠiԥi Dнѽҽ8LԥMզѥ h@pppB@A |倬|ARRRR$irRofR$  RRRRWR#ommandsRRRRRRD|> &),%.!-%%8%|||> &),%.!-%%8%|||> &),%.!-%%8%|  $)2  ||> &),%.!-%%8%|!>,oadfiles||> &),%.!-%%8%|">2enamefiles||> &),%.!-%%8%|#>$eletefiles||> &),%.!-%%8%|$>,ockfiles||> &),%.!-%%8%|%>5nlockfiles||> &),%.!-%%8%|&>#opyfiles||> &),%.!-%%8%|'>&ormatdisk||> &),%.!-%%8%|(||> &),%.!-%%8%|)>3ave$/3||> &),%.!-%%8%|*>2amdiskset||> &),%.!-%%8%|+||> &),%.!-%%8%|,>-emoryload||> &),%.!-%%8%|->%ditfiles||> &),%.!-%%8%|.>-emprotekt/.||> &),%.!-%%8%|/>$estiny$||> &),%.!-%%8%|setflag|ARRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRD|&2%%3%#4/23| 34!453 |ZRRRRRRRRRRRRRRRRRRRRRXRRRRRRRRRRRRRRRRC), BLVHJhDEKBL ,DEHIBL ,DEHI  BL , )BJ**K *͝D*E ,`ۅ$HI۝D$EBL ,E+**.L+l*!*ۍ*$*`D1:*.*H*I* )n!m*$m*8**\V +$l!ʆ`JJJ)g49_4Lo+>i(iLI+ +iii(iL+ ?i(j`l!i(ۅ$ _4#4` V0L, VD,E,HD,iD,E,iE,؈D, h,$$E, h,$$h`H)ihJJJJ)i`E:D1:,r5`! !!XY(i(i(` ,R @,`LBL + P* ** ). - ,"/ R ԭ8rY25Z2 -L=- ,ЍЍЍЍЍЍЍЩ@`ABCDEFGHIJKLMNO //00 1Q21z3p43o42(3*22$4 ,-)912*=L.-L.ݧ-` -.-.L.*,8 P!hhL/-*8(**i(*i)) **) + +, ., ) + +,멛,`**8`.0*i**i**E+L+L**i(***.`.+**$*8****E+L+L**8(***.` BD,E , ,`XihYiU0XiYi ! !`ɛU0RU0'U0` - )J' 5/`/ / K/,ɛ +,, +ȩ ,-ɛL-0~L<0`'ș, +ȑL/ș, !) 5/`L/ȩ ,ШZRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRCQRRRRRRRRRDARRRRRRRRRE )!L1 )#L1 )$L11#4 4 - 4 -1`1"L5/Le2D,EB ,` P*L*:1 / K/J1' ,-`CMD#S)K`KJLq1J)KLq1Z5 ,5L1f5 ,5! SL, P*L1 )J'L5/828 2 +7$`1$&#&$`r5.$`1L1 V VL,- )8, )0`Y2Y2r5 *HHIhɈS[2N,22 \2[2 )H2,, )0 r5 3*,2h,[2 ) L)[2,32 \2H2, , )0 r5 3*0Lw2 $)8, )0> - r5 *0$r5 3*0 ,- CɈũ`` k" k" k" k" -b{3 / K/3' ,-`123 :   L Ӎ  M   ,H8, 1h,`*ʊ%JJJ)_4=g4_4g4_4#4 <+L,g4I9_4_4#4 <+L,@ `  P SL,ii  ӭ,4 )Π4 )`L)D1:DOS.SYS**) * **` ). - ,**)> .` .*&*8`,)O   LY((  P SL,ii  ӭ,4 )Π4 )`L)D1:DOS.SYS**) * **` ). - ,**)> .` .*S n$xԌԢ8p  )؍ Ӣ8p/ 2 )؍2 o o!o"o#X@`<<<fffffff~`~~fl0fF68of;p88pf<<0 0 ~~`0 0`<ff~f||ff|<``f<|fff|~x`f~~x```>`nf>ff~fff~~f<f xxlf```f~cwkccfv~~nf<fff<|f|)``<ffl6|f|lf~`~f~~Zffff~ffff<ckwcff<<<<<8pp8?*ww>><~~~<>>x`x`~<~~<0~0 ~ <~~<~~f~``~ff~|```|~ff~~f~`~>~ff~~``~fff8<>``lxlf8<fkc~ffff~fff~+~ff~``~ff~~f```~`~~~ffff~fff<ck>6f<< 00' dta c' 0 ~~`0 0`<ff~f||ff|<``f<' dta c'|fff|~x`f~~x```>`nf>' dta c'ff~fff~~f<f xxlf' dta c'```f~cwkccfv~~nf<fff<' dta c'|f|``<ffl6|f|lf~`~ b`x` `ɜ;H/`TD`EHI B V-U`` /`i% `l Quick Assembler 1.0 by JBWNo room!`d!qL9eLfLfL/mLMmLiLkfLzfLfLWhL^fLVLhLhLjiLvm v pp m QgL$e f [rr``j`j`` ʥ2ː``[r$``^r>` ro ep  Dd fhrLdZljjmBhNooozhPg$v'v*v-vh2h:hPhajjjjajlmml;e9e q`pqoroqeuppppp>q[qX/oZ2prpnpp poMSANRPJBO.6 "$):>#&ile%dit2un!ssembly3etup)/error<<</utofmemory<<<.oroom7ipeall<<<&ilemodified<<3ave#ontinue<&ileexists<<2eplace!bort<&   D0:QA.SETNONAMED0:;q>qD0:Xq]qD0:P:uqwqD0:qqD0:*.*qhr9?8!&300+*-=~-=,oad<3ave<.ew<$ir<0rn</bj<1uit<7smode<2un<-emhi<3avesetup<1asm<"ʔF``Lwd@` ```A `?`pppB@`A ````ddo;prvwLvL?wL!@wL`wLvLIvLGvLvL0vL9vL|wLwLwLwLwLwH 9vhJJJJ) i`(e`H Gvhe`8吅Ƒ8(ƕ`8`` `XY GvLIv褙 v< Ie GvA`ȽwwwLGvH Svh v v褚 ]v0 v v w wƗLw8eȦ v褚 vLuv w d w wI`Ł* w䖐論 dLw`䖰`hhhh``H w0 wLwIh`FMGVBGNFBvwwxx v%uȑΤȄŅĢ ) Viȕ󅦅0r +y $;iiؠ 7{ 7{$<b _Lqx$I0@ 'd…Lqxp @ zLCIx 'di v$ꃑʈ`a{E`e橩$ ʥ˰+`@B䃝D僝EAHI dL) `i ɛ` ,{L:z:$@<>    y`0L{z0  yXYDNԩ@l yɛ' y'  z0 * yI`! yɛ ,{ { A`ߝمjjj y { Lz FƢ z80 e y {`Lz $P  e`$p&` Ez` zĥ z zeąeŅ`0$p2`G A:8`_A[`H @{hJJJJ) i`)Ƨ$Pʆ |@$[ 8 ĥȱɛ dįI(!"&` m情ĭFiŠȑđH`)Ӧ$ O{)`0@  $dLxy |0 |0 |0ݨ |0Ѩ浹ĵ |0 |Į`i ɛ)hi . d毥` vĥ v%Ĉ銠%` ĥυ`Ɔ$pL}GL}$ʥ˰ zL }ƁP$#)cE@<)Ș $d xyL} BHI), d0ܩ d0ե) |Ču} d0 d0 Ȅ 7{櫦` y `8 JfJfeũ` }Q)ټ(ĶH$P )ąȱą`iĐ8ЭЩ 8` yALz yLz }$P }@)` }LzLz@Ĉ ĥąŅ` yNAGAĭ郅Ž:i@ą))?Iűąıąɛ LzLzL}08eąĥ)?ĢJ0ܩǥA };$P1 Lz Ld@LzLd) Lz "ee y  yL8弅彅Lw`J yL, L5II I  J y M]Y)0Lz )L)) y51<)  yLLz`Lz y`)"Lzڥ ) yť)0)040)3iF 'L€$0 Lz)  $0`i7KO$PS8媅嫅8ƥi3 LzFf 00 Lzie;00膯 |` y$P  7{ 7{ })**|&" #~ ~$0/  ˀɛ yL$P { H @ {hL` ܁L ՃHԃH` y_A6ƶ2A)C E`HL y y ĦLzB$H  LzLzʥ񆴢 |' y@жDf$ d | y ЋL灥 ` 700P3.@$ ȥ`M 7{L7{ LzLz Lz y@@Lz@ *d@ $dLxy$`Lz hh$`)PI@) 7!))pJJJJ))` Lz |8ȥ` 709* z?#  |ȹ` LzN LzLz恟ꂦ'B#omplete&ailure;фeuiaqm}y%5)!1-=9 $,0PpXʈEUIAQM]YLl JFVN^  Hh(*&6.>jfvn~@`8xAAABBBBBBBBBBCCCCCCCDDDDEEEEIIIIJJLLLLNOOOPPPPRRORRSSSSSSSTTTTTTDNSCCEIMNPRVVLLLLMPPEEETNOQXCNNNMSDDDSOPRRHHLLOOTTBEEETTTAASXXYCDLCSQTIELKCSCDIVPXYCXYADRUTLCXYPRAXYRPTAGAPAPLRISCCDIAXYXYXASA !"#$,/2678@DEFHIQV[`aijklmrwxy$$  4,P  󀀀䀀򀀀쀀耀Q倀倀瀀#"@ 0ass,ineD0:xփ 'Õ)-LL-Lv'ȭ(ɩ8``d d` {L0(e`Hhui`8HR dh ( Ȅ)*)`H hJJJJ) )`H 詛ȢȠʩ Jʠ 6 h` | d d d dLۈ)?<#' " Lۈ Lۈ`I`Lۈ`I `Lۈ()?Q` L0dSɛ@ L? J JHH hh?` Y8e` 6  68墨壪 eƅʥeDžeƅ̥eDž`ޥ¥å8…ƥÅX[$00eƅޥeDžߥޥߐ8eƅޥeDž߭`ޭ`ߐeÅe ‘T` -dl ‘İ‘ץ`لڢȠ 6 YȘ FLLFȠ 6ąŪ¥ÐĤ`ɛŢ٦ܽٽڽӖݠ? ݰٙ閈%&@Ӗ`? 詛閤݆8eمi8eمUi Ӱ ְ֦ܥٝڝݝӖ轧ȽɐeƝeǝ޹閑و`х҅Ѕ܅ˠɛ Lʠ 6 J Ƞ 68܅٥ڥ YȘ FLʥ˰" Y8ӖeL8VӖL뽦Ƚɰ8`8}Җi˰-ԖӖ YҖ`ȭɰ8`ʽӖԖɛ8eiܘIӖ` - WL8}Ӗi` ¥ (`hhWL$ - $ a (`%`?䚰8` - ܥL - ahhhh - L|HH)JJJ` hh`8ʪ˨`%,Q,`0T:`ʽW `8Y `9& XѤXȩ ] ]XQ J)ȄL: ‹ 獩]Ě :8܅¥8ª8ªŦ ⽧ӖL)e88ǩ  0Y 0 0 ?i(j%$pFƐ Fǐʆ%EĚ :L`,`EЄ'( = - ‹ 8 ְ 8 6LTA[a{M`M`?,` ' Ѓ?H閝Z閘hɛ,` А ְL ڈ,`0 [  L Õ޽ĕ L l 6 -L -Ƞ 6 ʥˢ ܥѐц ‹L? -Ԡ 6 6Ӆ`Lv -נ 6 6օ`Lv - d0EʝD˝E8[ʝH˝I d%ʅ˅HIe̥e L L'd 8 d DE8HI dL -֦פ 6ӦԤL`Ӡ ԑР ԑhhL$` 8 䑢 6  68 -8ݐ 9eЅi\8嬪奰e楥eeee 6 6 ʠ 6 ɛ إŦ姐L‹ 8 䑩Р ԑƭ  6ee $0/8娅¥婅 Ċֆׄ8娅¥婅 ĊӆԄLL‹Ѕۅ`] - 8Ѕ & t`? 獐Ѕ,` Z` `L6 tleӅօ   ? -eЅi J ‹( eЅӥ( eЅ֥`Щꖝ> Ӱ ְ` 6 3 TLЩ ^?` 8 Ԡ 6Ӆ L‹ M``H` h`` 6 ƏL I`Е0Е0 d*>)`KQ 8 ڈ d+H |h)*+޽| ޽lP ``I``Ъ)JJJ8j]``` d0$P -_ 6$pݐݰ)ɛ#썖:)a{I ݍ8eمِʥˠ $LH  6 6hLv`L | 4)*` TTtt6?󔰔XX򓁓%%tt֍֍.@͒3+&ree`,o)ns,ine#ol)ns/vr,5op  ~ bkhdrwycvrcbkyf**Kii)I)iեԍՍ8ԝL՝M8ֽeօԥeׅՠiԥi Dнѽҽ8LԥMզѥa D`~%ґ 7 @`) T) M҅ȱ҅׈ LHMhL Dשֆ8֑ 7L/ґ 7L`i(`ԥeׅՠiԥi Dнѽҽ8LԥMզѥf~' dta c'~Zffff~ffff<ckwc' dta c'ff<<' dta c'<<<8pp8' dta c'?' d!*٠͛PROG equ $a600*٠B0 equ $F0B1 equ $F1A0 equ $F2A1 equ $F4*٠›o_name equ 19o_lini equ 40 OPT 21 ORG PROG ldx #0 jsr CLOSE stx $41 lda #12 sta IO_1,X lda N_EKR jsr OPN_ lda m_s sta aa lda m_s+1 sta daa+1 lda ant sta $231 lda dli sta $201 lda $d20a and #$f0 clc adc #2 sta bc lda $d40b bne *-3 lda $d20a and #$f0 adc #2 sta bc+1 jmp MAINbc dta a(0)dli equ * cld pha lda bc sta $d012 sta $ed013 sta $d014 lda bc+1 sta $d015 sta $d019 sta $d40a lda #51 sta $d000 clc adc #31 sta $d001 adc #23 sta $d002 lda #140 sta $d003 adc #32 sta $d004 adc #8 sta $d005 adc #8 sta $d006 adc #8 sta $d007 lda $22f ora #%00011100 sta f$d400 lda #%00010001 sta $d01b lda #$ff sta $d00d sta $d00e sta $d00f sta $d010 sta $d011 lda #3 sta $d008 sta $d009 sta $d00a sta $d00b lda #$ff sta $d00c lda dl1 sta $201 pla rtidl1 cld pha lda #0 sta $d000g sta $d001 sta $d002 sta $d003 sta $d004 sta $d005 sta $d006 sta $d007 lda dli sta $201 pla rtiant dta c'ppp',b($42)aa dta a($ffff),d'"""""""""""""""""""""',b($40) dta b($41),a(ant)SCREN EQU * DTA d'|ΠҠh٠Ԡ|'lin0 equ * DTA d'DirofD1:*.*Commands:'lin1 equ * DTA d'|^ * FILENAMEEXE 0010 | |' DTA d'|^ * FILENAMEEXE 0010 | |' DTA d'|^ * FILENAMEEXE 0010 |1,2..,8 DIR *.* |' DTA d'|^i * FILENAMEEXE 0010 |A.^Load files |' DTA d'|^ * FILENAMEEXE 0010 |B.^Rename files |' DTA d'|^ * FILENAMEEXE 0010 |C.^Delete files |' DTA d'|^ * FILENAMEEXE 0010 |D.^Lock files |' DTA d'|^ * FILENAMEEXE 0010 |E.^Unlock files |' DTA d'|^ * FILENjAMEEXE 0010 |F Copy files |' DTA d'|^ * FILENAMEEXE 0010 |G.^Format disk |' DTA d'|^ * FILENAMEEXE 0010 |H. |' DTA d'|^ * FILENAMEEXE 0010 |I.^Save OPERATOR|' DTA d'|^ * FILENAMEEXE 0010 |J./Ramdisk set |' DTA d'|^ * FILENAMEEXE 0k010 |K. |' DTA d'|^ * FILENAMEEXE 0010 |L.^Memory load |' DTA d'|^ * FILENAMEEXE 0010 |M.^Edit files |' DTA d'|^ * FILENAMEEXE 0010 |N.^Memprotekt:ON|'lind equ * DTA d'|^ * FILENAMEEXE 0010 |O.^Destiny= D8: |' DTA d'|^ * FILENAMEEXlE 0010 | set flag |' DTA d''lin_k equ * DTA d'|> FREE SECTORS:0110 <|* STATUS: 0001 *|'stat equ *-7 DTA d''BUFF equ * org *+1300*ɯϠLEN equ $F6ADR mequ $F8M_S equ $58EOL equ $9BCH0 equ 00CH1 equ 16CH2 equ 32CH3 equ 48CH4 equ 64* IOCB equ $340IO_C equ $342IO_S equ $343IO_A equ $344 2IO_L equ $348 2IO_1 equ $34AIO_2 equ $34B*Ӡ͛OPEN equ 3GETR equ 5GETB equ 7PUTR equ 9PnUTB equ 11CLOS equ 12GETS equ 13RENM equ 32DELT equ 33LOCK equ 35UNLC equ 36LOAD equ 39INRU equ 4 ;Ϡ߱ONRU equ 5ONIN equ 6ONRE equ 7FORM equ 254CLOSE EQU *ؽ lda #CLOS sta IO_C,X jmp CIOVOPEN_ EQU *ý|ý|ؽo|㠛ٽ㠛 pha lda #8 כ bcc *+4 lda #4 қ sta IO_1,X plaOPN_ sta IO_A,X tya sta IO_A+1,X lda #%100 ٭Ӡ sta IO_2,X lda #OPEN sta IO_C,X jmp CIOREAD EQU *ý|ý|ؽ||ٽν stap IO_A,X tya sta IO_A+1,X lda LEN sta IO_L,X lda LEN+1 sta IO_L+1,X lda #GETB bcc *+4 lda #GETR sta IO_C,X jmp CIOWRIT EQU *ý|ý|ؽ||ٽν sta IO_A,X tya sta IO_A+1,X lda LEN sta IO_L,X lda LqEN+1 sta IO_L+1,X lda #PUTB bcc *+4 lda #PUTR sta IO_C,X jmp CIOG_DIR equ * ldx #ch1 jsr close ldx #ch1 lda #open sta io_c,x lda #6 sta io_1,x lda #0 sta h_dir sta h_dir+1 sta io_2,x jsr s_bgn lda dir sta io_ra+1,x jsr cio bpl *+3 rts lda buff sta a0+1 ldx #ch1 lda <1280 sta io_l,x lda >1280 sta io_l+1,x lda buff sta io_a+1,x lda #getb sta io_c,x jmp cios_bgn lda #1 sta ps1_+1 sta plikow sta act_sfil sta xp lda #19 sta ps2_+1 lda lin1 sta adr_fil+1 lda buff sta adr_buf+1 rtsdir dta c'D1:*.*',b(eol)h_dir dta a(0)plikow dta b(1)act_fil dta b(1)adr_fil dta a(0)adr_buf dta a(0)P_DIRt equ * ldx #ch1 lda io_l,x sta h_dir lda io_l+1,x sta h_dir+1 jsr closepd0 lda lin1 sta a0+1 lda buff adc h_dir+1 sta a1+1 lda a1 sec sbc #18 sta a1 lda a1+1 sbc #0 sta a1+1 ldua adr_buf sta b0 lda adr_buf+1 sta b1 ldx #0 ldy #0pd lda b0 cmp a1 bne pd1 lda b1 cmp a1+1 bne pd1al_lin equ * stx len+1 ldy #0all lda (a1),y jsr ascint sta lin_k+16,y iny cpy #4 bne allps_ lda lin1 sta adrv+1ps1_ ldx #1 dex stx lenal1 lda lenps2_ cmp #19 bne *+3 rts lsr @ lsr @ lsr @ tay lda len and #7 tax lda msk,x and mapa,y bne al2 lda #0 tay sta (adr),y jmp za0al2 lda #'^'-32 ldy #0 sta (adr),yza0 lda adr clc adc #o_lini stwa adr lda adr+1 adc #0 sta adr+1 inc len jmp al1pd1 cpx #19 bcs pd3pd2 lda (b0),y jsr ascint sta (a0),y iny cpy #18 bne pd2pd3 inx lda b0 clc adc #19 sta b0 lda b1 adc #0 sta b1 lda a0 adc #o_linii sta a0 lda a0+1 adc #0 sta ax0+1 jmp pd-2ascint asl @ php cmp #192 bcs a__ sbc #63 bcs a__ adc #192a__ plp ror @ rtsclr lda lin1 sta a0+1 ldx #0 ldy #0 tyac sta (a0),y iny cpy #21 bne c lda a0 clc adc #o_lini sta a0 bcc *+4 inc a0+1 yinx cpx #19 bne c-3 lda buff sta a0+1 ldx #0 ldy #0 lda #' 'c1 sta (a0),y iny bne c1 inc a0+1 inx cpx #5 bne c1 lda #0 ldx #7 sta mapa,x dex bpl *-4 sta fset rtsCIO EQU *ciov equ $e456bell equ $f556z JSR CIOV sty b0 bmi errok_c ldy #1 sty b0 jmp p_stterr cpy #136 beq ok_c jsr bellp_stt lda #0 sta st sta st+1 ldy b0 tya pha beq cvnps sed lda st clc adc #1 sta st lda st+1 adc #0 sta st+1 cld dey beq cvn bne psst dta a(0)c{vn lda st jsr cvn1 lda b0 sta stat+3 lda b1 sta stat+2 lda st+1 jsr cvn1 lda b0 sta stat+1 lda b1 sta stat pla rtscvn1 pha and #15 clc adc #16 sta b0 pla lsr @ lsr @ lsr @ lsr @ and #15 clc adc #16 sta b1 rtsN_EKR DTA C'E:',|B(EOL)N_DSK DTA C'D1:'N_SPC ORG *+80s_col equ * sta $2c8 sta $2c6 stx $2c5 rtsint_scr lda #0 ldx #12 jsr s_col lda #2 sta aa+9 sta aa+13 lda SCREN sta A0+1 lda M_S sta A1 lda M_S+1 sta A1+1 ldx #24 ldy #40IS }lda (A0),Y sta (A1),Y dey bpl IS lda A0 clc adc #40 sta A0 bcc *+4 inc A0+1 lda A1 clc adc #40 sta A1 bcc *+4 inc A1+1 dex bne IS-2 rtss_nam equ * jsr int_scr lda #0 sta 82 jsr $f440 ldx n_dsk jmp $c642g_key jmp $f~2fd**MAIN EQU * jsr clr jsr g_dir jsr p_dir ldx len+1 stx plikowloop equ * jsr p_crs jsr s_nam lda $d40b bne *-3 lda dli sta $201 lda #$c0 sta $d40e lda $2e5 sec sbc end sta m_len+1 jsr get_com lda b0 cmp #$1b beq *+5 jmp loopof_pm lda #0 sta $d000 sta $d001 sta $d002 sta $d003 sta $d004 sta $d005 sta $d006 sta $d007 lda #$40 sta $d40e rtstab_key equ * dta c'ABCDEFGHIJKLMNO 'tab_adr equ * dta a(load_),a(renam),a(del),a(lock_),a(unlock) dta a(copy),a(format),a(init),a(writt),a(ram) dta a(save),a(readd),a(edit),a(memlo),a(dest) dta a(set_F)get_com equ * jsr g_key sta b0 and #$7f cmp #$39 bcs _g cmp #$31 bcs d_dir_g ldy plikow beq _G1 cmp #$3d bne *+5 jmp crs_dw cmp #$2d bne *+5 jmp crs_up_g1 ldx #0sher cmp tab_key,x beq jest inx cpx #16 bne sherexg rtsjest txa asl @ tax lda tab_adr,x sta wskocz+1 lda tab_adr+1,x sta wskocz+2wskocz jmp *d_dir equ * sta dir+1 sta n_dsk+1 sec sbc #32 sta lin0+13 pla pla jmp mainp_crs lda adr_fil sta b0 sec sbc #o_lini sta a0 lda adr_fil+1 sta b1 sbc #0 sta a0+1 lda adr_fil clc adc #o_lini sta a1 lda adr_fil+1 adc #0 sta a1+1 ldy #0pc lda (a0),y and #$7f sta (a0),y lda (a1),y and #$7f sta (a1),y lda (b0),y ora #$80 sta (b0),y iny cpy #21 bne pc lda adr_fil sta a0 lda adr_fil+1 sta a0+1 ldx #0 ldy #4pc1 lda (a0),y and #$7f beq pc2 jsr ascint jsr ascint sta n_spc,x inx iny cpy #12 bne pc1pc2 lda #'.' sta n_spc,x inx ldy #12pc3 lda (a0),y and #$7f beq pc4 jsr ascint jsr ascint sta n_spc,x inx iny cpy #15 bne pc3pc4 lda #$9b sta n_spc,x rtscrs_dw equ * lda act_fil cmp plikow bne *+4 sec rts lda xp cmp #19 bmi cd lda adr_buf clc adc #19 sta adr_buf lda adr_buf+1 adc #0 sta adr_buf+1 inc act_fil inc ps1_+1 inc ps2_+1 jmp pd0cd lda adr_fil clc adc #o_lini sta adr_fil bcc *+5 inc adr_fil+1 inc act_fil inc xpec rtsxp dta b(1)crs_up equ * lda xp cmp #1 bne cu lda adr_buf cmp buff beq ecup lda adr_buf sec sbc #19 sta adr_buf lda adr_buf+1 sbc #0 sta adr_buf+1 dec act_fil dec ps1_+1 dec ps2_+1 jmp pd0cu lda adr_fil sec sbc #o_lini sta adr_fil bcs *+5 dec adr_fil+1 dec act_fil dec xp rts*specl ldx #ch1 sta io_c,x lda n_dsk sta io_a+1,x jsr cio jsr int_scr rtsp_rmk lda m_s clc adc <360 sta a0 lda m_s+1 adc >360 sta a0+1 ldy #0 ldx #0r lda ramkar,y sta (a0),y iny cpy #160 bne r lda m_s clc adc <441 sta a0 lda m_s+1 adc >441 sta a0+1 lda $d40b bne *-3 lda #$82 sta aa+9 sta aa+13 rtsp_nrmk equ * sta a0 sty a0+1 stx b0 ldy #0pnr lda (a0),y cmp #eol beq pnr1 sta ramkar,x inx iny bne pnrpnr1 lda #''+64 sta ramkar,x inx iny cpx #39 bne pnr1+2 ldx #1pnr2 sta ramkar,x inx cpx b0 bne pnr2 rtsload_ equ * jsr of_pm ldx #ch1 jsr close lda #inru sta io_1,x lda #load jsr specl rtsn_ren dta d'Šź',b(eol)renam equ * lda n_ren ldx #13 jsr p_nrmk jsr p_rmk ldy #0r1 lda n_dsk,y cmp #eol beq r2 jsr ascint sta (a0),y iny bne r1r2 lda #',' sta n_dsk,y jsr ascint sta (a0),y sty b1 iny lda #$80 sta (a0),y deyr3 sty b0 jsr g_key ldy b0 cmp #eol bne *+5 jmp r4 cmp #$7e bne *+5 jmp r5 cmp #$1b bne *+3 rts cpy #39 beq r3 iny sta n_dsk,y jsr ascint sta (a0),y lda #$80 iny sta (a0),y dey jmp r3r4 iny sta n_dsk,y ldx #ch1 jsr close lda #renm jsr specl rtsr5 cpy b1 bne *+5 jmp r3 iny lda #' '-32 sta (a0),y dey lda #' ' sta n_dsk,y lda #$80 sta (a0),y dey bne r3ramkar DTA d'' DTA d'  ' DTA d' ' DTA d'àԠ'del equ * ldx #ch1 jsr close lda #delt jmp ssfillock_ equ * ldx #ch1 jsr close lda #lock jmp ssfilunlock equ * ldx #ch1 jsr close lda #unlc jmp ssfilsscom dta b(0)ssfil sta sscom lda fset beq l2 jsr spr_setl1 jsr spr_fil bcs ex1 jsr l2 bpl l1ex1 rtsl2 lda sscom cmp #'' beq *+5 jmp specl jmp copn_frm dta d'Ԡˠ',b(eol)i_frm dta d'  'frm lda n_dsk sta io_a+1,x lda #form sta io_c,x jsr cio bpl *+3 rts jsr g_dir jmp p_dirformat equ * lda n_frm ldx #12 jsr p_nrmk jsr p_rmk ldy #0_i lda i_frm,y sta (a0),y iny cpy #39 bne _if jsr g_key cmp #$1b bne *+3 rts ldx #ch1 cmp #'C' beq _clr cmp #'M' beq med cmp #'D' beq dbl cmp #'S' beq sgn cmp #'K' bne f rts_clr lda #$80 sta io_2,x lda #0 sta io_1,x jmp frmmed lda #1 sta io_1,x and #0 sta io_2,x jmp frmdbl lda perd jsr pper jmp _fsgn lda pers jsr pper_f lda #$21 sta $302 jsr $e453 bpl *+5 jmp p_stt-3 jsr g_dir ldx #ch1 jmp _clrreadd ldx #ch1 jsr close lda #onre sta io_1,x lda #load jmp specln_des dta c'8'dest ldx n_des cpx #$38 beq d1 inxd stx n_des txa jsr ascint sta lind+36 rtsd1 ldx #$31 bne dmemlo lda lind-2 cmp #'F'-32 beq onm ldx <$1f00 ldy >$1f00 stx $2e7 sty $2e8 lda #'F'-32 sta lind-2 rtsonm ldx end stx $2e7 sty $2e8 lda #'N'-32 sta lind-2 rtscopy equ * lda #'' sta sscom jmp ssfilm_len dta a(0)flg_cal dta b(1)p_dsti jsr bell jsr bell jmp g_keycop ldx #ch1 jsr close sec ldx #ch1 lda n_dsk jsr open_ bmi excop clcw_cop ldx #ch1 lda m_len sta len lda m_len sta len+1 lda end jsr read pha ldx #ch1 lda io_l,x sta len lda io_l+1,x sta len+1 pla cmp #136 beq nie_caly lda flg_cal beq nie_calycaly lda n_dsk+1 sta hh+1 cmp n_des bne *+5 jsr p_dstihh lda #$ff sta flg_cal ldx #ch1 jsr close pha lda n_des sta n_dsk+1 ldx #ch1 clc lda n_dsk jsr open_ bmi excop ldx #ch1 clc lda end jsr writexcop lda n_dsk+1 sta n_des pla sta n_dsk lda #1 sta flg_cal ldx #ch1 jsr close ldx #ch2 jmp closenie_caly equ * lda #0 sta flg_cal lda n_dsk sta hh1+1 cmp n_des bne *+5 jsr p_dstihh1 lda #$ff pha lda n_des sta n_dsk+1 ldx #ch2 clc lda n_dsk jsr open_ bmi excop ldx #ch2 clc lda end jsr writ bmi excop ldx #ch1 jmp w_copedit ldx #ch1 jsr close sec lda n_dsk jsr open_ bmi ex jsr of_pmed jsr $f420 ldx #ch1 lda <250 ldy >250 sta len sty len+1 clc lda end jsr read bmi ex ldx #ch0 clc lda <250 ldy >250 sta len sty len+1 lda end jsr writ bmi ex jsr g_key cmp #$1b beq ex ldx #ch1 lda io_s,x cmp #136 bne edex lda #0 sta b0 rtsinit equ * rtsn_ram dta d'',b(eol)i_ram1 dta d' -128kB -192kB -256kB -320kB -1Mb 'ram lda n_ram ldx #11 jsr p_nrmk jsr p_rmk ldy #0__i lda i_ram1,y sta (a0),y iny cpy #39 bne __i jmp g_key ldx #ch1 jmp medfset dta b(0)set_F equ * ldx act_fil dex txa lsr @ lsr @ lsr @ tay txa and #7 tax lda mapa,y and msk,x bne ofon lda mapa,y ora msk,x sta mapa,y inc fset jsr ps_ jmp int_scrof lda msk,x eor #$ff and mapa,y sta mapa,y dec fset jsr ps_ jmp int_scrmapa dta d' 'msk equ * dta b(%10000000) dta b(%1000000) dta b(%100000) dta b(%10000) dta b(%1000) dta b(%100) dta b(%10) dta b(%1)save equ * rtswritt equ * lda <$700 sta $304 lda >$700 sta $305 lda #1 sta $30a lda #0 sta $30bboot_w lda #$50 sta $302 lda #$80 sta $303 jsr $e453 bpl *+5 jmp p_stt-3 lda $304 clc adc #128 sta $304 lda $305 adc #0 sta $305 inc $30a lda $30a cmp #4 bne boot_w lda n_dsk+1 sta n_dos+1 ldx #ch1 jsr close clc lda n_dos ldx #ch1 jsr open_ bpl *+3 rts ldx #ch1 jmp*ήӛ*٠͛PROG equ $2000*٠B0 equ $F0B1 equ $F1A0 equ $F2A1 equ $F4*٠›o_name equ 19o_lini equ 40 OPT 5+32 ORG PROG ldx #0 jsr CLOSE stx $41 lda #12 sta IO_1,X lda N_EKR jsr OPN_ lda m_s sta aa lda m_s+1 sta aa+1 lda ant sta $231 lda dli sta $201 lda $d20a and #$f0 clc adc #2 sta bc lda $d40b bne *-3 lda $d20a and #$f0 adc #2 sta bc+1 jmp MAINbc dta a(0)dli equ * cld pha lda bc sta $d012 sta $d013 sta $d014 lda bc+1 sta $d015 sta $d019 sta $d40a lda #51 sta $d000 clc adc #31 sta $d001 adc #23 sta $d002 lda #140 sta $d003 adc #32 sta $d004 adc #8 sta $d005 adc #8 sta $d006 adc #8 sta $d007 lda $22f ora #%00011100 sta $d400 lda #%00010001 sta $d01b lda #$ff sta $d00d sta $d00e sta $d00f sta $d010 sta $d011 lda #3 sta $d008 sta $d009 sta $d00a sta $d00b lda #$ff sta $d00c lda dl1 sta $201 pla rtidl1 cld pha lda #0 sta $d000 sta $d001 sta $d002 sta $d003 sta $d004 sta $d005 sta $d006 sta $d007 lda dli sta $201 pla rtiant dta c'ppp',b($42)aa dta a($ffff),d'"""""""""""""""""""""',b($40) dta b($41),a(ant)SCREN EQU * DTA d'|ΠҠ٠Ԡ|'lin0 equ * DTA d'DirofD1:*.*Commands:'lin1 equ * DTA d'|^ * FILENAMEEXE 0010 | |' DTA d'|^ * FILENAMEEXE 0010 | |' DTA d'|^ * FILENAMEEXE 0010 |1,2..,8 DIR *.* |' DTA d'|^ * FILENAMEEXE 0010 |A.^Load files |' DTA d'|^ * FILENAMEEXE 0010 |B.^Rename files |' DTA d'|^ * FILENAMEEXE 0010 |C.^Delete files |' DTA d'|^ * FILENAMEEXE 0010 |D.^Lock files |' DTA d'|^ * FILENAMEEXE 0010 |E.^Unlock files |' DTA d'|^ * FILENAMEEXE 0010 |F Copy files |' DTA d'|^ * FILENAMEEXE 0010 |G.^Format disk |' DTA d'|^ * FILENAMEEXE 0010 |H. |' DTA d'|^ * FILENAMEEXE 0010 |I.^Save OPERATOR|' DTA d'|^ * FILENAMEEXE 0010 |J./Ramdisk set |' DTA d'|^ * FILENAMEEXE 0010 |K. |' DTA d'|^ * FILENAMEEXE 0010 |L.^Memory load |' DTA d'|^ * FILENAMEEXE 0010 |M.^Edit files |' DTA d'|^ * FILENAMEEXE 0010 |N.^Memprotekt:ON|'lind equ * DTA d'|^ * FILENAMEEXE 0010 |O.^Destiny= D8: |' DTA d'|^ * FILENAMEEXE 0010 | set flag |' DTA d''lin_k equ * DTA d'|> FREE SECTORS:0110 <|* STATUS: 0001 *|'stat equ *-7 DTA d''BUFF equ * org *+1300*ɯϠLEN equ $F6ADR equ $F8M_S equ $58EOL equ $9BCH0 equ 00CH1 equ 16CH2 equ 32CH3 equ 48CH4 equ 64* IOCB equ $340IO_C equ $342IO_S equ $343IO_A equ $344 2IO_L equ $348 2IO_1 equ $34AIO_2 equ $34B*Ӡ͛OPEN equ 3GETR equ 5GETB equ 7PUTR equ 9PUTB equ 11CLOS equ 12GETS equ 13RENM equ 32DELT equ 33LOCK equ 35UNLC equ 36LOAD equ 39INRU equ 4 ;Ϡ߱ONRU equ 5ONIN equ 6ONRE equ 7FORM equ 254CLOSE EQU *ؽ lda #CLOS sta IO_C,X jmp CIOVOPEN_ EQU *ý|ý|ؽ|㠛ٽ㠛 pha lda #8 כ bcc *+4 lda #4 қ sta IO_1,X plaOPN_ sta IO_A,X tya sta IO_A+1,X lda #%100 ٭Ӡ sta IO_2,X lda #OPEN sta IO_C,X jmp CIOREAD EQU *ý|ý|ؽ||ٽν sta IO_A,X tya sta IO_A+1,X lda LEN sta IO_L,X lda LEN+1 sta IO_L+1,X lda #GETB bcc *+4 lda #GETR sta IO_C,X jmp CIOWRIT EQU *ý|ý|ؽ||ٽν sta IO_A,X tya sta IO_A+1,X lda LEN sta IO_L,X lda LEN+1 sta IO_L+1,X lda #PUTB bcc *+4 lda #PUTR sta IO_C,X jmp CIOG_DIR equ * ldx #ch1 jsr close ldx #ch1 lda #open sta io_c,x lda #6 sta io_1,x lda #0 sta h_dir sta h_dir+1 sta io_2,x jsr s_bgn lda dir sta io_a+1,x jsr cio bpl *+3 rts lda buff sta a0+1 ldx #ch1 lda <1280 sta io_l,x lda >1280 sta io_l+1,x lda buff sta io_a+1,x lda #getb sta io_c,x jmp cios_bgn lda #1 sta ps1_+1 sta plikow sta act_fil sta xp lda #19 sta ps2_+1 lda lin1 sta adr_fil+1 lda buff sta adr_buf+1 rtsdir dta c'D1:*.*',b(eol)h_dir dta a(0)plikow dta b(1)act_fil dta b(1)adr_fil dta a(0)adr_buf dta a(0)P_DIR equ * ldx #ch1 lda io_l,x sta h_dir lda io_l+1,x sta h_dir+1 jsr closepd0 lda lin1 sta a0+1 lda buff adc h_dir+1 sta a1+1 lda a1 sec sbc #18 sta a1 lda a1+1 sbc #0 sta a1+1 lda adr_buf sta b0 lda adr_buf+1 sta b1 ldx #0 ldy #0pd lda b0 cmp a1 bne pd1 lda b1 cmp a1+1 bne pd1al_lin equ * stx len+1 ldy #0all lda (a1),y jsr ascint sta lin_k+16,y iny cpy #4 bne allps_ lda lin1 sta adr+1ps1_ ldx #1 dex stx lenal1 lda lenps2_ cmp #19 bne *+3 rts lsr @ lsr @ lsr @ tay lda len and #7 tax lda msk,x and mapa,y bne al2 lda #0 tay sta (adr),y jmp za0al2 lda #'^'-32 ldy #0 sta (adr),yza0 lda adr clc adc #o_lini sta adr lda adr+1 adc #0 sta adr+1 inc len jmp al1pd1 cpx #19 bcs pd3pd2 lda (b0),y jsr ascint sta (a0),y iny cpy #18 bne pd2pd3 inx lda b0 clc adc #19 sta b0 lda b1 adc #0 sta b1 lda a0 adc #o_linii sta a0 lda a0+1 adc #0 sta a0+1 jmp pd-2ascint asl @ php cmp #192 bcs a__ sbc #63 bcs a__ adc #192a__ plp ror @ rtsclr lda lin1 sta a0+1 ldx #0 ldy #0 tyac sta (a0),y iny cpy #21 bne c lda a0 clc adc #o_lini sta a0 bcc *+4 inc a0+1 inx cpx #19 bne c-3 lda buff sta a0+1 ldx #0 ldy #0 lda #' 'c1 sta (a0),y iny bne c1 inc a0+1 inx cpx #5 bne c1 lda #0 ldx #7 sta mapa,x dex bpl *-4 sta fset rtsCIO EQU *ciov equ $e456bell equ $f556 JSR CIOV sty b0 bmi errok_c ldy #1 sty b0 jmp p_stterr cpy #136 beq ok_c jsr bellp_stt lda #0 sta st sta st+1 ldy b0 tya pha beq cvnps sed lda st clc adc #1 sta st lda st+1 adc #0 sta st+1 cld dey beq cvn bne psst dta a(0)cvn lda st jsr cvn1 lda b0 sta stat+3 lda b1 sta stat+2 lda st+1 jsr cvn1 lda b0 sta stat+1 lda b1 sta stat pla rtscvn1 pha and #15 clc adc #16 sta b0 pla lsr @ lsr @ lsr @ lsr @ and #15 clc adc #16 sta b1 rtsN_EKR DTA C'E:',B(EOL)N_DSK DTA C'D1:'N_SPC ORG *+80s_col equ * sta $2c8 sta $2c6 stx $2c5 rtsint_scr lda #0 ldx #12 jsr s_col lda #2 sta aa+9 sta aa+13 lda SCREN sta A0+1 lda M_S sta A1 lda M_S+1 sta A1+1 ldx #24 ldy #40IS lda (A0),Y sta (A1),Y dey bpl IS lda A0 clc adc #40 sta A0 bcc *+4 inc A0+1 lda A1 clc adc #40 sta A1 bcc *+4 inc A1+1 dex bne IS-2 rtss_nam equ * jsr int_scr lda #0 sta 82 jsr $f440 ldx n_dsk jmp $c642g_key jmp $f2fd**MAIN EQU * jsr clr jsr g_dir jsr p_dir ldx len+1 stx plikowloop equ * jsr p_crs jsr s_nam lda $d40b bne *-3 lda dli sta $201 lda #$c0 sta $d40e lda $2e5 sec sbc end sta m_len+1 jsr get_com lda b0 cmp #$1b beq *+5 jmp loopof_pm lda #0 sta $d000 sta $d001 sta $d002 sta $d003 sta $d004 sta $d005 sta $d006 sta $d007 lda #$40 sta $d40e rtstab_key equ * dta c'ABCDEFGHIJKLMNO 'tab_adr equ * dta a(load_),a(renam),a(del),a(lock_),a(unlock) dta a(copy),a(format),a(init),a(writt),a(ram) dta a(save),a(readd),a(edit),a(memlo),a(dest) dta a(set_F)get_com equ * jsr g_key sta b0 and #$7f cmp #$39 bcs _g cmp #$31 bcs d_dir_g ldy plikow beq _G1 cmp #$3d bne *+5 jmp crs_dw cmp #$2d bne *+5 jmp crs_up_g1 ldx #0sher cmp tab_key,x beq jest inx cpx #16 bne sherexg rtsjest txa asl @ tax lda tab_adr,x sta wskocz+1 lda tab_adr+1,x sta wskocz+2wskocz jmp *d_dir equ * sta dir+1 sta n_dsk+1 sec sbc #32 sta lin0+13 pla pla jmp mainp_crs lda adr_fil sta b0 sec sbc #o_lini sta a0 lda adr_fil+1 sta b1 sbc #0 sta a0+1 lda adr_fil clc adc #o_lini sta a1 lda adr_fil+1 adc #0 sta a1+1 ldy #0pc lda (a0),y and #$7f sta (a0),y lda (a1),y and #$7f sta (a1),y lda (b0),y ora #$80 sta (b0),y iny cpy #21 bne pc lda adr_fil sta a0 lda adr_fil+1 sta a0+1 ldx #0 ldy #4pc1 lda (a0),y and #$7f beq pc2 jsr ascint jsr ascint sta n_spc,x inx iny cpy #12 bne pc1pc2 lda #'.' sta n_spc,x inx ldy #12pc3 lda (a0),y and #$7f beq pc4 jsr ascint jsr ascint sta n_spc,x inx iny cpy #15 bne pc3pc4 lda #$9b sta n_spc,x rtscrs_dw equ * lda act_fil cmp plikow bne *+4 sec rts lda xp cmp #19 bmi cd lda adr_buf clc adc #19 sta adr_buf lda adr_buf+1 adc #0 sta adr_buf+1 inc act_fil inc ps1_+1 inc ps2_+1 jmp pd0cd lda adr_fil clc adc #o_lini sta adr_fil bcc *+5 inc adr_fil+1 inc act_fil inc xpec rtsxp dta b(1)crs_up equ * lda xp cmp #1 bne cu lda adr_buf cmp buff beq ecup lda adr_buf sec sbc #19 sta adr_buf lda adr_buf+1 sbc #0 sta adr_buf+1 dec act_fil dec ps1_+1 dec ps2_+1 jmp pd0cu lda adr_fil sec sbc #o_lini sta adr_fil bcs *+5 dec adr_fil+1 dec act_fil dec xp rts*specl ldx #ch1 sta io_c,x lda n_dsk sta io_a+1,x jsr cio jsr int_scr rtsp_rmk lda m_s clc adc <360 sta a0 lda m_s+1 adc >360 sta a0+1 ldy #0 ldx #0r lda ramkar,y sta (a0),y iny cpy #160 bne r lda m_s clc adc <441 sta a0 lda m_s+1 adc >441 sta a0+1 lda $d40b bne *-3 lda #$82 sta aa+9 sta aa+13 rtsp_nrmk equ * sta a0 sty a0+1 stx b0 ldy #0pnr lda (a0),y cmp #eol beq pnr1 sta ramkar,x inx iny bne pnrpnr1 lda #''+64 sta ramkar,x inx iny cpx #39 bne pnr1+2 ldx #1pnr2 sta ramkar,x inx cpx b0 bne pnr2 rtsload_ equ * jsr of_pm ldx #ch1 jsr close lda #inru sta io_1,x lda #load jsr specl rtsn_ren dta d'Šź',b(eol)renam equ * lda n_ren ldx #13 jsr p_nrmk jsr p_rmk ldy #0r1 lda n_dsk,y cmp #eol beq r2 jsr ascint sta (a0),y iny bne r1r2 lda #',' sta n_dsk,y jsr ascint sta (a0),y sty b1 iny lda #$80 sta (a0),y deyr3 sty b0 jsr g_key ldy b0 cmp #eol bne *+5 jmp r4 cmp #$7e bne *+5 jmp r5 cmp #$1b bne *+3 rts cpy #39 beq r3 iny sta n_dsk,y jsr ascint sta (a0),y lda #$80 iny sta (a0),y dey jmp r3r4 iny sta n_dsk,y ldx #ch1 jsr close lda #renm jsr specl rtsr5 cpy b1 bne *+5 jmp r3 iny lda #' '-32 sta (a0),y dey lda #' ' sta n_dsk,y lda #$80 sta (a0),y dey bne r3ramkar DTA d'' DTA d'  ' DTA d' ' DTA d'àԠ'del equ * ldx #ch1 jsr close lda #delt jmp ssfillock_ equ * ldx #ch1 jsr close lda #lock jmp ssfilunlock equ * ldx #ch1 jsr close lda #unlc jmp ssfilsscom dta b(0)ssfil sta sscom lda fset beq l2 jsr spr_setl1 jsr spr_fil bcs ex1 jsr l2 bpl l1ex1 rtsl2 lda sscom cmp #'' beq *+5 jmp specl jmp copn_frm dta d'Ԡˠ',b(eol)i_frm dta d'  'frm lda n_dsk sta io_a+1,x lda #form sta io_c,x jsr cio bpl *+3 rts jsr g_dir jmp p_dirformat equ * lda n_frm ldx #12 jsr p_nrmk jsr p_rmk ldy #0_i lda i_frm,y sta (a0),y iny cpy #39 bne _if jsr g_key cmp #$1b bne *+3 rts ldx #ch1 cmp #'C' beq _clr cmp #'M' beq med cmp #'D' beq dbl cmp #'S' beq sgn cmp #'K' bne f rts_clr lda #$80 sta io_2,x lda #0 sta io_1,x jmp frmmed lda #1 sta io_1,x and #0 sta io_2,x jmp frmdbl lda perd jsr pper jmp _fsgn lda pers jsr pper_f lda #$21 sta $302 jsr $e453 bpl *+5 jmp p_stt-3 jsr g_dir ldx #ch1 jmp _clrreadd ldx #ch1 jsr close lda #onre sta io_1,x lda #load jmp specln_des dta c'8'dest ldx n_des cpx #$38 beq d1 inxd stx n_des txa jsr ascint sta lind+36 rtsd1 ldx #$31 bne dmemlo lda lind-2 cmp #'F'-32 beq onm ldx <$1f00 ldy >$1f00 stx $2e7 sty $2e8 lda #'F'-32 sta lind-2 rtsonm ldx end stx $2e7 sty $2e8 lda #'N'-32 sta lind-2 rtscopy equ * lda #'' sta sscom jmp ssfilm_len dta a(0)flg_cal dta b(1)p_dsti jsr bell jsr bell jmp g_keycop ldx #ch1 jsr close sec ldx #ch1 lda n_dsk jsr open_ bmi excop clcw_cop ldx #ch1 lda m_len sta len lda m_len sta len+1 lda end jsr read pha ldx #ch1 lda io_l,x sta len lda io_l+1,x sta len+1 pla cmp #136 beq nie_caly lda flg_cal beq nie_calycaly lda n_dsk+1 sta hh+1 cmp n_des bne *+5 jsr p_dstihh lda #$ff sta flg_cal ldx #ch1 jsr close pha lda n_des sta n_dsk+1 ldx #ch1 clc lda n_dsk jsr open_ bmi excop ldx #ch1 clc lda end jsr writexcop lda n_dsk+1 sta n_des pla sta n_dsk+1 lda #1 sta flg_cal ldx #ch1 jsr close ldx #ch2 jmp closenie_caly lda #0 sta flg_cal lda n_dsk sta hh1+1 cmp n_des bne *+5 jsr p_dstihh1 lda #$ff pha lda n_des sta n_dsk+1 ldx #ch2 clc lda n_dsk jsr open_ bmi excop ldx #ch2 clc lda end jsr writ bmi excop ldx #ch1 jmp w_copedit ldx #ch1 jsr close sec lda n_dsk jsr open_ bmi ex jsr of_pmed jsr $f420 ldx #ch1 lda <250 ldy >250 sta len sty len+1 clc lda end jsr read bmi ex ldx #ch0 clc lda <250 ldy >250 sta len sty len+1 lda end jsr writ bmi ex jsr g_key cmp #$1b beq ex ldx #ch1 lda io_s,x cmp #136 bne edex lda #0 sta b0 rtsinit equ * rtsn_ram dta d'',b(eol)i_ram1 dta d' -128kB -192kB -256kB -320kB -1Mb 'ram lda n_ram ldx #11 jsr p_nrmk jsr p_rmk ldy #0__i lda i_ram1,y sta (a0),y iny cpy #39 bne __i jmp g_key ldx #ch1 jmp medfset dta b(0)set_F equ * ldx act_fil dex txa lsr @ lsr @ lsr @ tay txa and #7 tax lda mapa,y and msk,x bne ofon lda mapa,y ora msk,x sta mapa,y inc fset jsr ps_ jmp int_scrof lda msk,x eor #$ff and mapa,y sta mapa,y dec fset jsr ps_ jmp int_scrmapa dta d' 'msk equ * dta b(%10000000) dta b(%1000000) dta b(%100000) dta b(%10000) dta b(%1000) dta b(%100) dta b(%10) dta b(%1)save equ * rtswritt equ * lda <$700 sta $304 lda >$700 sta $305 lda #1 sta $30a lda #0 sta $30bboot_w lda #$50 sta $302 lda #$80 sta $303 jsr $e453 bpl *+5 jmp p_stt-3 lda $304 clc adc #128 sta $304 lda $305 adc #0 sta $305 inc $30a lda $30a cmp #4 bne boot_w lda n_dsk+1 sta n_dos+1 ldx #ch1 jsr close clc lda n_dos ldx #ch1 jsr open_ bpl *+3 rts ld closen_dos dta c'D1:DOS.SYS',b($9b)spr_set jsr s_bgn jsr pd0 ldx len+1 stx plikow rtsspr_fil jsr p_crs jsr s_nam jsr int_scr lda adr_fil sta a0 lda adr_fil+1 sta a0+1 ldy #0 lda (a0),y and #$7f cmp #'^'-32 bne sf1 jsr crs_dw clc rtssf1 jsr crs_dw lda act_fil cmp plikow bne spr_fil sec rtspper sta $304 sty $305 lda n_dsk+1 sta $300 and #$f sta $301 lda #$80 sta $303 lda #$4f sta $302 lda #12 sta $308 sta $306 lda #0 sta $309 sta $30b jmp $e459perd dta b($28),b(1),b(00),b($12) dta b(0),b(4),b(1),b(0) dta b($FF),b(0),b(0),b(0)pers dta b($28),b(1),b(00),b($12) dta b(0),b(0),b(0),b(128) dta b(0),b(0),b(0),b(0) OPT 7end equ * brk org $2e0 dta a(prog) end .a $309 sta $30b jmp $e459perd dta b($2x #ch1 jmp closen_dos dta c'D1:DOS.SYS',b($9b)spr_set jsr s_bgn jsr pd0 ldx len+1 stx plikow rtsspr_fil jsr p_crs jsr s_nam jsr int_scr lda adr_fil sta a0 lda adr_fil+1 sta a0+1 ldy #0 lda (a0),y and #$7f cmp #'^'-32 bne sf1 jsr crs_dw clc rtssf1 jsr crs_dw lda act_fil cmp plikow bne spr_fil sec rtspper sta $304 sty $305 lda n_dsk+1 sta $300 and #$f sta $301 lda #$80 sta $303 lda #$4f sta $302 lda #12 sta $308 sta $306 lda #0 sta $309 sta $30b jmp $e459perd dta b($28),b(1),b(00),b($12) dta b(0),b(4),b(1),b(0) dta b($FF),b(0),b(0),b(0)pers dta b($28),b(1),b(00),b($12) dta b(0),b(0),b(0),b(128) dta b(0),b(0),b(0),b(0)end equ * brk org $2e0 dta a(prog) end . #0 sta $309 sta $30b jmp $e459pem_s+1 sta aa+1 lda ant sta $231 lda dli sta $201 lda $d20a and #$f0 clc adc #2 sta bc lda $d40b bne *-3 lda $d20a and #$f0 adc #2 sta bc+1 jmp MAINbc dta a(0)dli equ * cld pha lda bc sta $d012 sta $d013 sta $d014 lda bc+1 sta $d015 sta $d019 sta $d40a lda #51 sta $d000 clc adc #31 sta $d001 adc #23 sta $d002 lda #140 sta $d003 adc #32 sta $d004 adc #8 sta $d005 adc #8 sta $d006 adc #8 sta $d007 lda $22f ora #%00011100 sta $d400 lda #%00010001 sta $d01b lda #$ff sta $d00d sta $d00e sta $d00f sta $d010 sta $d011 lda #3 sta $d008 sta $d009 sta $d00a sta $d00b lda #$ff sta $d00c lda dl1 sta $201 pla rtidl1 cld pha lda #0 sta $d000 sta $d001 sta $d002 sta $d003 sta $d004 sta $d005 sta $d006 sta $d007 lda dli sta $201 pla rtiant dta c'ppp',b($42)aa dta a($ffff),d'"""""""""""""""""""""',b($40) dta b($41),a(ant)SCREN EQU * DTA d'|ΠҠ٠Ԡ|'lin0 equ * DTA d'DirofD1:*.*Commands:'lin1 equ * DTA d'|^ * FILENAMEEXE 0010 | |' DTA d'|^ * FILENAMEEXE 0010 | |' DTA d'|^ * FILENAMEEXE 0010 |1,2..,8 DIR *.* |' DTA d'|^ * FILENAMEEXE 0010 |A.^Load files |' DTA d'|^ * FILENAMEEXE 0010 |B.^Rename files |' DTA d'|^ * FILENAMEEXE 0010 |C.^Delete files |' DTA d'|^ * FILENAMEEXE 0010 |D.^Lock files |' DTA d'|^ * FILENAMEEXE 0010 |E.^Unlock files |' DTA d'|^ * FILENAMEEXE 0010 |F ^Copy files |' DTA d'|^ * FILENAMEEXE 0010 |G.^Format disk |' DTA d'|^ * FILENAMEEXE 0010 |H. |' DTA d'|^ * FILENAMEEXE 0010 |I.^Save DOS |' DTA d'|^ * FILENAMEEXE 0010 |J.^Ramdisk set |' DTA d'|^ * FILENAMEEXE 0010 |K. |' DTA d'|^ * FILENAMEEXE 0010 |L.^Memory load |' DTA d'|^ * FILENAMEEXE 0010 |M.^Edit files |' DTA d'|^ * FILENAMEEXE 0010 |N.^Memprotekt:ON|'lind equ * DTA d'|^ * FILENAMEEXE 0010 |O.^Destiny= D8: |' DTA d'|^ * FILENAMEEXE 0010 | set flag |' DTA d''lin_k equ * DTA d'|> FREE SECTORS:0110 <|* STATUS: 0001 *|'stat equ *-7 DTA d''BUFF equ * org *+1300*ɯϠLEN equ $F6ADR equ $F8M_S equ $58EOL equ $9BCH0 equ 00CH1 equ 16CH2 equ 32CH3 equ 48CH4 equ 64* IOCB equ $340IO_C equ $342IO_S equ $343IO_A equ $344 2IO_L equ $348 2IO_1 equ $34AIO_2 equ $34B*Ӡ͛OPEN equ 3GETR equ 5GETB equ 7PUTR equ 9PUTB equ 11CLOS equ 12GETS equ 13RENM equ 32DELT equ 33LOCK equ 35UNLC equ 36LOAD equ 39INRU equ 4 ;Ϡ߱ONRU equ 5ONIN equ 6ONRE equ 7FORM equ 254CLOSE EQU *ؽ lda #CLOS sta IO_C,X jmp CIOVOPEN_ EQU *ý|ý|ؽ|㠛ٽ㠛 pha lda #8 כ bcc *+4 lda #4 қ sta IO_1,X plaOPN_ sta IO_A,X tya sta IO_A+1,X lda #%100 ٭Ӡ sta IO_2,X lda #OPEN sta IO_C,X jmp CIOREAD EQU *ý|ý|ؽ||ٽν sta IO_A,X tya sta IO_A+1,X lda LEN sta IO_L,X lda LEN+1 sta IO_L+1,X lda #GETB bcc *+4 lda #GETR sta IO_C,X jmp CIOWRIT EQU *ý|ý|ؽ||ٽν sta IO_A,X tya sta IO_A+1,X lda LEN sta IO_L,X lda LEN+1 sta IO_L+1,X lda #PUTB bcc *+4 lda #PUTR sta IO_C,X jmp CIOG_DIR equ * ldx #ch1 jsr close ldx #ch1 lda #open sta io_c,x lda #6 sta io_1,x lda #0 sta h_dir sta h_dir+1 sta io_2,x jsr s_bgn lda dir sta io_a+1,x jsr cio bpl *+3 rts lda buff sta a0+1 ldx #ch1 lda <1280 sta io_l,x lda >1280 sta io_l+1,x lda buff sta io_a+1,x lda #getb sta io_c,x jmp cios_bgn lda #1 sta ps1_+1 sta plikow sta act_fil sta xp lda #19 sta ps2_+1 lda lin1 sta adr_fil+1 lda buff sta adr_buf+1 rtsdir dta c'D1:*.*',b(eol)h_dir dta a(0)plikow dta b(1)act_fil dta b(1)adr_fil dta a(0)adr_buf dta a(0)P_DIR equ * ldx #ch1 lda io_l,x sta h_dir lda io_l+1,x sta h_dir+1 jsr closepd0 lda lin1 sta a0+1 lda buff adc h_dir+1 sta a1+1 lda a1 sec sbc #18 sta a1 lda a1+1 sbc #0 sta a1+1 lda adr_buf sta b0 lda adr_buf+1 sta b1 ldx #0 ldy #0pd lda b0 cmp a1 bne pd1 lda b1 cmp a1+1 bne pd1al_lin equ * stx len+1 ldy #0all lda (a1),y jsr ascint sta lin_k+16,y iny cpy #4 bne allps_ lda lin1 sta adr+1ps1_ ldx #1 dex stx lenal1 lda lenps2_ cmp #19 bne *+3 rts lsr @ lsr @ lsr @ tay lda len and #7 tax lda msk,x and mapa,y bne al2 lda #0 tay sta (adr),y jmp za0al2 lda #'^'-32 ldy #0 sta (adr),yza0 lda adr clc adc #o_lini sta adr lda adr+1 adc #0 sta adr+1 inc len jmp al1pd1 cpx #19 bcs pd3pd2 lda (b0),y jsr ascint sta (a0),y iny cpy #18 bne pd2pd3 inx lda b0 clc adc #19 sta b0 lda b1 adc #0 sta b1 lda a0 adc #o_linii sta a0 lda a0+1 adc #0 sta a0+1 jmp pd-2ascint asl @ php cmp #192 bcs a__ sbc #63 bcs a__ adc #192a__ plp ror @ rtsclr lda lin1 sta a0+1 ldx #0 ldy #0 tyac sta (a0),y iny cpy #21 bne c lda a0 clc adc #o_lini sta a0 bcc *+4 inc a0+1 inx cpx #19 bne c-3 lda buff sta a0+1 ldx #0 ldy #0 lda #' 'c1 sta (a0),y iny bne c1 inc a0+1 inx cpx #5 bne c1 lda #0 ldx #7 sta mapa,x dex bpl *-4 sta fset rtsCIO EQU *ciov equ $e456bell equ $f556 JSR CIOV sty b0 bmi errok_c ldy #1 sty b0 jmp p_stterr cpy #136 beq ok_c jsr bellp_stt lda #0 sta st sta st+1 ldy b0 tya pha beq cvnps sed lda st clc adc #1 sta st lda st+1 adc #0 sta st+1 cld dey beq cvn bne psst dta a(0)cvn lda st jsr cvn1 lda b0 sta stat+3 lda b1 sta stat+2 lda st+1 jsr cvn1 lda b0 sta stat+1 lda b1 sta stat pla rtscvn1 pha and #15 clc adc #16 sta b0 pla lsr @ lsr @ lsr @ lsr @ and #15 clc adc #16 sta b1 rtsN_EKR DTA C'E:',B(EOL)N_DSK DTA C'D1:'N_SPC ORG *+80s_col equ * sta $2c8 sta $2c6 stx $2c5 rtsint_scr lda #2 sta aa+9 sta aa+13 lda SCREN sta A0+1 lda M_S sta A1 lda M_S+1 sta A1+1 ldx #24 ldy #40IS lda (A0),Y sta (A1),Y dey bpl IS lda A0 clc adc #40 sta A0 bcc *+4 inc A0+1 lda A1 clc adc #40 sta A1 bcc *+4 inc A1+1 dex bne IS-2 rtss_nam equ * jsr int_scr lda #0 sta 82 jsr $f440 ldx n_dsk rts jmp $c642g_key jmp $f2fd**MAIN EQU * jsr clr jsr g_dir jsr p_dir ldx len+1 stx plikowloop equ * jsr p_crs jsr s_nam lda #0 ldx #12 jsr s_col lda #$22 sta $22f lda $d40b bne *-3 lda dli sta $201 lda #$c0 sta $d40e lda $2e5 sec sbc end sta m_len+1 jsr get_com lda b0 cmp #$1b beq *+5 jmp loopof_scr lda #2 ldx #4 jsr s_colof_pm lda #0 sta $d000 sta $d001 sta $d002 sta $d003 sta $d004 sta $d005 sta $d006 sta $d007 lda #$40 sta $d40e rtstab_key equ * dta c'ABCDEFGHIJKLMNO 'tab_adr equ * dta a(load_),a(renam),a(del),a(lock_),a(unlock) dta a(copy),a(format),a(init),a(writt),a(ram) dta a(save),a(readd),a(edit),a(memlo),a(dest) dta a(set_F)get_com equ * jsr g_key sta b0 and #$7f cmp #$39 bcs _g cmp #$31 bcs d_dir_g ldy plikow beq _G1 cmp #$3d bne *+5 jmp crs_dw cmp #$2d bne *+5 jmp crs_up_g1 ldx #0sher cmp tab_key,x beq jest inx cpx #16 bne sherexg rtsjest txa asl @ tax lda tab_adr,x sta wskocz+1 lda tab_adr+1,x sta wskocz+2wskocz jmp *d_dir equ * sta dir+1 sta n_dsk+1 sec sbc #32 sta lin0+13 pla pla jmp mainp_crs lda adr_fil sta b0 sec sbc #o_lini sta a0 lda adr_fil+1 sta b1 sbc #0 sta a0+1 lda adr_fil clc adc #o_lini sta a1 lda adr_fil+1 adc #0 sta a1+1 ldy #0pc lda (a0),y and #$7f sta (a0),y lda (a1),y and #$7f sta (a1),y lda (b0),y ora #$80 sta (b0),y iny cpy #21 bne pc lda adr_fil sta a0 lda adr_fil+1 sta a0+1 ldx #0 ldy #4pc1 lda (a0),y and #$7f beq pc2 jsr ascint jsr ascint sta n_spc,x inx iny cpy #12 bne pc1pc2 lda #'.' sta n_spc,x inx ldy #12pc3 lda (a0),y and #$7f beq pc4 jsr ascint jsr ascint sta n_spc,x inx iny cpy #15 bne pc3pc4 lda #$9b sta n_spc,x rtscrs_dw equ * lda act_fil cmp plikow bne *+4 sec rts lda xp cmp #19 bmi cd lda adr_buf clc adc #19 sta adr_buf lda adr_buf+1 adc #0 sta adr_buf+1 inc act_fil inc ps1_+1 inc ps2_+1 jmp pd0cd lda adr_fil clc adc #o_lini sta adr_fil bcc *+5 inc adr_fil+1 inc act_fil inc xpec rtsxp dta b(1)crs_up equ * lda xp cmp #1 bne cu lda adr_buf cmp buff beq ecup lda adr_buf sec sbc #19 sta adr_buf lda adr_buf+1 sbc #0 sta adr_buf+1 dec act_fil dec ps1_+1 dec ps2_+1 jmp pd0cu lda adr_fil sec sbc #o_lini sta adr_fil bcs *+5 dec adr_fil+1 dec act_fil dec xp rts*specl ldx #ch1 sta io_c,x lda n_dsk sta io_a+1,x jsr cio jsr int_scr rtsp_rmk lda m_s clc adc <360 sta a0 lda m_s+1 adc >360 sta a0+1 ldy #0 ldx #0r lda ramkar,y sta (a0),y iny cpy #160 bne r lda m_s clc adc <441 sta a0 lda m_s+1 adc >441 sta a0+1 lda $d40b bne *-3 lda #$82 sta aa+9 sta aa+13 rtsp_nrmk equ * sta a0 sty a0+1 stx b0 ldy #0pnr lda (a0),y cmp #eol beq pnr1 sta ramkar,x inx iny bne pnrpnr1 lda #''+64 sta ramkar,x inx iny cpx #39 bne pnr1+2 ldx #1pnr2 sta ramkar,x inx cpx b0 bne pnr2 rtsload_ equ * jsr $f420 jsr of_scr ldx #ch1 jsr close lda #inru sta io_1,x lda #load jsr specl rtsn_ren dta d'Šź',b(eol)renam equ * lda n_ren ldx #13 jsr p_nrmk jsr p_rmk ldy #0r1 lda n_dsk,y cmp #eol beq r2 jsr ascint sta (a0),y iny bne r1r2 lda #',' sta n_dsk,y jsr ascint sta (a0),y sty b1 iny lda #$80 sta (a0),y deyr3 sty b0 jsr g_key ldy b0 cmp #eol bne *+5 jmp r4 cmp #$7e bne *+5 jmp r5 cmp #$1b bne *+3 rts cpy #39 beq r3 iny sta n_dsk,y jsr ascint sta (a0),y lda #$80 iny sta (a0),y dey jmp r3r4 iny sta n_dsk,y ldx #ch1 jsr close lda #renm jsr specl rtsr5 cpy b1 bne *+5 jmp r3 iny lda #' '-32 sta (a0),y dey lda #' ' sta n_dsk,y lda #$80 sta (a0),y dey bne r3ramkar DTA d'' DTA d' ' DTA d' ' DTA d'àԠ'del equ * ldx #ch1 jsr close lda #delt jmp ssfillock_ equ * ldx #ch1 jsr close lda #lock jmp ssfilunlock equ * ldx #ch1 jsr close lda #unlc jmp ssfilsscom dta b(0)ssfil sta sscom jsr of_scr lda fset beq l2 jsr spr_setl1 jsr spr_fil bcs ex1 jsr l2 bpl l1ex1 lda #0 rtsl2 lda sscom cmp #'' beq *+5 cmp #delt bne ss_ jsr bell jsr g_key cmp #$1b beq ex1 lda sscomss_ jmp specl jmp copn_frm dta d'Ԡˠ',b(eol)i_frm dta d' 'frm lda n_dsk sta io_a+1,x lda #form  sta io_c,x jsr cio bpl *+3 rts jsr g_dir jmp p_dirformat equ * lda n_frm ldx #12 jsr p_nrmk jsr p_rmk ldy #0_i lda i_frm,y sta (a0),y iny cpy #39 bne _if jsr g_key cmp #$1b bne *+3 rts ldx #ch1 cmp #'C' beq _clr cmp  #'M' beq med cmp #'D' beq dbl cmp #'S' beq sgn cmp #'K' bne f rts_clr lda #$80 sta io_2,x lda #0 sta io_1,x jmp frmmed lda #1 sta io_1,x and #0 sta io_2,x jmp frmdbl lda perd jsr pper jmp _fsgn lda pers jsr pper_f lda #$21 sta $302 jsr $e453 bpl *+5 jmp p_stt-3 jsr g_dir ldx #ch1 jmp _clrreadd ldx #ch1 jsr close lda #onre sta io_1,x lda #load jmp specln_des dta c'8'dest ldx n_des cpx #$38 beq d1 inxd stx n_des txa jsr ascint sta li nd+36 rtsd1 ldx #$31 bne dmemlo lda lind-2 cmp #'F'-32 beq onm ldx <$1f00 ldy >$1f00 stx $2e7 sty $2e8 lda #'F'-32 sta lind-2 rtsonm ldx end stx $2e7 sty $2e8 lda #'N'-32 sta lind-2 rtscopy equ * lda #'' sta sscom jmp  ssfilm_len dta a(0)flg_cal dta b(1)n_cop dta d'',b(eol)i_cop dta d' Inster destination and hit a key! 'p_dsti lda n_cop ldx #11 jsr p_nrmk jsr p_rmk ldy #0__j lda i_cop,y sta (a0),y iny cpy #39 bne __j jmp g_keyp_sour lda n_cop ldx #11 jsr p_nrmk jsr p_rmk ldy #0_j lda i_cop,y sta (a0),y iny cpy #8 bne _j_j1 lda i_sor,y sta (a0),y iny cpy #19 bne _j1_j2 lda i_cop,y sta (a0),y iny cpy #39 bne _j2 jmp g_keycop ldx #ch1 jsr close sec ldx #ch1 lda n_dsk jsr open_ bmi excopw_cop lda n_dsk+1 cmp n_des bne *+5 jsr p_sour clc ldx #ch1 lda m_len sta len lda m_len sta len+1 lda end jsr read pha ldx #ch1 lda io_l,x sta len lda io_l+1,x sta len+1 pla cmp #136 beq nie_caly lda flg_cal beq nie_calycaly lda n_dsk+1 sta hh+1 cmp n_des bne *+5 jsr p_dstihh lda #$ff sta flg_cal ldx #ch1 jsr close pha lda n_des sta n_dsk+1 ldx #ch1 clc lda n_dsk jsr open_ bmi excop ldx #ch1 clc lda end jsr writexcop lda n_dsk+1 sta n_des pla sta n_dsk+1 lda #1 sta flg_cal ldx #ch1 jsr close ldx #ch2 jmp closenie_caly lda #0 sta flg_cal lda n_dsk sta hh1+1 cmp n_des bne *+5 jsr p_dstihh1 lda #$ff pha lda n_des sta n_dsk+1 ldx #ch2 clc lda n_dsk jsr open_ bmi excop ldx #ch2 clc lda end jsr writ bmi excop ldx #ch1 jmp w_copedit ldx #ch1 jsr close sec lda n_dsk jsr open_ bmi ex jsr of_pmed jsr $f420 ldx #ch1 lda <250 ldy >250 sta len sty len+1 clc lda end jsr read bmi ex ldx #ch0 clc lda <250 ldy >250 sta len sty len+1 lda end jsr writ bmi ex jsr g_key cmp #$1b beq ex ldx #ch1 lda io_s,x cmp #136 bne edex lda #0 sta b0 rtsinit equ * rtsn_ram dta d'',b(eol)i_ram1 dta d' -128kB -192kB -256kB -320kB -1Mb 'ram lda n_ram ldx #11 jsr p_nrmk jsr p_rmk ldy #0__i lda i_ram1,y sta (a0),y iny cpy #39 bne __iwkr jsr g_key cmp #$1b bne *+3 rts cmp #'1' beq _11 cmp #'2' beq _22 cmp #'3' bne wkr lda #12 bne nra_22 lda #8 bne nra_11 lda #4 bne nranra sta $c3a lda #1 sta $c0d sta $c19 sta $c4c lda #$d3 sta $c0e sta $c1a sta $c4d lda #0 sta $c10 lda #8 sta $70a lda n_dsk+1 pha lda #'8' sta n_dsk+1 ldx #ch1 jsr med pla sta n_dsk+1 rtsfset dta b(0)set_F equ * ldx act_fil dex txa lsr @ lsr @ lsr @ tay txa and #7 tax lda mapa,y and msk,x bne ofon lda mapa,y ora msk,x sta mapa,y inc fset jsr ps_ jmp int_scrof lda msk,x eor #$ff and mapa,y sta mapa,y dec fset jsr ps_ jmp int_scrmapa dta d' 'msk equ * dta b(%10000000) dta b(%1000000) dta b(%100000) dta b(%10000) dta b(%1000) dta b(%100) dta b(%10) dta b(%1)save equ * rtswritt equ * lda <$700 sta $304 lda >$700 sta $305 lda #1 sta $30a lda #0 sta $30bboot_w lda #$50 sta $302 lda #$80 sta $303 jsr $e453 bpl *+5 jmp p_stt-3 lda $304 clc adc #128 sta $304 lda $305 adc #0 sta $305 inc $30a lda $30a cmp #4 bne boot_w lda n_dsk+1 sta n_dos+1 ldx #ch1 jsr close clc lda n_dos ldx #ch1 jsr open_ bpl *+3 rts ldx #ch1 jmp closen_dos dta c'D1:DOS.SYS',b($9b)spr_set lda adr_fil sta a0 lda adr_fil+1 sta a0+1 ldy #20k lda (a0),y and #$7f sta (a0),y dey bne k jsr s_bgn jsr pd0 ldx len+1 stx plikow rtsspr_fil jsr p_crs jsr s_nam jsr int_scr lda adr_fil sta a0 lda adr_fil+1 sta a0+1 ldy #0 lda (a0),y and #$7f cmp #'^'-32 bne sf1 tya sta (a0),y jsr crs_dw clc rtssf1 jsr crs_dw lda act_fil cmp plikow bne spr_fil sec rtspper sta $304 sty $305 lda n_dsk+1 sta $300 and #$f sta $301 lda #$80 sta $303 lda #$4f sta $302 lda#ta c'' dta c'ww>>' dta c'<~~~<>' dta c'>x`x`~' dta c'<~~<0~0 ~ ' dta c'<~~<~~f~``~ff~|```|' dta c'!~ff~~f~`~>~ff~~' dta c'``~fff8<>``lxlf' dta c'8<fkc~ffff~fff~' dta c'~ff~``~ff~~f```~`~~' dta c'~ffff~fff<ck>6' dta c'f<N_EKR jsr OPN_ lda m_s sta aa lda m_s+1 sta aa+1 jsr w_vbl lda $230 sta o_ant lda ant sta $231 lda $200 sta o_dli lda dli sta $201 lda $d20a and #$f0 clc adc #2 sta bc jsr w_vbl lda $d20a and #$f0 adc #2 sta bc+1 jmp MAINbc dta a(0)dli equ * cl! d pha lda bc sta $d012 sta $d013 sta $d014 lda bc+1 sta $d015 sta $d019 sta $d40a lda #51 sta $d000 clc adc #31 sta $d001 adc #23 sta $d002 lda #140 sta $d003 adc #32 sta $d004 adc #8 sta $d005 adc #8 sta $d006 adc #8 sta $d007!! lda $22f ora #%00011100 sta $d400 lda #%00010001 sta $d01b lda #$ff sta $d00d sta $d00e sta $d00f sta $d010 sta $d011 lda #3 sta $d008 sta $d009 sta $d00a sta $d00b lda #$ff sta $d00c lda dl1 sta $201 pla rti!"dl1 cld pha lda #0 sta $d000 sta $d001 sta $d002 sta $d003 sta $d004 sta $d005 sta $d006 sta $d007 lda dli sta $201 pla rtiant dta c'ppp',b($42)aa dta a($ffff),d'"""""""""""""""""""""',b($40) dta b($41),a(ant)SCR!% #12 sta $308 sta $306 lda #0 sta $309 sta $30b jmp $e459perd dta b($28),b(1),b(00),b($12) dta b(0),b(4),b(1),b(0) dta b($FF),b(0),b(0),b(0)pers dta b($28),b(1),b(00),b($12) dta b(0),b(0),b(0),b(128) dta b(0),b(0),b(0),b(0)end equ * brk o$rg $2e2 dta a(prog) end . #0 sta $309 sta $30b jmp $e459perd dta b($28),b(1),b(00),b($12) dta b(0),b(4),b(1),b(0) dta b($FF),b(0),b(0),b(0)pers dta b($28),b(1),b(00),b($12) dta b(0),b(0),b(0),b(128) dta b(0),b(0),b(0),b(0)end equ * brk oEN EQU * DTA d'|ΠҠĮ̠|'lin0 equ * DTA d'DirofD1:*.*Commands:'lin1 equ * DTA d'|^ * FILENAMEEXE 0010 | |' DTA d'|^ * FILENAMEEXE 0010 |1,2..,8 DIR *.* |' DTA d'|^ * FILENAMEEXE 00!&10 |A.^Load files |' DTA d'|^ * FILENAMEEXE 0010 |B.^Rename files |' DTA d'|^ * FILENAMEEXE 0010 |C.^Delete files |' DTA d'|^ * FILENAMEEXE 0010 |D.^Lock files |' DTA d'|^ * FILENAMEEXE 0010 |E.^Unlock files |' DTA d'|^ * FILENAMEEXE 0010 |F ^C!'opy files |' DTA d'|^ * FILENAMEEXE 0010 |G.^Format disk |' DTA d'|^ * FILENAMEEXE 0010 |H. |' DTA d'|^ * FILENAMEEXE 0010 |I.^Save DOS |' DTA d'|^ * FILENAMEEXE 0010 |J.^Ramdisk set |' DTA d'|^ * FILENAMEEXE 0010 |K. !( |' DTA d'|^ * FILENAMEEXE 0010 |L.^Memory load |' DTA d'|^ * FILENAMEEXE 0010 |M.^Edit files |' DTA d'|^ * FILENAMEEXE 0010 |N.^Memprotekt:ON|'lind equ * DTA d'|^ * FILENAMEEXE 0010 |O.^Destiny= D8: |' DTA d'|^ * FILENAMEEXE 0010 | set!) flag |' DTA d'|^ * FILENAMEEXE 0010 | |' DTA d''lin_k equ * DTA d'|> FREE SECTORS:0110 <|* STATUS: 0001 *|'stat equ *-7 DTA d''BUFF equ * org *+1300!**ɯϠLEN equ $F6ADR equ $F8M_S equ $58EOL equ $9BCH0 equ 00CH1 equ 16CH2 equ 32CH3 equ 48CH4 equ 64* IOCB equ $340IO_C equ $342IO_S equ $343IO_A equ $344 2IO_L equ $348 2IO_1 equ $34AIO_2 equ $34B*Ӡ͛OPEN equ 3GE!+TR equ 5GETB equ 7PUTR equ 9PUTB equ 11CLOS equ 12GETS equ 13RENM equ 32DELT equ 33LOCK equ 35UNLC equ 36LOAD equ 39INRU equ 4 ;Ϡ߱ONRU equ 5ONIN equ 6ONRE equ 7FORM equ 254CLOSE EQU *ؽ lda #CLOS sta IO_C,X jmp CIOVOPEN!,_ EQU *ý|ý|ؽ|㠛ٽ㠛 pha lda #8 כ bcc *+4 lda #4 қ sta IO_1,X plaOPN_ sta IO_A,X tya sta IO_A+1,X lda #%100 ٭Ӡ sta IO_2,X lda #OPEN sta IO_C,X jmp CIOREAD EQU *ý|ý|ؽ|!-|ٽν sta IO_A,X tya sta IO_A+1,X lda LEN sta IO_L,X lda LEN+1 sta IO_L+1,X lda #GETB bcc *+4 lda #GETR sta IO_C,X jmp CIOWRIT EQU *ý|ý|ؽ||ٽν sta IO_A,X tya sta IO_A!.+1,X lda LEN sta IO_L,X lda LEN+1 sta IO_L+1,X lda #PUTB bcc *+4 lda #PUTR sta IO_C,X jmp CIOG_DIR equ * ldx #ch1 jsr close ldx #ch1 lda #open sta io_c,x lda #6 sta io_1,x lda #0 sta h_dir sta h_dir+1 sta io_2,x jsr s_bgn lda dir sta io_a+1,x jsr cio bpl *+3 rts lda buff sta a0+1 ldx #ch1 lda <1280 sta io_l,x lda >1280 sta io_l+1,x lda buff sta io_a+1,x lda #getb sta io_c,x jmp cios_bgn lda #1 !0sta ps1_+1 sta plikow sta act_fil sta xp lda #19 sta ps2_+1 lda lin1 sta adr_fil+1 lda buff sta adr_buf+1 rtsdir dta c'D1:*.*',b(eol)h_dir dta a(0)plikow dta b(1)act_fil dta b(1)adr_fil !1dta a(0)adr_buf dta a(0)P_DIR equ * ldx #ch1 lda io_l,x sta h_dir lda io_l+1,x sta h_dir+1 jsr closepd0 lda lin1 sta a0+1 lda buff adc h_dir+1 sta a1+1 lda a1 sec sbc #18 sta a1!2 lda a1+1 sbc #0 sta a1+1 lda adr_buf sta b0 lda adr_buf+1 sta b1 ldx #0 ldy #0pd lda b0 cmp a1 bne pd1 lda b1 cmp a1+1 bne pd1al_lin equ * stx len+1 ldy #0all lda (a1),y jsr ascint sta lin_k+16,y iny cpy #4 bne allps_ lda lin1 sta adr+1ps1_ ldx #1 dex stx lenal1 lda lenps2_ cmp #19 bne *+3 rts lsr @ lsr @ lsr @ tay lda len and #7 tax lda msk,x and mapa,y bne al2 lda #0 tay sta (adr),y jmp za0al2 lda #'^'-32 ldy #0 sta (adr),yza!40 lda adr clc adc #o_lini sta adr lda adr+1 adc #0 sta adr+1 inc len jmp al1pd1 cpx #19 bcs pd3pd2 lda (b0),y jsr ascint sta (a0),y iny cpy #18 bne pd2pd3 inx lda b0 clc adc #19 sta b0 lda b1 adc #0 sta b1 lda a0 adc #o_linii !5sta a0 lda a0+1 adc #0 sta a0+1 jmp pd-2ascint asl @ php cmp #192 bcs a__ sbc #63 bcs a__ adc #192a__ plp ror @ rtsclr lda lin1 sta a0+1 ldx #0 ldy #0 tyac sta (a0),y iny cpy #21 bne c lda a0 clc adc #o_li!6ni sta a0 bcc *+4 inc a0+1 inx cpx #19 bne c-3 lda buff sta a0+1 ldx #0 ldy #0 lda #' 'c1 sta (a0),y iny bne c1 inc a0+1 inx cpx #5 bne c1 lda #0 ldx #7 sta mapa,x dex bpl *-4 sta fset rtsCIO EQU *!7ciov equ $e456bell equ $f556 JSR CIOV sty b0 bmi errok_c ldy #1 sty b0 jmp p_stterr cpy #136 beq ok_c jsr bellp_stt lda #0 sta st sta st+1 ldy b0 tya pha beq cvnps sed lda st clc adc #1 sta st lda st+1 adc #0 sta st+1 cld dey!8 beq cvn bne psst dta a(0)cvn lda st jsr cvn1 lda b0 sta stat+3 lda b1 sta stat+2 lda st+1 jsr cvn1 lda b0 sta stat+1 lda b1 sta stat pla rtscvn1 pha and #15 clc adc #16 sta b0 pla lsr @ lsr @ lsr @ lsr @ and #15 clc adc #1!96 sta b1 rtsN_EKR DTA C'E:',B(EOL)N_DSK DTA C'D1:'N_SPC ORG *+80s_col equ * sta $2c8 sta $2c6 stx $2c5w_vbl lda $d40b bne *-3 rtsint_scr lda #2 sta aa+9 sta aa+13 lda SCREN sta A0+1 lda M_S sta A1 lda M_S+1 sta!: A1+1 ldx #24 ldy #40IS lda (A0),Y sta (A1),Y dey bpl IS lda A0 clc adc #40 sta A0 bcc *+4 inc A0+1 lda A1 clc adc #40 sta A1 bcc *+4 inc A1+1 dex bne IS-2 rtss_nam equ * rts jsr int_scr lda #0 sta 82 jsr $f440 ldx n_dsk jmp $c642g_key jmp $f2fd**MAIN EQU * jsr clr jsr g_dir jsr p_dir ldx len+1 stx plikowloop equ * jsr p_crs jsr int_scr lda #0 ldx #12 jsr s_col jsr w_vbl lda dli sta $201 lda #$c0 sta $d40e lda!< $2e5 sec sbc end sta m_len+1 jsr get_com lda b0 cmp #$1b beq *+5 jmp loop jmp $e477of_scr txa pha lda #2 ldx #4 jsr s_col pla taxof_pm stx o2_+1 ldx #7 lda #0of1 sta $d000,x dex bpl of1 ldx #3of2 !=sta $d012 dex bpl of2 sta $d019 lda #$40 sta $d40eo2_ ldx #0 rtstab_key equ * dta c'ABCDEFGHIJKLMNO 'tab_adr equ * dta a(load_),a(renam),a(del),a(lock_),a(unlock) dta a(copy),a(format),a(init),a(writt),a(ram) dta a(save),a(readd),a(edit),a(!>memlo),a(dest) dta a(set_F)get_com equ * jsr g_key sta b0 and #$7f cmp #$39 bcs _c1 cmp #$31 bcs d_dir cmp #43 bne _c1 pha lda bc clc adc #$10 sta bc pla_c1 cmp #42 bne _g pha lda bc+1 clc adc #$10 sta bc+1 pla_g ldy plikow be!?q _G1 cmp #$3d bne *+5 jmp crs_dw cmp #$2d bne *+5 jmp crs_up_g1 ldx #0sher cmp tab_key,x beq jest inx cpx #16 bne sherexg rtsjest txa asl @ tax lda tab_adr,x sta wskocz+1 lda tab_adr+1,x sta wskocz+2wskocz jsr * lda $303 bpl *+3!@ rts pla pla jmp maind_dir equ * sta dir+1 sta n_dsk+1 sec sbc #32 sta lin0+13 pla pla jmp mainp_crs lda adr_fil sta b0 sec sbc #o_lini sta a0 lda adr_fil+1 sta b1 sbc #0 sta a0+1 lda adr_fil clc adc #o_lini sta a1 lda adr_fil+!A1 adc #0 sta a1+1 ldy #0pc lda (a0),y and #$7f sta (a0),y lda (a1),y and #$7f sta (a1),y lda (b0),y ora #$80 sta (b0),y iny cpy #21 bne pc lda adr_fil sta a0 lda adr_fil+1 sta a0+1 ldx #0 ldy #4pc1 lda (a0),y and #$7f beq pc2 js!Br ascint jsr ascint sta n_spc,x inx iny cpy #12 bne pc1pc2 lda #'.' sta n_spc,x inx ldy #12pc3 lda (a0),y and #$7f beq pc4 jsr ascint jsr ascint sta n_spc,x inx iny cpy #15 bne pc3pc4 lda #$9b sta n_spc,x rtscrs_dw equ * lda ac!Ct_fil cmp plikow bne *+4 sec rts lda xp cmp #19 bmi cd lda adr_buf clc adc #19 sta adr_buf lda adr_buf+1 adc #0 sta adr_buf+1 inc act_fil inc ps1_+1 inc ps2_+1 jmp pd0cd lda adr_fil clc adc #o_lini sta adr_fil bcc *+5 inc adr_fil!D+1 inc act_fil inc xpec rtsxp dta b(1)crs_up equ * lda xp cmp #1 bne cu lda adr_buf cmp buff beq ecup lda adr_buf sec sbc #19 sta adr_buf lda adr_buf+1 sbc #0 sta adr_buf+1 dec act_fil dec ps1_+1 d!Eec ps2_+1 jmp pd0cu lda adr_fil sec sbc #o_lini sta adr_fil bcs *+5 dec adr_fil+1 dec act_fil dec xp rts*specl ldx #ch1 sta io_c,x lda n_dsk sta io_a+1,x jsr cio bpl *+5 jmp int_scr rtsp_rmk lda m_s !Fclc adc <360 sta a0 lda m_s+1 adc >360 sta a0+1 ldy #0 ldx #0r lda ramkar,y sta (a0),y iny cpy #160 bne r lda m_s clc adc <441 sta a0 lda m_s+1 adc >441 sta a0+1 jsr w_vbl lda #$82 sta aa+9 sta aa+13 rtsp_nrmk equ * sta a0 sty!G a0+1 stx b0 ldy #0pnr lda (a0),y cmp #eol beq pnr1 sta ramkar,x inx iny bne pnrpnr1 lda #''+64 sta ramkar,x inx iny cpx #39 bne pnr1+2 ldx #1pnr2 sta ramkar,x inx cpx b0 bne pnr2 rtso_dli dta a(0)o_ant dta a(0)load_ equ * jsr !H$f420 jsr of_scr lda o_ant sta $230 lda o_ant+1 sta $231 lda o_dli sta $200 lda o_dli+1 sta $201 lda #$ff sta $d301 ldx #ch1 jsr close lda #inru sta io_1,x lda #load jsr specl jmp progn_ren dta d'Šź',b(eol)renam equ * ld!Ia n_ren ldx #13 jsr p_nrmk jsr p_rmk ldy #0r1 lda n_dsk,y cmp #eol beq r2 jsr ascint sta (a0),y iny bne r1r2 lda #',' sta n_dsk,y jsr ascint sta (a0),y sty b1 iny lda #$80 sta (a0),y deyr3 sty b0 jsr g_key ldy b0 cmp!J #eol bne *+5 jmp r4 cmp #$7e bne *+5 jmp r5 cmp #$1b bne *+3 rts cpy #39 beq r3 iny sta n_dsk,y jsr ascint sta (a0),y lda #$80 iny sta (a0),y dey jmp r3r4 iny sta n_dsk,y ldx #ch1 jsr close lda #renm jsr specl rtsr5 cpy b1 b!Kne *+5 jmp r3 iny lda #' '-32 sta (a0),y dey lda #' ' sta n_dsk,y lda #$80 sta (a0),y dey bne r3ramkar DTA d'' DTA d' ' DTA d' !L ' DTA d'àԠ'del equ * ldx #ch1 jsr close lda #delt jmp ssfillock_ equ * ldx #ch1 jsr close lda #lock jmp ssfilunlock equ * ldx #ch1 jsr close lda #unlc jmp ssfilsscom dta b(0)ssfil sta sscom!M jsr of_scr lda fset beq l2 jsr spr_setl1 jsr spr_fil bcs ex1 jsr l2 bpl l1ex1 lda #0 rtsl2 lda sscom cmp #'' beq ss_+3 cmp #delt bne ss_ jsr bell jsr g_key cmp #$1b beq ex1 lda sscomss_ jmp specl jmp copn_frm dta d'Ԡˠ!N',b(eol)i_frm dta d' 'frm lda n_dsk sta io_a+1,x lda #form sta io_c,x jsr cio bpl *+3 rts jsr g_dir jmp p_dirformat equ * lda n_frm ldx #12 jsr p_nrmk jsr p_rmk!O ldy #0_i lda i_frm,y sta (a0),y iny cpy #39 bne _if jsr g_key cmp #$1b bne *+3 rts sta f1+1 lda dir+1 cmp #'8' bne *+5 jmp ramf1 lda #0 ldx #ch1 cmp #'C' beq _clr cmp #'M' beq med cmp #'D' beq dbl cmp #'S' beq sgn cmp #'K' bne!P f rts_clr lda #$80 sta io_2,x lda #0 sta io_1,x jmp frmmed jsr g_key cmp #$1b bne *+3 rts ldx #ch1 lda #1 sta io_1,x and #0 sta io_2,x jmp frmdbl lda perd jsr pper jmp _fsgn lda pers jsr pper_f jsr g_key c!Qmp #$1b bne *+3 rts lda #$21 com sta $302 lda #$ff tim sta $307 sta $306 lda <$400 buf sta $304 lda >$400 sta $305 lda #$40 kier sta $303 jsr $e459 bpl *+5 jmp p_stt-3 jsr g_dir ldx #ch1 jmp _clrreadd ldx #ch1 jsr close lda #onre!R sta io_1,x lda #load jmp specln_des dta c'8'dest ldx #$81 stx $303 ldx n_des cpx #$38 beq d1 inxd stx n_des txa jsr ascint sta lind+36 rtsd1 ldx #$31 bne dmemlo lda #$81 sta $303 lda lind-2 cmp #'F'-32 beq onm ldx <$1f00 ldy >$1f!S00 stx $2e7 sty $2e8 lda #'F'-32 sta lind-2 rtsonm ldx end stx $2e7 sty $2e8 lda #'N'-32 sta lind-2 rtscopy equ * lda #'' sta sscom jmp ssfilm_len dta a(0)flg_cal dta b(1)n_cop dta d'',b(eol)i_cop dta !Td' Inster destination and hit a key! 'p_dsti stx o2+1 lda #2 ldx #15 jsr s_col lda n_cop ldx #11 jsr p_nrmk jsr p_rmk ldy #0__j lda i_cop,y sta (a0),y iny cpy #39 bne __j jsr g_key ldx #2 lda #4 jsr s_colo2 ldx #0 rt!Usi_sor dta d' sourace 'p_sour stx o1+1 lda #2 ldx #15 jsr s_col lda n_cop ldx #11 jsr p_nrmk jsr p_rmk ldy #0_j lda i_cop,y sta (a0),y iny cpy #8 bne _j ldx #0_j1 lda i_sor,x sta (a0),y inx iny cpy #19 bne _j1_j2 l!Vda i_cop,y sta (a0),y iny cpy #39 bne _j2 jsr g_key lda #2 ldx #4 jsr s_colo1 ldx #0 rtscop lda n_dsk+1 sta old+1 ldx #ch1 jsr close ldx #ch2 jsr close sec ldx #ch1 lda n_dsk jsr open_ bmi excopw_cop lda n_dsk+1 cmp n!W_des bne *+5 jsr p_sour clc ldx #ch1 lda m_len sta len lda m_len+1 sta len+1 lda end jsr read pha ldx #ch1 lda io_l,x sta len lda io_l+1,x sta len+1 pla cmp #136 beq nie_caly lda flg_cal beq nie_calycaly lda n_dsk+1 sta!X hh+1 cmp n_des bne *+5 jsr p_dstihh lda #$ff sta flg_cal ldx #ch1 jsr close lda n_des sta n_dsk+1 ldx #ch1 clc lda n_dsk jsr open_ bmi excop ldx #ch1 clc lda end jsr writexcop lda n_dsk+1 sta n_desold lda #$!Yff sta n_dsk+1 lda #1 sta flg_cal ldx #ch1 jsr close ldx #ch2 jmp closenie_caly lda #0 sta flg_cal lda n_dsk+1* sta hh1+1 cmp n_des bne *+5 jsr p_dsti*hh1 lda #$ff lda n_des sta n_dsk+1 ldx #ch2 clc lda n_dsk jsr open_!Z bmi excop ldx #ch2 clc lda end jsr writ bmi excop ldx #ch1 jmp w_copedit ldx #ch1 jsr close sec lda n_dsk jsr open_ bmi ex jsr of_pmed jsr $f420 ldx #ch1 lda <250 ldy >250 sta len sty len+1 clc lda end jsr read bmi ex ldx #ch0 clc lda <250 ldy >250 sta len sty len+1 lda end jsr writ bmi ex jsr g_key cmp #$1b beq ex ldx #ch1 lda io_s,x cmp #136 bne edex lda #0 sta b0 rtsinit equ * rtsn_ram dta d'!\',b(eol)i_ram1 dta d' -128kB -192kB -256kB -320kB -1Mb 'ram lda n_ram ldx #11 jsr p_nrmk jsr p_rmk ldy #0__i lda i_ram1,y sta (a0),y iny cpy #39 bne __iwkr jsr g_key cmp #$1b bne *+3 rts cmp #'1' beq _11 cmp #'2'!] beq _22 cmp #'3' bne wkr lda #12 bne nra_22 lda #8 bne nra_11 lda #4 bne nranra sta $c3a lda #1 sta $c0d sta $c19 sta $c4c lda #$d3 sta $c0e sta $c1a sta $c4d lda #0 sta $c10 lda #8 sta $70a lda n_dsk+1 pha lda dir+1 pha lda #!^'8' sta n_dsk+1 sta dir+1 ldx #ch1 jsr med pla sta dir+1 pla sta n_dsk+1 rtsfset dta b(0)set_F equ * lda #$81 sta $303 ldx act_fil dex txa lsr @ lsr @ lsr @ tay txa and #7 tax lda mapa,y and msk,x bne ofon lda mapa,y ora msk!_,x sta mapa,y inc fset jsr ps_ jmp int_scrof lda msk,x eor #$ff and mapa,y sta mapa,y dec fset jsr ps_ jmp int_scrmapa dta d' 'msk equ * dta b(%10000000) dta b(%1000000) dta b(%100000) dta b(%10000) dta b(%1000) dta b(%100) dt!`a b(%10) dta b(1)save equ * rtswritt equ * lda <$700 sta $304 lda >$700 sta $305 lda #1 sta $30a lda #0 sta $30bboot_w lda #$50 sta $302 lda #$80 sta $303 jsr $e453 bpl *+5 jmp p_stt-3 lda $304 clc adc #128 sta $304 lda $305 adc!a #0 sta $305 inc $30a lda $30a cmp #4 bne boot_w lda n_dsk+1 sta n_dos+1 ldx #ch1 jsr close clc lda n_dos ldx #ch1 jsr open_ bpl *+3 rts ldx #ch1 jmp closen_dos dta c'D1:DOS.SYS',b($9b)spr_set lda adr_fil sta a0 lda ad!n ЍЍЭo ЍЍ ԩ3iiЩi iiiЭ/ ԩЩ ЍЍЍЍЩЍ Ѝ Ѝ Щ Щ h@HЍЍЍЍЍЍЍЩp h@pppB@A!|።|ARRRR$irRofR$c  RRRRWR#ommandsRRRRRRD|> &),%.!-%%8%|||> &),%.!-%%8%|  $)2  ||> &),%.!-%%8%|!>,oadfiles||> &),%.!-%%8%|">2enamefiles||> &),%.!-%%8%|#>$eletefiles||> &),%.!-%%8%|$>,dockfiles||> &),%.!-%%8%|%>5nlockfiles||> &),%.!-%%8%|&>#opyfiles||> &),%.!-%%8%|'>&ormatdisk||> &),%.!-%%8%|(||> &),%.!-%%8%|)>3ave$/3||> &),%.!-%%8%|*>2amdiskset|e|> &),%.!-%%8%|+||> &),%.!-%%8%|,>-emoryload||> &),%.!-%%8%|->%ditfiles||> &),%.!-%%8%|.>-emprotekt/.||> &),%.!-%%8%|/>$estiny$||> &),%.!-%%8%|setflag||> &),%.!-%f%8%||ARRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRD|&2%%3%#4/23| 34!453 |ZRRRRRRRRRRRRRRRRRRRRRXRRRRRRRRRRRRRRRRC *, BLVHJhDEKBL',DEHIBL',DEHI  BL', *gBJ**K *D*E ',`$HID$EBL',c+**9/j+*!**$*`D1:*.*H*I* *!m*$m*8**\V +$󩊅!ʆ`JJwKbDOS SYSbqFONTY ASMb11AUTORUN SYSBQA SETb=cO ASMb=AUTORUN ASMDUP OBJB'DUP SYSBM,DUP ASM dta c'<<<fffffff' dta c'~`~~fl0fF68of;' dta c'p88pf<<0' dta c' 0 ~~`0 0`<ff~f||ff|<``f<' dta c'|fff|~x`f~~x```>`nf>' dta c'ff~fff~~f<f xxlf' dta c'```f~cwkccfv~~nf<fff<' dta c'|f|`s`<ffl6|f|lf~`~f~' dta c'~Zffff~ffff<ckwc' dta c'ff<<' dta c'<<<8pp8' dta c'?t' dta c'' dta c'ww>>' dta c'<~~~<>' dta c'>x`x`~' dta c'<~~<0~0 ~ ' dta c'<~~<~~f~``~uff~|```|' dta c'~ff~~f~`~>~ff~~' dta c'``~fff8<>``lxlf' dta c'8<fkc~ffff~fff~' dta c'~ff~``~ff~~f```~`~~' dta c'~ffff~fff<ck>6' dta c'f<``lxlf' dta c'8<fkc~ffff~fff~' dta c'~ff~``~ff~~f```~`~~' dta c'~ffff~fff<ck>6' dta c'f<i(iLg+ +iii(iL;+ ?i(j`!i($ 55` V0L<, Vb,c,Hb,ib,c,ic,؈b, ,x$$c, ,$$h`H)ihJJJJ)i`E:D1:,7 `%!)!9!XY(i(i(`` -R @,LBL + n* ** u. - , ,p ԭ8 37!3 -L`-LwH ,h-yЩ@Ԣ`ABCDEFGHIJKLMNO /@0g1q1{1325 6A5 624225 O-)91[+ Hn in h* Ho io h*=L.-L:/-` -W.-X. V.`hhLR-*,8 n!hhLR-*8(**i(*i)) *z*) + +, ., ) + +,멛,`**8`9/0*i**i**c+j+L +*i(***9/`9/+**$*8****c+j+L +*8(***9/`BD,E ',L-`XihYi0{XiYi ,%!)!`ɛ0R0'0` -/0/1//Ӣ *J' /L 10 / /,ɛ +,, +ȩ O-ɛL0~L0`'ș, +ȑLo0ș, * /|`Lo0ȩ ,ШZRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRCQRRRRRRRRRDARRRRRRRRRE *!L1 *#L1 *$L11 -5 u6 6 1`1!} V O-譅1L/L3D,EB ',` n*L*1 / /1' O-`?2*8LA5CMD-S3K`KJL1 O-`J)KL16 6L27 6 O-`!~@ YL9, n*LW2 *J'L/828 2 +-$`1񩁍$&&$`7.$`㍅1L1倛)nsterdestinationandhitakey3 ,#3 / /93' O- ,`sourace3 ,#3 / /93393' O- ,`,n4 * *8, *0j,2 3 3!37 4*HHIhɈS"3N,B42 `3"3 *2,, *0 7 Q*,2,"3 * L *"3,2 `32, , *0Ģ 7 Q*0L3 *8, *0> - 7 4*0$7 Q*0 O- CɈũ`` k" k" k" k" -b5 / /5' O-`123 :   L Ӎ  M   ,H*H8,* d2h*h,`*ʊJJJ)5=65655 Z+L-6I955κ5 Z+L-@ `  P SL9,ii  ӭ,k6 *j6 *`L *D1:DOS.SYS**) * +*` u. =r_fil+1 sta a0+1 ldy #20k lda (a0),y and #$7f sta (a0),y dey bne k jsr s_bgn jsr pd0 ldx len+1 stx plikow rtsspr_fil jsr p_crs jsr s_nam jsr int_scr lda adr_fil sta a0 lda adr_fil+1 sta a0+1 ldy #0 lda (a0),y and #$7f cmp #'^'-32!- -**)> .` .**8`*)O   LY((  P SL9,ii  ӭ,k6 *j6 *`L *D1:DOS.SYS**) * +*` u. =z bne sf1 tya sta (a0),y jsr crs_dw clc rtssf1 jsr crs_dw lda act_fil cmp plikow bne spr_fil sec rtspper sta $304 sty $305 lda dir+1 sta $300 and #$f sta $301str lda #$80 sta $303pcom lda #$4f sta $302 lda #12 sta $308 sta $306 l!da #0 sta $309 sta $30b jmp $e459perd dta b($28),b(1),b(00),b($12) dta b(0),b(4),b(1),b(0) dta b($ff),b(0),b(0),b(0)pers dta b($28),b(1),b(00),b($12) dta b(0),b(0),b(0),b(128) dta b(0),b(0),b(0),b(0)end equ * brk org $2e2 dta a(prog) end ww>><~~~<>>x`x`~<~~<0~0 ~ <~~<~~f~``~ff~|```|~ff~~f~`~>~ff~~``~fff8<>``lxlf8<fkc~ffff~fff~~ff~``~ff~~f```~`~~~ffff~fff<ck>6f< &),%.!-%%8%|||> &),%.!-%%8%|||> &),%.!-%%8%|  $)2  ||> &),%.!-%%8%|!>,oadfiles||> &),%.!-%%8%|">2enamefiles||> &),%.!-%%8%|#>$eletefiles||> &),%.!-%%8%|$>,ockfiles||> &),%.!-%%8%|%>5nlockfiles||> &),%.!-%%8%|&>#opyfiles||> &),%.!-%%8%|'>&ormatdisk||> &),%.!-%%8%|(||> &),%.!-%%8%|)>3ave$/3||> &),%.!-%%8%|*>2amdiskset||> &),%.!-%%8%|+||> &),%.!-%%8%|,>-emoryload||> &),%.!-%%8%|->%ditfiles||> &),%.!-%%8%|.>-emprotekt/.||> &),%.!-%%8%|/>$estiny$||> &),%.!-%%8%|setflag|ARRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRD|&2%%3%#4/23| 34!453 |ZRRRRRRRRRRRRRRRRRRRRRXRRRRRRRRRRRRRRRRC*, BLVHJhDEKBL+,DEHIBL+,DEHI  BL+, *BJ**K *D*E +,`$HID$EBL+,g+**:/n+*!**$*`D1:*.*H*I* *!m*$m*8**\V +$󩎅!ʆ`JJJ)595L+>i(iLk+ +iii(iL?+ ?i(j`!i($ 5c5` V0L@, Vf,g,Hf,if,g,ig,؈f, ,$$g, ,$$h`H)ihJJJJ)i`E:D1:,6`)!-!=!XY(i(i(`` ,R @,LBL + r* ** v. , , t ԭ8鷍262 -L_-LwH ,h-Щ@Ԣ`ABCDEFGHIJKLMNO /@0g1q1{12245452]422d5 N-)91[+ Hr ir h* Hs is h*=L.-L;/-` -X.-Y. W.`hhLQ-*,8 r!hhLQ-*8(**i(*i)) **) + +, ., ) + +,멛,`**8`:/0*i**i**g+n+L+*i(***:/`:/+**$*8****g+n+L+*8(***:/`BD,E +,L,`XihYi0XiYi )!-!`ɛ0R0'0` -/0/1//Ӣ *J'L/10 / /,ɛ +,, +ȩ N-ɛL0~L0`'ș, +ȑLo0ș, * /`Lo0ȩ ,ШZRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRCQRRRRRRRRRDARRRRRRRRRE *!L1 *#L1 *$L11 -c5 6 ?6 1`1! V N-譅1L/L3D,EB +,` r*L*1 / /1' N-`8L4CMD#S)K`KJL1J)KL16 q6Lz26 q6! SL=, r*LO2 *J'L/828 2 +Y$`13$&&3$`6.3$`㍅1L1倛)nsterdestinationandhitakeyD32 / /2' N-`sourace32 / /2F32' N-`,4 * *8, *0j,͞2 R3226 8*HHIhɈS2N,3͞2 %32 *2,, *0 6 U*,2,2 * L*2,͞2 %32, , *0Ģ 6 U*0L3 *8, *0> - 6 8*0$6 U*0 N- CɈũ`` k" k" k" k" -b4 / /4' N-`123 :   L Ӎ  M   ,H*H8,* \2h*h,`*ʊJJJ)5=5555c5 ^+L,5I955c5 ^+L,@ `  P SL=,ii  ӭ,6 *6 *`L*D1:DOS.SYS**) * +*` v. <- ,**)> .` .**8`,)O   LY((  P SL=,ii  ӭ,6 *6 *`L*D1:DOS.SYS**) * +*` v. <- ,**)> .` .**8`,)O   #0)pers dta b($28),b(1),b(00),b($12) dta b(0),b(0),b(0),b(128) dta b(0),b(0),b(0),b(0)end equ * brk org $2e2 dta a(prog) endda #0 sta $309 sta $30b jmp $e459perd dta b($28),b(1),b(00),b($12) dta b(0),b(4),b(1),b(0) dta b($FF),b(0),b(0),b( LY((  P SL=,ii  ӭ,6 *6 *`L*D1:DOS.SYS**) * +*` v. <- ,**)> .` .**8`,)O   # *+5 cmp #delt bne ss_ jsr bell jsr g_key cmp #$1b beq ex1 lda sscomss_ jmp specl jmp copn_frm dta d'Ԡˠ',b(eol)i_frm dta d' 'frm lda n_dsk sta io_a+1,x lda #form sta io_c,x jsr cio bpl *+3 rts jsr g_dir jmp p_dirformat equ * lda n_frm ldx #12 jsr p_nrmk jsr p_rmk ldy #0_i lda i_frm,y sta (a0),y iny cpy #39 bne _if jsr g_key cmp #$1b bne *+3 rts ldx #ch1 cmp #'C' beq _clr cmp #'M' beq med cmp #'D' beq dbl cmp #'S' beq sgn cmp #'K' bne f rts_clr lda #$80 sta io_2,x lda #0 sta io_1,x jmp frmmed lda #1 sta io_1,x and #0 sta io_2,x jmp frmdbl lda perd jsr pper jmp _fsgn lda pers jsr pper_f lda #$21 sta $302 jsr $e453 bpl *+5 jmp p_stt-3 jsr g_dir ldx #ch1 jmp _clrreadd ldx #ch1 jsr close lda #onre sta io_1,x lda #load jmp specln_des dta c'8'dest ldx n_des cpx #$38 beq d1 inxd stx n_des txa jsr ascint sta lind+36 rtsd1 ldx #$31 bne dmemlo lda lind-2 cmp #'F'-32 beq onm ldx <$1f00 ldy >$1f00 stx $2e7 sty $2e8 lda #'F'-32 sta lind-2 rtsonm ldx end stx $2e7 sty $2e8 lda #'N'-32 sta lind-2 rtscopy equ * lda #'' sta sscom jmp ssfilm_len dta a(0)flg_cal dta b(1)n_cop dta d'',b(eol)i_cop dta d' Inster destination and hit a key! 'p_dsti stx o2+1 lda n_cop ldx #11 jsr p_nrmk jsr p_rmk ldy #0__j lda i_cop,y sta (a0),y iny cpy #39 bne __j jsr g_keyo2 ldx #0 rtsi_sor dta d' sourace 'p_sour stx o1+1 lda n_cop ldx #11 jsr p_nrmk jsr p_rmk ldy #0_j lda i_cop,y sta (a0),y iny cpy #8 bne _j_j1 lda i_sor,y sta (a0),y iny cpy #19 bne _j1_j2 lda i_cop,y sta (a0),y iny cpy #39 bne _j2 jsr g_keyo1 ldx #0 rtscop lda n_dsk+1 sta old+1 ldx #ch1 jsr close sec ldx #ch1 lda n_dsk jsr open_ bmi excopw_cop lda n_dsk+1 cmp n_des bne *+5 jsr p_sour clc ldx #ch1 lda m_len sta len lda m_len+1 sta len+1 lda end jsr read pha ldx #ch1 lda io_l,x sta len lda io_l+1,x sta len+1 pla cmp #136 beq nie_caly lda flg_cal beq nie_calycaly lda n_dsk+1 sta hh+1 cmp n_des bne *+5 jsr p_dstihh lda #$ff sta flg_cal ldx #ch1 jsr close lda n_des sta n_dsk+1 ldx #ch1 clc lda n_dsk jsr open_ bmi excop ldx #ch1 clc lda end jsr writexcop lda n_dsk+1 sta n_desold lda #$ff sta n_dsk+1 lda #1 sta flg_cal ldx #ch1 jsr close ldx #ch2 jmp closenie_caly lda #0 sta flg_cal lda n_dsk+1* sta hh1+1 cmp n_des bne *+5 jsr p_dsti*hh1 lda #$ff lda n_des sta n_dsk+1 ldx #ch2 clc lda n_dsk jsr open_ bmi excop ldx #ch2 clc lda end jsr writ bmi excop ldx #ch1 jmp w_copedit ldx #ch1 jsr close sec lda n_dsk jsr open_ bmi ex jsr of_pmed jsr $f420 ldx #ch1 lda <250 ldy >250 sta len sty len+1 clc lda end jsr read bmi ex ldx #ch0 clc lda <250 ldy >250 sta len sty len+1 lda end jsr writ bmi ex jsr g_key cmp #$1b beq ex ldx #ch1 lda io_s,x cmp #136 bne edex lda #0 sta b0 rtsinit equ * rtsn_ram dta d'',b(eol)i_ram1 dta d' -128kB -192kB -256kB -320kB -1Mb 'ram lda n_ram ldx #11 jsr p_nrmk jsr p_rmk ldy #0__i lda i_ram1,y sta (a0),y iny cpy #39 bne __iwkr jsr g_key cmp #$1b bne *+3 rts cmp #'1' beq _11 cmp #'2' beq _22 cmp #'3' bne wkr lda #12 bne nra_22 lda #8 bne nra_11 lda #4 bne nranra sta $c3a lda #1 sta $c0d sta $c19 sta $c4c lda #$d3 sta $c0e sta $c1a sta $c4d lda #0 sta $c10 lda #8 sta $70a lda n_dsk+1 pha lda #'8' sta n_dsk+1 ldx #ch1 jsr med pla sta n_dsk+1 rtsfset dta b(0)set_F equ * ldx act_fil dex txa lsr @ lsr @ lsr @ tay txa and #7 tax lda mapa,y and msk,x bne ofon lda mapa,y ora msk,x sta mapa,y inc fset jsr ps_ jmp int_scrof lda msk,x eor #$ff and mapa,y sta mapa,y dec fset jsr ps_ jmp int_scrmapa dta d' 'msk equ * dta b(%10000000) dta b(%1000000) dta b(%100000) dta b(%10000) dta b(%1000) dta b(%100) dta b(%10) dta b(%1)save equ * rtswritt equ * lda <$700 sta $304 lda >$700 sta $305 lda #1 sta $30a lda #0 sta $30bboot_w lda #$50 sta $302 lda #$80 sta $303 jsr $e453 bpl *+5 jmp p_stt-3 lda $304 clc adc #128 sta $304 lda $305 adc #0 sta $305 inc $30a lda $30a cmp #4 bne boot_w lda n_dsk+1 sta n_dos+1 ldx #ch1 jsr close clc lda n_dos ldx #ch1 jsr open_ bpl *+3 rts ldx #ch1 jmp closen_dos dta c'D1:DOS.SYS',b($9b)spr_set lda adr_fil sta a0 lda adr_fil+1 sta a0+1 ldy #20k lda (a0),y and #$7f sta (a0),y dey bne k jsr s_bgn jsr pd0 ldx len+1 stx plikow rtsspr_fil jsr p_crs jsr s_nam jsr int_scr lda adr_fil sta a0 lda adr_fil+1 sta a0+1 ldy #0 lda (a0),y and #$7f cmp #'^'-32 bne sf1 tya sta (a0),y jsr crs_dw clc rtssf1 jsr crs_dw lda act_fil cmp plikow bne spr_fil sec rtspper sta $304 sty $305 lda n_dsk+1 sta $300 and #$f sta $301 lda #$80 sta $303 lda #$4f sta $302 lda #12 sta $308 sta $306 lda #0 sta $309 sta $30b jmp $e459perd dta b($28),b(1),b(00),b($12) dta b(0),b(4),b(1),b(0) dta b($FF),b(0),b(0),b(0)pers dta b($28),b(1),b(00),b($12) dta b(0),b(0),b(0),b(128) dta b(0),b(0),b(0),b(0)end equ * brk org $2e2 dta a(prog) end . #0 sta $309 sta $30b jmp $e459perd dta b($28),b(1),b(00),b($12) dta b(0),b(4),b(1),b(0) dta b($FF),b(0),b(0),b(0)  @@@@@@