dos33fsprogs/graphics/gr/tunnel/tunnel2.s
2021-06-07 01:18:45 -04:00

177 lines
1.8 KiB
ArmAsm

; based roughly on 5 REM BY @hisham_hm Mar 7 @AppleIIBot
; this one was an accident due to bug trying to get tunnel code working
; very striking, but *warning flashing lights*
H2 = $2C
V2 = $2D
COLOR = $30
J = $FB
Z = $FC
COUNTMAX = $FD
COUNT = $FE
NEWCOLOR = $FF
FULLGR = $C052
HLINE = $F819 ;; HLINE Y,$2C at A
VLINE = $F828 ;; VLINE A,$2D at Y
SETCOL = $F864 ; COLOR=A
SETGR = $FB40
WAIT = $FCA8 ;; delay 1/2(26+27A+5A^2) us
tunnel:
; 10 GR:N=7
jsr SETGR
; bit FULLGR
lda #$7
sta NEWCOLOR
outer:
; 20 FOR X=0 TO 4
lda #3
sta COUNT
cycle:
; 30 FOR I=X TO 15+X STEP 5:COLOR=0
lda COUNT
tax
clc
adc #15
sta COUNTMAX
; sta COUNT
tax
iloop:
; lda #0
; sta COLOR
; 40 Z=39-I:J=I+1:W=Z-1
txa
eor #$ff
sec
adc #39
sta Z
sta H2
sta V2
dec H2
dec V2
txa
clc
adc #1
sta J
; COLOR=N
lda NEWCOLOR
jsr SETCOL
.if 1
; HLIN J,W AT I ; HLINE Y,$2C at A
ldy J
txa
jsr HLINE
; HLIN J,W AT Z ; HLINE Y,$2C at A
ldy J
lda Z
jsr HLINE
; VLIN J,W AT I ; VLINE A,$2D at Y
txa
tay
lda J
jsr VLINE
; VLIN J,W AT Z ; VLINE A,$2D at Y
ldy Z
lda J
jsr VLINE
.endif
; COLOR=N
lda NEWCOLOR
jsr SETCOL
.if 0
; HLIN J,W AT J ; HLINE Y,$2C at A
ldy J
lda J
jsr HLINE
; HLIN J,W AT W ; HLINE Y,$2C at A
ldy J
lda H2
jsr HLINE
; VLIN J,W AT J ; VLINE A,$2D at Y
ldy J
lda J
jsr VLINE
; VLIN J,W AT W ; VLINE A,$2D at Y
ldy V2
lda J
jsr VLINE
.endif
lda #50
jsr WAIT
; N=N+1
inc NEWCOLOR
; 50 NEXT:N=N-4
; txa
; clc
; adc #5
; tax
txa
sec
sbc #5
tax
; cpx COUNTMAX
; bcc iloop
bpl iloop
sec
lda NEWCOLOR
sbc #4
sta NEWCOLOR
; 60 NEXT:N=N-1:IF N=0 THEN N=12
; inc COUNT
; lda COUNT
; cmp #5
; bne cycle
dec COUNT
bpl cycle
dec NEWCOLOR
bne end
lda #12
sta NEWCOLOR
end:
; 70 GOTO 20
jmp outer