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

  1. ¢*-- ARABESKA ---¢*¢* RUN   - $BB00¢* MEMHI - $BB00¢*¢*---------------¢    opt %10101¢¢pocz equ $BB00¢¢*-Str. 0¢¢clock  equ $12¢atract equ $4D¢ekrv   equ $58 (+1)¢¢*-Wlasne¢¢byte equ $CB¢addr equ $CC CD¢word equ $CE CF¢¢*-Str. 2¢¢colfs0 equ $2C4¢kbcods equ $2FC¢¢iocb   equ $340¢¢*-System¢¢rand   equ $D20A¢ciov   equ $E456¢reset  equ $E474¢*--------------¢    org pocz¢¢bgn jsr open¢¢loop equ *¢¢   clc¢   lda ekrv    * odczyt adresu ekranu¢   sta addr¢   adc #$CC    * + ostatnia linia ekr.¢   sta word¢   lda ekrv+1¢   sta addr+1¢   adc #1¢   sta word+1¢¢    ldx #3         * Zmiana kolorow¢lp0 lda colfs0,x¢    clc¢   adc #$10¢   sta colfs0,x¢   dex¢   bpl lp0¢¢   inx¢   stx atract   * 0 do atrack¢¢lp1 stx byte    * 0 do x=licznik linii¢                * przechowany w byte¢   jsr usgw     * do ustaw gwiazdki¢¢    ldy #0      * wypisz linie gwiazdek¢lp2 lda gwz,y¢    sta (addr),y  * linie  0 do 11¢   sta (word),y   * linie 23 do 12¢   iny¢   cpy #$14¢   bne lp2¢¢   tya          * zwieksz adres¢   clc          * poczatkowy ekran¢   adc addr¢   sta addr¢   bcc lp3¢   inc addr+1¢¢lp3 sec         * Zmniejsz adres¢    lda word    * koncowy ekranu¢   sbc #$14¢   sta word¢   lda word+1¢   sbc #0¢   sta word+1¢¢   ldx byte¢   inx¢   cpx #$0C    * Czy wypisano 12 linii¢   bne lp1¢¢loop1 equ *¢¢   lda clock+2  * licznik opuznienia¢   and #$3F¢   bne spk¢   jmp loop     * nowy uklad¢¢spk lda kbcods  * Sprawdz klawisz¢    cmp #$FF¢   beq loop1¢   ldy #$FF¢   sty kbcods¢¢jret jsr close  * wyjscie¢     jmp reset¢¢*-Ustaw gwiazdki¢¢usgw equ *¢¢    ldy #0¢us0 lda rand    * wart. losowa¢    and #3¢    tax¢    lda data,x  * jaka gwiazdka¢    tax¢¢    lda rand    * los¢    and #7¢    beq us1    * jesli 0 wypisz gwiazdke¢    ldx #0     * nie 0 wypisz puste¢us1 txa¢    sta gwz,y¢    iny¢    cpy #$0A    * do polowy linii¢    bne us0¢¢    dey        * Zmnijsz Y aby¢               * trafic na ostatnia¢    ldx #0¢us2 lda gwz,y     * druga polowa liinii¢    sta gwz+$0A,x * w odwrotnej kolejnosci¢    inx¢    dey¢    bpl us2¢¢    rts¢¢*-Open Gr.1¢¢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 #1         * Nr. trybu Gr.¢   sta iocb+11,x¢   jsr ciov¢   lda #$12¢   sta iocb+2,x¢   jmp ciov¢¢close equ *¢¢   ldx #$60¢   lda #12¢   sta iocb+2¢   jmp ciov¢¢s  dta c'S:',b($9B)¢¢*-Dane ktora gwiazdka¢¢data dta d'*
  2. ¬è'¢¢*-Tu skladamy do wypisu¢¢gwz  dta d'
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22. '¢¢kprg equ *¢¢    org $2E0    * Adres RUN do runad¢    dta a(bgn)¢*--------------¢    opt %110¢kon equ kprg¢*--------------¢    end of file¢¢¢