home *** CD-ROM | disk | FTP | other *** search
/ Serious Magazine 12 / Serious_Magazine_12_2003_01_07_Dial_pl_Side_B.atr / stuff1.arc / FIGURY.ASM < prev    next >
Assembly Source File  |  1988-09-01  |  3KB  |  1 lines

  1. ¢*---- FIGURY ----¢*¢* RUN   $9F00¢* MEMHI $9F00¢*¢* Dowolny klawisz zmiana figury¢* ד≤π - Wyjscie¢*¢*----------------¢     opt %10101¢¢pocz equ $9F00¢¢*-Str. 0¢¢clock  equ $12¢atract equ $4D¢rowcrs equ $54¢colcrs equ $55 (+1)¢oldrow equ $5A¢oldcol equ $5B¢¢*-Wlasne¢¢byte  equ $DD¢flx   equ $DE¢cx    equ $DF¢ypos  equ $E0 (+7)¢xpos  equ $E8 (+7)¢ax    equ $F0 (+7)¢ay    equ $F8 (+7)¢¢*-Str. 2¢¢colfs0 equ $2C4¢gprior equ $26F¢color  equ $2FB¢kbcods equ $2FC¢¢iocb   equ $340¢¢*-System¢¢rand   equ $D20A¢ciov   equ $E456¢reset  equ $E474¢plot   equ $F1CA¢clear  equ $F420¢drawto equ $F9AF¢*--------------¢    org pocz¢¢bgn jsr open¢¢    sty flx    * y=1¢¢start equ *¢¢    jsr clear  * A=0¢    tay¢    sty color¢    iny¢    sty cx     * cx=1:color+cx=color¢¢    lda rand       * Kolor ekranu¢    and #%11110000¢    sta colfs0+4¢¢    ldx flx   * ile elementow ma figura¢¢l0  tya       * Y=1 lub $FF¢    sta ax,x¢    eor #$FE¢    sta ay,x¢    tay¢¢l3  lda rand¢    and #$7F¢    beq l3¢    sta ypos,x¢l4  lda rand¢    and #$3F¢    beq l4¢    sta xpos,x¢    dex¢    bpl l0¢¢loop equ *¢¢    ldx flx¢    ldy ypos,x¢    lda xpos,x¢    dex¢    stx byte¢    tax¢    jsr mplot¢¢lp1 ldx byte¢    ldy ypos,x¢    lda xpos,x¢    tax¢    jsr mdraw¢    dec byte¢    bpl lp1¢¢    ldx flx¢    ldy ypos,x¢    lda xpos,x¢    tax¢    jsr mdraw¢¢    ldx flx¢lp2 clc¢    lda ypos,x  * ypos+ay=ypos¢    adc ay,x¢    sta ypos,x¢    clc¢    lda xpos,x  * xpos+ax=xpos¢    adc ax,x¢    sta xpos,x¢¢    lda ypos,x¢    beq lp3     * Gdy linia =0¢    cmp #$BF    * -"-  -"-  =191¢    bne lp4¢lp3 lda ay,x    * ay=1  eor #$FE=-1¢    eor #$FE    * ay=-1 eor #$FE=1¢    sta ay,x¢¢lp4 lda xpos,x¢    beq lp5     * gdy  lewy margines¢    cmp #$4F    * -"- prawy   -"-¢    bne lp6¢lp5 lda ax,x    * ax=1  eor #$FE=-1 ($FF)¢    eor #$FE    * ax=-1 eor #$FE=1¢    sta ax,x¢¢lp6 dex¢    bpl lp2¢¢    clc         * Zmien kolor rysowania¢    lda color¢    adc cx      * cx=1 lub cx=$FF¢    sta color¢    beq lp7¢    cmp #15¢    bne sk¢¢*-Gdy kolor=0 lub 15¢¢lp7 lda cx      * cx=1  eor #$FE=-1 ($FF)¢    eor #$FE    * cx=-1 eor #$FE=1¢    sta cx¢¢sk  lda kbcods  * Sprawdz klawisz¢    cmp #$FF¢    beq loop¢    ldy #$FF¢    sty kbcods¢    cmp #$1C    * Esc=wyjscie¢    bne sk1¢¢    jsr close¢    jmp reset  * Warm reset¢¢sk1 inc flx¢    lda flx¢    and #3      * 7=max¢    beq sk1¢    sta flx¢    jmp start¢¢mplot equ *¢¢    sty rowcrs¢    stx colcrs¢    jmp plot¢¢mdraw equ *¢¢    sty rowcrs¢    stx colcrs¢    jmp drawto¢¢*-Open Gr.9¢¢open equ *¢¢    ldx #$60¢    lda #3¢    sta iocb+2,x¢    lda <s¢    sta iocb+4,x¢    lda >s¢    sta iocb+5,x¢    lda #12         * +16 gdy okno¢    sta iocb+10,x¢    lda #9          * Nr. trybu Gr.¢    sta iocb+11,x¢    jsr ciov¢    lda #$11        * 17 dla drawto¢    sta iocb+2,x¢    jmp ciov¢¢close equ *¢¢    ldx #$60¢    lda #12¢    sta iocb+2¢    jmp ciov¢¢s   dta c'S:',b($9B)¢¢kprg equ *¢¢    org $2E0¢    dta a(bgn)¢*--------------¢    opt %110¢kon equ kprg¢*--------------¢    end of file¢¢