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 >
Wrap
Assembly Source File
|
1988-09-01
|
3KB
|
22 lines
¢*-- 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'*
¬è'¢¢*-Tu skladamy do wypisu¢¢gwz dta d'
'¢¢kprg equ *¢¢ org $2E0 * Adres RUN do runad¢ dta a(bgn)¢*--------------¢ opt %110¢kon equ kprg¢*--------------¢ end of file¢¢¢