256 bajtów! |
Niemożliwe stało się możliwe! Nare¶cie spodobał się Wam jaki¶ cykl i oto niespodziewanie macie okazję zobaczyć kolejne Ľródłówki, których kod wynikowy NIE przekracza 256 bajtów. Tym razem swoimi "pomysłami" podzielił się Arasek z Aids! Mamy nadzieję że na tym się nie zakończy i następnym razem kto¶ inny pochwali się swoimi rozwi±zaniami!? ERRATA: W poprzednim numerze zupełnie nie¶wiadomie przypisałem program BULKI Krógerowi. Jak się okazuje to nie on jest autoram! W tym miejscu chciałbym przeprosić obu panów za t± pomyłkę!!! Jager/Dial
*---------------------*
| 245b. plazma |
| Ars/Aids '98 |
| Serious #4 |
*---------------------*
|Run - $b000 |
|Memhi - $9000 |
| |
|SHIFT+BREAK - wyj¶cie|
*---------------------*
opt %10101
org $b000
txl equ $9000
tabl equ $9100
sin equ $9200
mn ldx #$1f
ldy #0
sim lda sina,y
sta sin,y
sta sin+$40,y
sta sin+$80,y
sta sin+$c0,y
sta sin+$20,x
sta sin+$60,x
sta sin+$a0,x
sta sin+$e0,x
dex
iny
cpy #$20
bne sim
ldy #8
lda #$ef
c1 sta txl,y
sta txl+15,y
sta txl+30,y
sta txl+45,y
sta txl+60,y
sec
sbc #$22
dey
bne c1
lda #$fe
c2 sec
sbc #$22
sta txl+9,y
sta txl+24,y
sta txl+39,y
sta txl+54,y
sta txl+69,y
iny
cpy #7
bne c2
ldy #0
k2 ldx #2
km lda wzr,x
sta dl,y
sta dl+252,y
sta dl+252+252,y
iny
dex
bpl km
cpy #253
bne k2
dey
dey
k3 inx
iny
lda nd,x
sta dl+252+189-60,y
cpx #2
bne k3
lda #$40
sta $26f
lda #$23
sta $22f
lda <dl_
sta $230
lda >dl_
sta $231
ptl ldy #0
sk1 lda sin
clc
sk2 adc sin+10
sta tabl,y
inc sk1+1
inc sk2+1
iny
bne sk1
inc sk1+1
inc sk1+1
inc sk2+1
ldx #0
sn1 lda tabl,x
sta dl+1,y
sta dl+196,y
sta dl+196+195,y
iny
iny
iny
inx
cpy #255
bne sn1
cz lda $d40b
bne cz
beq ptl
sina dta c' ±±±ć榦ę꼼łłŃŃń'
dta c'ńńóóó'
wzr dta b($4f),b($90),b(0)
nd dta b($41),a(dl)
dl_ dta c'pp'
dl equ *
org $2e0
dta a(mn)
End of file
![]()
*------------------------------------*
| 254b point |
| Ars/Aids '98 |
| Serious #4 |
*------------------------------------*
|Run - $b000 |
|Memhi - $9000 |
| |
|SHIFT+BREAK - wyj¶cie |
*------------------------------------*
| |
|Od Jager'a: |
| |
|Aby bez problemu można było odpalić|
|program w QA troszeczkę go zmieniłem|
|pozostawiaj±c jednak oryginaln± po-|
|stać programu. Tak więc nieco go wy-|
|dłużyłem |
| |
|Jeżeli chcesz mieć oryginał to: |
| |
|1. Zmień adres fontów (etykieta FNT)|
| na $4000 |
| |
|2. Usuń: |
| |
| Jsr Init (linia 47) |
| cał± prockę INIT |
| |
|3. Usuń gwiazdkę w linii 54 |
*------------------------------------*
opt %10101
org $b000
iocb equ $340
scr equ $9040
lo equ $9500
hi equ $9600
sin equ $9700
fnt equ $b800 |$4000
h0 equ $80
w equ $82
jsr Init |
run lda >scr
sta $bc25
lda >fnt
sta $bc24
sta 756
* sta $26f |
ldy #$1f
ldx #0
sim lda sina,x
clc
adc #1
sta sin,x
sta sin+$40,x
sta sin+$80,x
sta sin+$c0,x
sta sin+$20,y
sta sin+$60,y
sta sin+$a0,y
sta sin+$e0,y
dey
inx
cpx #$20
bne sim
ldx #5
iny
tya
de1 sta scr,y
iny
bne de1
inc de1+2
dex
bne de1
fn2 ldx #7
fn1 sta fnt,y
iny
dex
bpl fn1
clc
adc #$11
bcc fn2
ldx #0
k1 lda >scr
sta hi,x
k2 lda <scr
sta lo,x
adc #40
sta k2+1
bcc *+5
inc k1+1
inx
bne k1
p1 lda sin+10
asl @
tay
p3 lda sin+2
p4 adc sin+4
tax
lda lo,x
sta h0
lda hi,x
sta h0+1
lda #$f
sta (h0),y
iny
sta (h0),y
tya
adc #39
tay
lda #$f
sta (h0),y
iny
sta (h0),y
inc p1+1
inc p3+1
inc p3+1
ldx #4
ldy #0
fr1 lda scr,y
fr2 adc scr+39,y
fr3 adc scr+40,y
fr4 adc scr+41,y
lsr @
lsr @
fr5 sta scr,y
iny
bne fr1
inc fr1+2
inc fr2+2
inc fr3+2
inc fr4+2
inc fr5+2
dex
bne fr1
lda >scr
sta fr1+2
sta fr2+2
sta fr3+2
sta fr4+2
sta fr5+2
bne p1
sina dta c' ±±±ć榦ę꼼łłŃŃń'
dta c'ńńóóó'
Init Equ *
ldx #$10 |Graphics 0
lda #3 |
sta iocb+2,x |Zobacz programowa-
lda <e |nie procesora 6502
sta iocb+4,x |czę¶ć 12 (w tym
lda >e |numerze Serious.
sta iocb+5,x |
lda #12 |
sta iocb+10,x |
jsr $e456 |
lda #12 |
sta iocb+2,x |
jsr $e456 |
lda #$40
sta $26f
rts
e dta c'E:',b($9b)
* org $2e0
* dta a(run)
End of file
![]()
*---------------------*
| 245b 3d vector |
| 4 Serious #4 |
| Ars/Ads 2.1.99 |
*---------------------*
|Run - $b039 |
|Memhi - $b000 |
| |
|SHIFT+BREAK - wyj¶cie|
*---------------------*
opt %10101
i equ $340
_x equ $b200
_y equ $b300
x1 equ 91
y1 equ 90
x2 equ $55
y2 equ $54
col equ $2fb
h3 equ $80
x equ 80
y equ 10
org $b000
scr dta c'S:',b($9b)
__x dta c'T\dhptxtphd\'
dta c'TLD<40,((,48'
dta c'@HP'
__y dta c'TTTPPLH@<<88'
dta c'88888<@DLPPT'
dta c'TTX'
* kopiowanie prekalkowanych
* współrzędnych.
run ldy #26
r lda __x,y
sta _x,y
sta _x+26,y
lda __y,y
sta _y,y
sta _y+26,y
dey
bpl r
* inicjacja trybu graficznego
ldx #16
lda #0
sta i+4,x
lda >scr
sta i+5,x
lda #3
sta i+2,x
lda #6
sta i+11+16
jsr $e456
dex
stx col
* główna pętla
lup_ ldy #0
lup sty h3
jsr $f420
ldy h3
lda _x,y
sta x1
lda _y,y
sta y1
lda _x+9,y
sta x2
lda _y+9,y
sta y2
jsr drw
lda _x+18,y
sta x1
lda _y+18,y
sta y1
jsr drw
lda _x,y
sta x2
lda _y,y
sta y2
lda _x+18,y
sta x1
lda _y+18,y
sta y1
jsr drw
lda _x,y
sta x2
lda _y,y
jsr pwt
lda _x+18,y
sta x2
lda _y+18,y
jsr pwt
lda _x+9,y
sta x2
lda _y+9,y
jsr pwt
iny
cpy #25
bne lup__
beq lup_
lup__ jmp lup
* wyw. systemowej procy drawto
pwt sta y2
lda #x
sta x1
lda #y
sta y1
drw sty h3
ldx #$10
lda #17
sta i+2+16
jsr $e456
ldy h3
rts
org $2e0
dta a(run)
end of file
|