home *** CD-ROM | disk | FTP | other *** search
/ Kocie Flaki / Kocie_Flaki_1_19xx_NG_pl_Disk_3_of_3_Side_A.atr / winxs.asm < prev    next >
Assembly Source File  |  2023-02-26  |  8KB  |  2 lines

  1. * Tutaj macie wszystkie procki.¢* Te "nowe" do dir (laduje katalog do bufora; maska dowolna)¢* oraz sh_dir (pokazuje katalog w oknie; z autoformatowaniem!)¢¢     opt 21¢     org $a000¢¢size equ 40¢line equ 24¢adde equ $bc40¢buf  equ $b800¢d_buf equ $b400¢¢ekr  equ $80 ; $81¢zero equ $82 ; $83¢_pom equ $84 ,85 w¢stat equ $254¢_ppp equ $f0¢¢* Register:¢¢* okno,skip,name,wri_l¢* clr,clrall,clrb,clrbuf,copy¢* change,key,openw,cnv¢* _pauze,cz,_wait¢* menu¢* dir,sh_dir¢* komorka 'stat' > bity (zapalic):¢* 7 - inverse on, 0 - sounds/key¢¢¢main lda #%00000001 (sound on)¢ sta stat¢ jsr clr¢ lda #0¢ jsr okno¢ ldx <na1¢ ldy >na1¢ jsr name¢¢ jsr dir ; sprawdzac ilosc plikow -> cyfra 0 lub 1¢ jsr sh_dir¢ jsr files¢ rts¢¢na1 dta d'áיIJקIJכנוáij'¢¢*------------------------------------¢¢*-- tu juz same procedury...¢*-- powyzsze sobie wyjeb...¢¢files jsr menu¢ rts¢¢dir jsr open¢ jsr _dir¢ jsr close¢ jsr zm¢ lda <d_buf¢ sta did¢ lda >d_buf¢ sta did+1¢ rts¢direc dta b(0)¢¢sh_dir lda _dl¢ sta _dl+1¢ lda #0¢ sta direc¢ lda _txend¢ pha¢ lda _dend¢ sta _txend¢shdr ldx did¢ ldy did+1¢ jsr wri_l¢ inc direc¢ lda direc¢ cmp #63¢ bcs full¢ clc¢ lda did¢ adc #18¢ sta did¢ bcc *+5¢ inc did+1¢ dec _dl+1¢ bne shdr¢full pla¢ sta _txend¢ rts¢¢zm ldy #0¢ ldx #3¢ lda <d_buf¢ sta zero¢ lda >d_buf¢ sta zero+1¢zz lda (zero),y¢ jsr cnv¢ sta (zero),y¢ iny¢ bne zz¢ inc zero+1¢ dex¢ bpl zz¢ rts¢¢did dta a(d_buf)¢¢Öתךאחדפβπ·δβáΣ∮βá∩≤⌠β⌠∈Θ∩á∩⌠≈β≥⌠στ∩á∩δ∈β«⑨¢Öטσ≤∮ΘáπΦπσ≤·áΣ∮βáΘ∈∈στ∩á¡á⌡βδ⌠∙≈∈ΘΩáΩσáºציחסºσϕ⑨¢¢menu jsr ini_ekr¢ lda #0¢ sta esc¢ clc¢ lda _wx¢ adc _sz¢ sta _pom¢ inc _pom¢ ldx _wy¢ inx¢_wbb jsr zwek¢ dex¢ bne _wbb¢ lda _dl¢ sta _pom+1¢ dec _pom+1¢ jsr inw¢wbr jsr key¢ cpy #28¢ beq es¢ cpy #15¢ bne _wd¢ lda wyby¢ cmp _pom+1¢ bcs wbr¢ jsr inw¢ jsr zwek¢ jsr inw¢ inc wyby¢ jmp wbr¢_wd cpy #14¢ bne _wr¢ lda wyby¢ beq wbr¢ jsr inw¢ jsr zmiek¢ jsr inw¢ dec wyby¢ jmp wbr¢_wr cpy #12¢ bne wbr¢ jsr inw¢ ldy wyby¢ iny¢ rts¢es inc esc¢ jsr inw¢ rts¢inw ldy _wx¢ iny¢wi lda (ekr),y¢ eor #128¢ sta (ekr),y¢ iny¢ cpy _pom¢ bne wi¢ rts¢wyby dta b(0)¢esc dta b(0)¢¢Öנימנá¡á≈áóIJóá∈≥á∩δ∈βááááááá⑨¢ÖΘáΩ≤≥á∩δ∈βá¡á≡∩δβ·σá∩δΘσ∈δ∩⑨¢Ö≡∩ΓΘσ≥βΩβπá≡∩·«á·á⌠βΓσ∮Θ«áá⑨¢ÖסIJקפם´á⌠βΓσ∮βá∩δΘσ∈á¿∈Θ·σΩ⌐⑨¢¢okno asl @¢ asl @¢ tay¢ lda win_tab,y¢ sta _wx¢ lda win_tab+1,y¢ sta _wy¢ lda win_tab+2,y¢ sta _sz¢ lda win_tab+3,y¢ sta _dl¢ jsr openw¢ rts¢¢ÖציחסáIJá¡á∈≥ᢢskip asl @¢ asl @¢ tay¢ lda win_tab,y¢ sta _wx¢ lda win_tab+1,y¢ sta _wy¢ lda win_tab+2,y¢ sta _sz¢ lda win_tab+3,y¢ sta _dl¢ rts¢¢ÖקIJאדכIJáתצס«áתךל»פנםáניחדמדיᢢwin_tab equ *¢¢¬ DIRECTORY_P     ; nr A=0¢ dta b(19),b(1)   _wx,_wy¢ dta b(19),b(21)  _sz,_dl¢¢¬ DIRECTORY_L     ; A=1 itd.¢ dta b(0),b(1)¢ dta b(19),b(21)¢¢¬ MEDIUM_G¢ dta b(0),b(0)¢ dta b(15),b(5)¢¢¬ MEDIUM_S¢ dta b(0),b(7)¢ dta b(15),b(5)¢¢¬ MALE_D¢ dta b(0),b(14)¢ dta b(15),b(3)¢¢¢ÖáמIJלדá¡áמIJםתIJáנימIJáááááá⑨¢Öá≈áóIJóá¡á∈⌡ϕσ≥áááááááááá⑨¢Öá≈áן¶¼áך®áβΣΣ∙á∈β·≈∙½ijáá⑨¢¢name stx _pom¢ sty _pom+1¢ jsr skip¢ jsr ini_ekr¢¢ ldy #0¢ sty zero¢nam0 lda (_pom),y¢ cmp _txend¢ beq nam1¢ iny¢ jmp nam0¢¢nam1 sty zero+1¢ lda _sz¢ sec¢ sbc zero+1¢ bpl naok¢ lda #0¢ sta _ppp¢ jmp nam2¢naok lsr @¢ sta _ppp¢¢nam2 clc¢ lda _ppp¢ adc _wx¢ sta _ppp¢ inc _ppp¢ ldx _wy¢ beq nam3¢_nam jsr zwek¢ dex¢ bne _nam¢¢nam3 ldy zero¢ lda (_pom),y¢ ldy _ppp¢ sta (ekr),y¢ inc _ppp¢ inc zero¢ dec zero+1¢ bne nam3¢ rts¢¢¢ÖáםIJסחצםáקדןקá¡®áנצקIJקמחדáנימנᢢwri_l stx _skad+1¢ sty _skad+2¢ jsr spr_inv¢ clc¢ lda _wx¢ adc _sz¢ sta _pom¢ inc _pom¢ jsr ini_ekr¢ lda _wy¢ clc¢ adc direc¢ tax¢ inx¢_posz jsr zwek¢ dex¢ bne _posz¢¢_yes lda _dl¢ sta _pom+1¢ ldx #0¢mawr ldy _wx¢ iny¢_skad lda $ffff,x¢ cmp _txend¢ beq ewrio¢ cmp _eol¢ beq _nxtlin¢ ora eor¢ sta (ekr),y¢ iny¢ cpy _pom¢ bcs _nxtlin¢ inx¢ bne _skad¢ inc _skad+2¢ jmp _skad¢_nxtlin dec _pom+1¢ lda _pom+1¢ beq ewrio¢ jsr zwek¢ inx¢ bne mawr¢ inc _skad+2¢ jmp mawr¢ewrio jmp knp¢_zwie clc¢ lda _skad+1¢ adc #size¢ sta _skad+1¢ bcc *+5¢ inc _skad+2¢ rts¢¢Öáבכפצáצבפדדמá¢Öááááááááááááá¢Öπ∮≥ááá¡á∩∈∮∙áϕβΘ∈á≤π≥σσ∈⑨¢Öπ∮≥β∮∮¡áβ∮∮á≤π≥σσ∈áááááá⑨¢Öπ∮≥Γáá¡áπ∮σβ≥á≈Θ⌠Φáπ∩≡∙á⌠∩áΓ⌡µµσ≥⑨¢Öπ∮≥Γ⌡µ¡áπ∮σβ≥áΓ⌡µµσ≥⑨¢¢copy jsr ini_buf¢  ldx #3¢_ccc lda (_pom),y¢ sta (zero),y¢ iny¢ bne _ccc¢ inc _pom+1¢ inc zero+1¢ dex¢ bpl _ccc¢ rts¢¢clr jsr ini_buf¢ ldx #3¢ lda #0¢ tay¢_cl sta (_pom),y¢ iny¢ bne _cl¢ inc _pom+1¢ dex¢ bpl _cl¢ rts¢¢clrb jsr ini_buf¢ ldx #3¢_clb lda (_pom),y¢ sta (zero),y¢ lda #0¢ sta (_pom),y¢ iny¢ bne _clb¢ inc _pom+1¢ inc zero+1¢ dex¢ bpl _clb¢ rts¢¢clrall jsr ini_buf¢ ldx #3¢ lda #0¢ tay¢_clf sta (_pom),y¢ sta (zero),y¢ iny¢ bne _clf¢ inc _pom+1¢ inc zero+1¢ dex¢ bpl _clf¢ rts¢¢clrbuf jsr ini_buf¢ ldx #3¢ lda #0¢ tay¢_cla sta (zero),y¢ iny¢ bne _cla¢ inc zero+1¢ dex¢ bpl _cla¢ rts¢¢ÖáםIJלחIJמר´áארהנפ¶®דיפIJמᢢchange jsr ini_buf¢ ldx #3¢chng lda (zero),y¢ pha¢ lda (_pom),y¢ sta (zero),y¢ pla¢ sta (_pom),y¢ iny¢ bne chng¢ inc _pom+1¢ inc zero+1¢ dex¢ bpl chng¢ rts¢¢ini_buf lda <adde¢ sta _pom¢ lda >adde¢ sta _pom+1¢ lda <buf¢ sta zero¢ lda >buf+1¢ sta zero+1¢ ldy #0¢ rts¢¢ÖáיכIJתחצזדáחקס«á¢¢key lda #$ff¢ sta 764¢_key ldy 764¢ iny¢ beq _key¢ dey¢ lda stat¢ and %00000001¢ beq cich0¢sound ldx #$40¢sou stx $d01f¢ lda $d40b¢syn cmp $d40b¢ beq syn¢ dex¢ dex¢ dex¢ dex¢ dex¢ dex¢ bpl sou¢cich0 rts¢¢Öáááááנסדמáתחמגנתáááᢢopenw jsr ini_ekr¢ jsr spr_inv¢ lda _dl¢ sta _dl+1¢ lda _wy¢ sta _wy+1¢ lda _wx¢ sta _wx+1¢ lda _sz¢ sta _sz+1¢_o0 lda _wy¢ beq ow0¢ jsr zwek¢ dec _wy¢ jmp _o0¢ow0 lda <kgl¢ sta _mod1+1¢ lda >kgl¢ sta _mod1+2¢ lda <kcg¢ sta _mod2+1¢ lda >kcg¢ sta _mod2+2¢ lda <kgp¢ sta _mod3+1¢ lda >kgp¢ sta _mod3+2¢_okn ldy _wx¢_mod1 lda kgl¢ ora eor¢ sta (ekr),y¢ iny¢ ldx _sz¢_mod2 lda kcg¢ow1 ora eor¢ sta ($80),y¢ iny¢ dex¢ bne ow1¢_mod3 lda kgp¢ ora eor¢ sta ($80),y¢ lda <kcl¢ sta _mod1+1¢ lda >kcl¢ sta _mod1+2¢ lda <pus¢ sta _mod2+1¢ lda >pus¢ sta _mod2+2¢ lda <kcp¢ sta _mod3+1¢ lda >kcp¢ sta _mod3+2¢ jsr zwek¢ dec _dl¢ bpl _okn¢ lda <kdl¢ sta _mod1+1¢ lda >kdl¢ sta _mod1+2¢ lda <kcd¢ sta _mod2+1¢ lda >kcd¢ sta _mod2+2¢ lda <kdp¢ sta _mod3+1¢ lda >kdp¢ sta _mod3+2¢ lda _dl¢ cmp #$ff¢ beq _okn¢ lda _dl+1¢ sta _dl¢ lda _sz+1¢ sta _sz¢ lda _wx+1¢ sta _wx¢ lda _wy+1¢ sta _wy¢¢knp lda #0¢ sta eor¢ rts¢¢spr_inv lda stat¢ and #128¢ beq oop¢ lda #128¢ sta eor¢oop rts¢¢Öס≥∩πσΣ⌡≥∙áπ·σδβ∈Θβ⑨¢Ö∞סIJרםדá¡áØãá≥βϕσδá⑨¢Öבםááááá¡áõá≥βϕβááá⑨¢Ö∞תIJחקáá¡á°á≥βϕσδáá⑨¢¢_pauze ldx #20¢_pa0 jsr cz¢ dex¢ bne _pa0¢ rts¢_wait jsr cz¢ dex¢ bne _pa0¢ rts¢cz lda 20¢ cmp 20¢ beq *-2¢ rts¢¢zwek clc¢ lda ekr¢ adc #size¢ sta ekr¢ bcc *+4¢ inc ekr+1¢ rts¢¢zmiek sec¢ lda ekr¢ sbc #size¢ sta ekr¢ bcs *+4¢ dec ekr+1¢ rts¢¢Öáááחמחקáóתחמ¡ןóááá⑨¢¢ini_ekr lda <adde¢ sta ekr¢ lda >adde¢ sta ekr+1¢ rts¢¢* --------------- DANE¢¢_dl dta b(0),b(0)¢_sz dta b(0),b(0)¢_wx dta b(0),b(0)¢_wy dta b(0),b(0)¢eor dta b(0)¢_dend dta d'†'¢¢*--- áינמהחורפIJבטIJᢢkgl dta d'①'  '╱'        gora/lewy¢kgp dta d'❎'  '◆'        gora/prawy¢kdl dta d'ə'  '◆'        dol /lewy¢kdp dta d'⇨'  '╱'        dol /prawy¢kcg dta d'②'  '
  2. '        cent/gora¢kcd dta d'②'  ''        cent/dol¢kcl dta d'|'  '⑥'        cent/lewy¢kcp dta d'|'  '⇩'        cent/prawy¢pus dta d' '  ' '        spacja¢¢_txend dta d'ij' ; znak konca textu¢_eol dta d'@'   ; znak EOL'a¢¢_phx pha   ; liczba hex na ekran¢ jsr _pxdig¢ pla¢ lsr @¢ lsr @¢ lsr @¢ lsr @¢_pxdig and #%00001111¢ ora #'0'¢ cmp #'9'+1¢ bcc *+4¢ adc #6¢ jsr cnv¢ sta (ekr),Y¢ dey¢ rts¢¢cnv cmp #32¢ bcs cv0¢ clc¢ adc #64¢ rts¢cv0 cmp #96¢ bcs cv1¢ sec¢ sbc #32¢cv1 rts¢¢*----- I/O¢¢open ldx #$10¢     lda #$3¢     sta $342,x¢     lda <maska¢     sta $344,x¢     lda >maska¢     sta $345,x¢     lda #6¢     sta $34a,x¢     lda #0¢     sta $34b,x¢     jmp $e456¢¢_dir ldx #$10¢    lda #$7¢    sta $342,x¢    lda <d_buf¢    sta $344,x¢    lda >d_buf¢    sta $345,x¢    lda #0¢    sta $348,x¢    lda #8¢    sta $349,x¢    jmp $e456¢¢close ldx #$10¢    lda #$c¢    sta $342,x¢    jmp $e456¢¢maska dta c'D1:*.*'¢¢¢