mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-06-20 01:29:36 +00:00
gr: thinking: too hard
This commit is contained in:
parent
4a724440cf
commit
fc09032b26
|
@ -7,11 +7,22 @@ EMPTYDISK = ../../../empty_disk/empty.dsk
|
||||||
|
|
||||||
all: thinking.dsk
|
all: thinking.dsk
|
||||||
|
|
||||||
thinking.dsk: HELLO THINKING RAINBOW_BOX
|
thinking.dsk: HELLO THINKING RAINBOW_BOX T2 THINKING_FLIP T3 THINKING_SLOW \
|
||||||
|
THINKING_ATTEMPT2 THINKING_ATTEMPT3 THINKING_ATTEMPT4 THINKING_ATTEMPT5 \
|
||||||
|
THINKING_ATTEMPT6
|
||||||
cp $(EMPTYDISK) thinking.dsk
|
cp $(EMPTYDISK) thinking.dsk
|
||||||
$(DOS33) -y thinking.dsk SAVE A HELLO
|
$(DOS33) -y thinking.dsk SAVE A HELLO
|
||||||
$(DOS33) -y thinking.dsk BSAVE -a 0xC00 THINKING
|
$(DOS33) -y thinking.dsk BSAVE -a 0xC00 THINKING
|
||||||
|
$(DOS33) -y thinking.dsk BSAVE -a 0xC00 THINKING_FLIP
|
||||||
|
$(DOS33) -y thinking.dsk BSAVE -a 0xC00 THINKING_SLOW
|
||||||
|
$(DOS33) -y thinking.dsk BSAVE -a 0xC00 THINKING_ATTEMPT2
|
||||||
|
$(DOS33) -y thinking.dsk BSAVE -a 0xC00 THINKING_ATTEMPT3
|
||||||
|
$(DOS33) -y thinking.dsk BSAVE -a 0xC00 THINKING_ATTEMPT4
|
||||||
|
$(DOS33) -y thinking.dsk BSAVE -a 0xC00 THINKING_ATTEMPT5
|
||||||
|
$(DOS33) -y thinking.dsk BSAVE -a 0xC00 THINKING_ATTEMPT6
|
||||||
$(DOS33) -y thinking.dsk BSAVE -a 0xC00 RAINBOW_BOX
|
$(DOS33) -y thinking.dsk BSAVE -a 0xC00 RAINBOW_BOX
|
||||||
|
$(DOS33) -y thinking.dsk BSAVE -a 0xC00 T2
|
||||||
|
$(DOS33) -y thinking.dsk BSAVE -a 0xC00 T3
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|
||||||
|
@ -26,6 +37,67 @@ THINKING: thinking.o
|
||||||
thinking.o: thinking.s
|
thinking.o: thinking.s
|
||||||
ca65 -o thinking.o thinking.s -l thinking.lst
|
ca65 -o thinking.o thinking.s -l thinking.lst
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
THINKING_FLIP: thinking_flip.o
|
||||||
|
ld65 -o THINKING_FLIP thinking_flip.o -C $(LINKERSCRIPTS)/apple2_c00.inc
|
||||||
|
|
||||||
|
thinking_flip.o: thinking_flip.s
|
||||||
|
ca65 -o thinking_flip.o thinking_flip.s -l thinking_flip.lst
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
THINKING_SLOW: thinking_slow.o
|
||||||
|
ld65 -o THINKING_SLOW thinking_slow.o -C $(LINKERSCRIPTS)/apple2_c00.inc
|
||||||
|
|
||||||
|
thinking_slow.o: thinking_slow.s
|
||||||
|
ca65 -o thinking_slow.o thinking_slow.s -l thinking_slow.lst
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
THINKING_ATTEMPT2: thinking_attempt2.o
|
||||||
|
ld65 -o THINKING_ATTEMPT2 thinking_attempt2.o -C $(LINKERSCRIPTS)/apple2_c00.inc
|
||||||
|
|
||||||
|
thinking_attempt2.o: thinking_attempt2.s
|
||||||
|
ca65 -o thinking_attempt2.o thinking_attempt2.s -l thinking_attempt2.lst
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
THINKING_ATTEMPT3: thinking_attempt3.o
|
||||||
|
ld65 -o THINKING_ATTEMPT3 thinking_attempt3.o -C $(LINKERSCRIPTS)/apple2_c00.inc
|
||||||
|
|
||||||
|
thinking_attempt3.o: thinking_attempt3.s
|
||||||
|
ca65 -o thinking_attempt3.o thinking_attempt3.s -l thinking_attempt3.lst
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
THINKING_ATTEMPT4: thinking_attempt4.o
|
||||||
|
ld65 -o THINKING_ATTEMPT4 thinking_attempt4.o -C $(LINKERSCRIPTS)/apple2_c00.inc
|
||||||
|
|
||||||
|
thinking_attempt4.o: thinking_attempt4.s
|
||||||
|
ca65 -o thinking_attempt4.o thinking_attempt4.s -l thinking_attempt4.lst
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
THINKING_ATTEMPT5: thinking_attempt5.o
|
||||||
|
ld65 -o THINKING_ATTEMPT5 thinking_attempt5.o -C $(LINKERSCRIPTS)/apple2_c00.inc
|
||||||
|
|
||||||
|
thinking_attempt5.o: thinking_attempt5.s
|
||||||
|
ca65 -o thinking_attempt5.o thinking_attempt5.s -l thinking_attempt5.lst
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
THINKING_ATTEMPT6: thinking_attempt6.o
|
||||||
|
ld65 -o THINKING_ATTEMPT6 thinking_attempt6.o -C $(LINKERSCRIPTS)/apple2_c00.inc
|
||||||
|
|
||||||
|
thinking_attempt6.o: thinking_attempt6.s
|
||||||
|
ca65 -o thinking_attempt6.o thinking_attempt6.s -l thinking_attempt6.lst
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|
||||||
RAINBOW_BOX: rainbow_box.o
|
RAINBOW_BOX: rainbow_box.o
|
||||||
|
@ -36,5 +108,22 @@ rainbow_box.o: rainbow_box.s
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|
||||||
|
T2: t2.o
|
||||||
|
ld65 -o T2 t2.o -C $(LINKERSCRIPTS)/apple2_c00.inc
|
||||||
|
|
||||||
|
t2.o: t2.s
|
||||||
|
ca65 -o t2.o t2.s -l t2.lst
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
T3: t3.o
|
||||||
|
ld65 -o T3 t3.o -C $(LINKERSCRIPTS)/apple2_c00.inc
|
||||||
|
|
||||||
|
t3.o: t3.s
|
||||||
|
ca65 -o t3.o t3.s -l t3.lst
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *~ *.o *.lst HELLO THINKING RAINBOW_BOX
|
rm -f *~ *.o *.lst HELLO THINKING RAINBOW_BOX T2 THINKING_FLIP T3 THINKING_SLOW \
|
||||||
|
THINKING_ATTEMPT2 THINKING_ATTEMPT3 THINKING_ATTEMPT4 THINKING_ATTEMPT5 THINKING_ATTEMPT6
|
||||||
|
|
81
graphics/gr/thinking/t2.s
Normal file
81
graphics/gr/thinking/t2.s
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
; nyan
|
||||||
|
|
||||||
|
; by Vince `deater` Weaver <vince@deater.net> / dSr
|
||||||
|
|
||||||
|
; zero page
|
||||||
|
|
||||||
|
H2 = $2C
|
||||||
|
COLOR = $30
|
||||||
|
X0 = $F0
|
||||||
|
XX = $F1
|
||||||
|
FRAME = $F2
|
||||||
|
Y1 = $F3
|
||||||
|
Y0 = $F4
|
||||||
|
X1 = $F5
|
||||||
|
|
||||||
|
; soft-switches
|
||||||
|
FULLGR = $C052
|
||||||
|
|
||||||
|
; ROM routines
|
||||||
|
|
||||||
|
PLOT = $F800 ;; PLOT AT Y,A
|
||||||
|
PLOT1 = $F80E ;; PLOT at (GBASL),Y (need MASK to be $0f or $f0)
|
||||||
|
HLINE = $F819 ;; HLINE Y,$2C at A
|
||||||
|
SETCOL = $F864 ;; COLOR=A
|
||||||
|
SETGR = $FB40 ;; init lores and clear screen
|
||||||
|
WAIT = $FCA8 ;; delay 1/2(26+27A+5A^2) us
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;================================
|
||||||
|
; Clear screen and setup graphics
|
||||||
|
;================================
|
||||||
|
boxes:
|
||||||
|
|
||||||
|
jsr SETGR ; set lo-res 40x40 mode
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
sta COLOR
|
||||||
|
sta X0 ; X0
|
||||||
|
tax
|
||||||
|
|
||||||
|
lda #39
|
||||||
|
sta H2 ; X1
|
||||||
|
sta Y1
|
||||||
|
|
||||||
|
draw_box_loop:
|
||||||
|
|
||||||
|
stx Y0
|
||||||
|
inner_loop:
|
||||||
|
|
||||||
|
;; HLINE Y,H2 at A
|
||||||
|
;; X left alone, carry set on exit
|
||||||
|
;; H2 left alone
|
||||||
|
;; Y and A trashed
|
||||||
|
|
||||||
|
ldy X0
|
||||||
|
txa
|
||||||
|
jsr HLINE ; y, H2 at A
|
||||||
|
|
||||||
|
cpx Y1
|
||||||
|
inx
|
||||||
|
bcc inner_loop
|
||||||
|
|
||||||
|
|
||||||
|
inc COLOR
|
||||||
|
|
||||||
|
ldx Y0
|
||||||
|
inx ; Y0
|
||||||
|
inx
|
||||||
|
dec Y1
|
||||||
|
dec Y1
|
||||||
|
|
||||||
|
inc X0
|
||||||
|
dec H2
|
||||||
|
|
||||||
|
cpx #20
|
||||||
|
bne draw_box_loop
|
||||||
|
|
||||||
|
|
||||||
|
end:
|
||||||
|
jmp end
|
196
graphics/gr/thinking/t3.s
Normal file
196
graphics/gr/thinking/t3.s
Normal file
|
@ -0,0 +1,196 @@
|
||||||
|
; Print-shop Style THINKING
|
||||||
|
|
||||||
|
; by Vince `deater` Weaver <vince@deater.net>
|
||||||
|
|
||||||
|
.include "zp.inc"
|
||||||
|
.include "hardware.inc"
|
||||||
|
|
||||||
|
|
||||||
|
COL = $F0
|
||||||
|
XSTART = $F1
|
||||||
|
XSTOP = $F2
|
||||||
|
YSTART = $F3
|
||||||
|
YSTOP = $F4
|
||||||
|
OFFSET = $F5
|
||||||
|
CURRENT = $F6
|
||||||
|
YY = $F7
|
||||||
|
BASE = $F8
|
||||||
|
|
||||||
|
X0 = $F9
|
||||||
|
Y1 = $FA
|
||||||
|
Y0 = $FB
|
||||||
|
X1 = $FC
|
||||||
|
|
||||||
|
|
||||||
|
thinking:
|
||||||
|
|
||||||
|
jsr SETGR ; set lo-res 40x40 mode
|
||||||
|
; A=$D0 afterward
|
||||||
|
|
||||||
|
big_loop:
|
||||||
|
lda #1
|
||||||
|
sta COLOR
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
sta X0 ; X0
|
||||||
|
tax
|
||||||
|
|
||||||
|
lda #39
|
||||||
|
sta H2 ; X1
|
||||||
|
sta Y1
|
||||||
|
|
||||||
|
draw_box_loop:
|
||||||
|
|
||||||
|
stx Y0
|
||||||
|
|
||||||
|
|
||||||
|
inner_loop:
|
||||||
|
;; HLINE Y,H2 at A
|
||||||
|
;; X left alone, carry set on exit
|
||||||
|
;; H2 left alone
|
||||||
|
;; Y and A trashed
|
||||||
|
|
||||||
|
ldy X0
|
||||||
|
txa
|
||||||
|
jsr HLINE ; y, H2 at A
|
||||||
|
|
||||||
|
cpx Y1
|
||||||
|
inx
|
||||||
|
bcc inner_loop
|
||||||
|
|
||||||
|
inc COLOR
|
||||||
|
|
||||||
|
ldx Y0
|
||||||
|
inx ; Y0
|
||||||
|
inx
|
||||||
|
dec Y1
|
||||||
|
dec Y1
|
||||||
|
|
||||||
|
inc X0
|
||||||
|
dec H2
|
||||||
|
|
||||||
|
cpx #20
|
||||||
|
bne draw_box_loop
|
||||||
|
|
||||||
|
;==========================
|
||||||
|
; done drawing rainbow box
|
||||||
|
;==========================
|
||||||
|
|
||||||
|
;==========================
|
||||||
|
; write THINKING
|
||||||
|
;==========================
|
||||||
|
|
||||||
|
thinking_loop:
|
||||||
|
lda #7 ; YY
|
||||||
|
ldx #0
|
||||||
|
|
||||||
|
thinking_yloop:
|
||||||
|
sta YY ; YY in A here
|
||||||
|
|
||||||
|
; lda YY
|
||||||
|
jsr GBASCALC ; take Y-coord/2 in A, put address in GBASL/H ( a trashed, C clear)
|
||||||
|
|
||||||
|
ldy #0
|
||||||
|
inc_pointer:
|
||||||
|
inx
|
||||||
|
lda thinking_data-1,X
|
||||||
|
sta CURRENT
|
||||||
|
thinking_xloop:
|
||||||
|
ror CURRENT
|
||||||
|
bcc no_draw
|
||||||
|
|
||||||
|
lda #$00
|
||||||
|
sta (GBASL),Y
|
||||||
|
no_draw:
|
||||||
|
iny
|
||||||
|
tya
|
||||||
|
and #$7
|
||||||
|
beq inc_pointer
|
||||||
|
|
||||||
|
cpy #39
|
||||||
|
bne thinking_xloop
|
||||||
|
|
||||||
|
inc YY
|
||||||
|
lda YY
|
||||||
|
cmp #14
|
||||||
|
bne thinking_yloop
|
||||||
|
|
||||||
|
;==========================
|
||||||
|
; flip pages
|
||||||
|
;==========================
|
||||||
|
bit PAGE2
|
||||||
|
forever_loop:
|
||||||
|
|
||||||
|
ldy #0
|
||||||
|
copy_loop:
|
||||||
|
|
||||||
|
c_smc1:
|
||||||
|
lda $400,Y
|
||||||
|
beq blah
|
||||||
|
clc
|
||||||
|
adc COL
|
||||||
|
and #$7
|
||||||
|
tax
|
||||||
|
lda color_lookup,X
|
||||||
|
blah:
|
||||||
|
c_smc2:
|
||||||
|
sta $800,Y
|
||||||
|
iny
|
||||||
|
bne copy_loop
|
||||||
|
|
||||||
|
inc c_smc1+2
|
||||||
|
inc c_smc2+2
|
||||||
|
lda c_smc1+2
|
||||||
|
cmp #$08
|
||||||
|
bne copy_loop
|
||||||
|
|
||||||
|
sta c_smc2+2
|
||||||
|
lsr
|
||||||
|
sta c_smc1+2
|
||||||
|
|
||||||
|
;===================
|
||||||
|
; increment color
|
||||||
|
; after loop we are +10
|
||||||
|
; so -1 actually means increment 1 (because we mod 8 it)
|
||||||
|
inc COL
|
||||||
|
|
||||||
|
;===================
|
||||||
|
; WAIT
|
||||||
|
|
||||||
|
lda #255
|
||||||
|
jsr WAIT ; A = 0 at end
|
||||||
|
|
||||||
|
beq forever_loop
|
||||||
|
|
||||||
|
|
||||||
|
;0 1 2 3 3
|
||||||
|
;01234567|89012345|67890123|45678901|23456789
|
||||||
|
; ***** *| * * * | * * |* * * |* ***
|
||||||
|
; * *| * * **| * * *| * ** |* * *
|
||||||
|
; * *| * * **| * * * | * ** |* *
|
||||||
|
; * *|*** * * |* * ** | * * * |* *
|
||||||
|
; * *| * * * | ** * * | * * *|* * **
|
||||||
|
; * *| * * * | ** * *| * * *|* * *
|
||||||
|
; * *| * * * | * * |* * * |* ****
|
||||||
|
;
|
||||||
|
; 7*5 bytes = 35 bytes
|
||||||
|
|
||||||
|
thinking_data:
|
||||||
|
.byte $BE,$54,$14,$15,$39
|
||||||
|
.byte $88,$D4,$94,$34,$45
|
||||||
|
.byte $88,$D4,$54,$34,$05
|
||||||
|
.byte $88,$57,$35,$54,$05
|
||||||
|
.byte $88,$54,$56,$94,$65
|
||||||
|
.byte $88,$54,$96,$94,$45
|
||||||
|
.byte $88,$54,$14,$15,$79
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
color_lookup:
|
||||||
|
; magenta, pink, orange, yellow, lgreen, aqua, mblue, lblue
|
||||||
|
.byte $33,$BB,$99,$DD,$CC,$EE,$66,$77
|
||||||
|
|
||||||
|
|
||||||
|
; for apple II bot entry at $3F5
|
||||||
|
|
||||||
|
jmp thinking
|
|
@ -2,13 +2,11 @@
|
||||||
|
|
||||||
; by Vince `deater` Weaver <vince@deater.net>
|
; by Vince `deater` Weaver <vince@deater.net>
|
||||||
|
|
||||||
|
; 158 bytes -- blargh
|
||||||
|
|
||||||
.include "zp.inc"
|
.include "zp.inc"
|
||||||
.include "hardware.inc"
|
.include "hardware.inc"
|
||||||
|
|
||||||
; 161 -- original with page flip removed
|
|
||||||
; 159 -- remove extraneous store to YY
|
|
||||||
; 158 -- cond jump for jmp
|
|
||||||
|
|
||||||
COL = $F0
|
COL = $F0
|
||||||
XSTART = $F1
|
XSTART = $F1
|
||||||
XSTOP = $F2
|
XSTOP = $F2
|
||||||
|
@ -17,6 +15,8 @@ YSTOP = $F4
|
||||||
OFFSET = $F5
|
OFFSET = $F5
|
||||||
CURRENT = $F6
|
CURRENT = $F6
|
||||||
YY = $F7
|
YY = $F7
|
||||||
|
BLARGH = $F8
|
||||||
|
BLARGHH = $F9
|
||||||
|
|
||||||
thinking:
|
thinking:
|
||||||
|
|
||||||
|
@ -27,6 +27,10 @@ big_loop:
|
||||||
|
|
||||||
; COL value doesn't matter?
|
; COL value doesn't matter?
|
||||||
|
|
||||||
|
; 0,0 to 39,39
|
||||||
|
; 1,2 to 38,37
|
||||||
|
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
sta YSTART
|
sta YSTART
|
||||||
sta XSTART
|
sta XSTART
|
||||||
|
@ -41,22 +45,26 @@ box_loop:
|
||||||
ldx YSTART
|
ldx YSTART
|
||||||
yloop:
|
yloop:
|
||||||
txa
|
txa
|
||||||
jsr GBASCALC ; take Y-coord/2 in A, put address in GBASL/H ( a trashed, C clear)
|
jsr GBASCALC ; take Y-coord/2 in A, put address in GBASL/H
|
||||||
|
; ; ( a trashed, C clear)
|
||||||
.if 0
|
lda GBASL
|
||||||
|
sta BLARGH
|
||||||
lda GBASH
|
lda GBASH
|
||||||
draw_page_smc:
|
clc
|
||||||
adc #0
|
adc #4
|
||||||
sta GBASH
|
sta BLARGHH
|
||||||
.endif
|
|
||||||
|
|
||||||
lda COL
|
lda COL
|
||||||
and #$7
|
and #$7
|
||||||
tay
|
tay
|
||||||
lda color_lookup,Y
|
lda color_lookup,Y
|
||||||
|
sta COLOR
|
||||||
|
|
||||||
ldy XSTART
|
ldy XSTART
|
||||||
xloop:
|
xloop:
|
||||||
|
lda COLOR
|
||||||
|
and (BLARGH),Y
|
||||||
sta (GBASL),Y
|
sta (GBASL),Y
|
||||||
iny
|
iny
|
||||||
cpy XSTOP
|
cpy XSTOP
|
||||||
|
@ -84,14 +92,13 @@ xloop:
|
||||||
;==========================
|
;==========================
|
||||||
; write THINKING
|
; write THINKING
|
||||||
;==========================
|
;==========================
|
||||||
|
.if 0
|
||||||
thinking_loop:
|
thinking_loop:
|
||||||
lda #7 ; YY
|
lda #7
|
||||||
ldx #0
|
ldx #0
|
||||||
|
|
||||||
thinking_yloop:
|
thinking_yloop:
|
||||||
sta YY ; YY in A here
|
sta YY
|
||||||
|
|
||||||
; lda YY
|
; lda YY
|
||||||
jsr GBASCALC ; take Y-coord/2 in A, put address in GBASL/H ( a trashed, C clear)
|
jsr GBASCALC ; take Y-coord/2 in A, put address in GBASL/H ( a trashed, C clear)
|
||||||
|
|
||||||
|
@ -119,23 +126,11 @@ no_draw:
|
||||||
lda YY
|
lda YY
|
||||||
cmp #14
|
cmp #14
|
||||||
bne thinking_yloop
|
bne thinking_yloop
|
||||||
|
.endif
|
||||||
;==========================
|
;==========================
|
||||||
; flip pages
|
; flip pages
|
||||||
;==========================
|
;==========================
|
||||||
.if 0
|
|
||||||
flip_pages:
|
|
||||||
|
|
||||||
ldy #1
|
|
||||||
lda draw_page_smc+1 ; DRAW_PAGE
|
|
||||||
bne done_page
|
|
||||||
dey
|
|
||||||
done_page:
|
|
||||||
ldx PAGE1,Y ; set display page to PAGE1 or PAGE2
|
|
||||||
|
|
||||||
eor #$4 ; flip draw page between $400/$800
|
|
||||||
sta draw_page_smc+1 ; DRAW_PAGE
|
|
||||||
.endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -145,11 +140,12 @@ done_page:
|
||||||
; so -1 actually means increment 1 (because we mod 8 it)
|
; so -1 actually means increment 1 (because we mod 8 it)
|
||||||
dec COL
|
dec COL
|
||||||
|
|
||||||
|
|
||||||
;===================
|
;===================
|
||||||
; WAIT
|
; wait
|
||||||
|
|
||||||
lda #255
|
lda #255
|
||||||
jsr WAIT ; A = 0 at end
|
jsr WAIT
|
||||||
|
|
||||||
beq big_loop
|
beq big_loop
|
||||||
|
|
||||||
|
|
199
graphics/gr/thinking/thinking_attempt5.s
Normal file
199
graphics/gr/thinking/thinking_attempt5.s
Normal file
|
@ -0,0 +1,199 @@
|
||||||
|
; Print-shop Style THINKING
|
||||||
|
|
||||||
|
; by Vince `deater` Weaver <vince@deater.net>
|
||||||
|
|
||||||
|
.include "zp.inc"
|
||||||
|
.include "hardware.inc"
|
||||||
|
|
||||||
|
; 161 -- original with page flip removed
|
||||||
|
; 159 -- remove extraneous store to YY
|
||||||
|
; 158 -- cond jump for jmp
|
||||||
|
|
||||||
|
; 0-------------------------
|
||||||
|
; 0 1111111111111111111111 0
|
||||||
|
; 0 1 22222222222222222221 0
|
||||||
|
|
||||||
|
; if XX < YY COL++
|
||||||
|
|
||||||
|
|
||||||
|
COL = $F0
|
||||||
|
XSTART = $F1
|
||||||
|
XSTOP = $F2
|
||||||
|
YSTART = $F3
|
||||||
|
YSTOP = $F4
|
||||||
|
OFFSET = $F5
|
||||||
|
CURRENT = $F6
|
||||||
|
YY = $F7
|
||||||
|
BASE = $F8
|
||||||
|
|
||||||
|
thinking:
|
||||||
|
|
||||||
|
jsr SETGR ; set lo-res 40x40 mode
|
||||||
|
; A=$D0 afterward
|
||||||
|
|
||||||
|
big_loop:
|
||||||
|
|
||||||
|
ldx #19
|
||||||
|
yloop:
|
||||||
|
txa
|
||||||
|
jsr GBASCALC ; take Y-coord/2 in A, put address in GBASL/H ( a trashed, C clear)
|
||||||
|
|
||||||
|
lda COL
|
||||||
|
and #$7
|
||||||
|
tay
|
||||||
|
lda color_lookup,Y
|
||||||
|
|
||||||
|
|
||||||
|
ldy #39
|
||||||
|
xloop:
|
||||||
|
sta (GBASL),Y
|
||||||
|
dey
|
||||||
|
bpl xloop
|
||||||
|
|
||||||
|
inc COL
|
||||||
|
|
||||||
|
dex
|
||||||
|
bne yloop
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.if 0
|
||||||
|
; COL value doesn't matter?
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
sta YSTART
|
||||||
|
sta XSTART
|
||||||
|
|
||||||
|
lda #20
|
||||||
|
sta YSTOP
|
||||||
|
asl
|
||||||
|
sta XSTOP
|
||||||
|
|
||||||
|
box_loop:
|
||||||
|
|
||||||
|
ldx YSTART
|
||||||
|
yloop:
|
||||||
|
txa
|
||||||
|
jsr GBASCALC ; take Y-coord/2 in A, put address in GBASL/H ( a trashed, C clear)
|
||||||
|
|
||||||
|
lda COL
|
||||||
|
and #$7
|
||||||
|
tay
|
||||||
|
lda color_lookup,Y
|
||||||
|
|
||||||
|
ldy XSTART
|
||||||
|
xloop:
|
||||||
|
sta (GBASL),Y
|
||||||
|
iny
|
||||||
|
cpy XSTOP
|
||||||
|
bne xloop
|
||||||
|
|
||||||
|
inx
|
||||||
|
cpx YSTOP
|
||||||
|
bne yloop
|
||||||
|
|
||||||
|
inc COL
|
||||||
|
|
||||||
|
inc XSTART
|
||||||
|
dec XSTOP
|
||||||
|
|
||||||
|
inc YSTART
|
||||||
|
dec YSTOP
|
||||||
|
lda YSTOP
|
||||||
|
cmp #10
|
||||||
|
bne box_loop
|
||||||
|
.endif
|
||||||
|
;==========================
|
||||||
|
; done drawing rainbow box
|
||||||
|
;==========================
|
||||||
|
|
||||||
|
;==========================
|
||||||
|
; write THINKING
|
||||||
|
;==========================
|
||||||
|
|
||||||
|
thinking_loop:
|
||||||
|
lda #7 ; YY
|
||||||
|
ldx #0
|
||||||
|
|
||||||
|
thinking_yloop:
|
||||||
|
sta YY ; YY in A here
|
||||||
|
|
||||||
|
; lda YY
|
||||||
|
jsr GBASCALC ; take Y-coord/2 in A, put address in GBASL/H ( a trashed, C clear)
|
||||||
|
|
||||||
|
ldy #0
|
||||||
|
inc_pointer:
|
||||||
|
inx
|
||||||
|
lda thinking_data-1,X
|
||||||
|
sta CURRENT
|
||||||
|
thinking_xloop:
|
||||||
|
ror CURRENT
|
||||||
|
bcc no_draw
|
||||||
|
|
||||||
|
lda #$00
|
||||||
|
sta (GBASL),Y
|
||||||
|
no_draw:
|
||||||
|
iny
|
||||||
|
tya
|
||||||
|
and #$7
|
||||||
|
beq inc_pointer
|
||||||
|
|
||||||
|
cpy #39
|
||||||
|
bne thinking_xloop
|
||||||
|
|
||||||
|
inc YY
|
||||||
|
lda YY
|
||||||
|
cmp #14
|
||||||
|
bne thinking_yloop
|
||||||
|
|
||||||
|
;==========================
|
||||||
|
; flip pages
|
||||||
|
;==========================
|
||||||
|
|
||||||
|
|
||||||
|
;===================
|
||||||
|
; increment color
|
||||||
|
; after loop we are +10
|
||||||
|
; so -1 actually means increment 1 (because we mod 8 it)
|
||||||
|
dec COL
|
||||||
|
|
||||||
|
;===================
|
||||||
|
; WAIT
|
||||||
|
|
||||||
|
lda #255
|
||||||
|
jsr WAIT ; A = 0 at end
|
||||||
|
|
||||||
|
beq big_loop
|
||||||
|
|
||||||
|
|
||||||
|
;0 1 2 3 3
|
||||||
|
;01234567|89012345|67890123|45678901|23456789
|
||||||
|
; ***** *| * * * | * * |* * * |* ***
|
||||||
|
; * *| * * **| * * *| * ** |* * *
|
||||||
|
; * *| * * **| * * * | * ** |* *
|
||||||
|
; * *|*** * * |* * ** | * * * |* *
|
||||||
|
; * *| * * * | ** * * | * * *|* * **
|
||||||
|
; * *| * * * | ** * *| * * *|* * *
|
||||||
|
; * *| * * * | * * |* * * |* ****
|
||||||
|
;
|
||||||
|
; 7*5 bytes = 35 bytes
|
||||||
|
|
||||||
|
thinking_data:
|
||||||
|
.byte $BE,$54,$14,$15,$39
|
||||||
|
.byte $88,$D4,$94,$34,$45
|
||||||
|
.byte $88,$D4,$54,$34,$05
|
||||||
|
.byte $88,$57,$35,$54,$05
|
||||||
|
.byte $88,$54,$56,$94,$65
|
||||||
|
.byte $88,$54,$96,$94,$45
|
||||||
|
.byte $88,$54,$14,$15,$79
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
color_lookup:
|
||||||
|
; magenta, pink, orange, yellow, lgreen, aqua, mblue, lblue
|
||||||
|
.byte $33,$BB,$99,$DD,$CC,$EE,$66,$77
|
||||||
|
|
||||||
|
|
||||||
|
; for apple II bot entry at $3F5
|
||||||
|
|
||||||
|
jmp thinking
|
206
graphics/gr/thinking/thinking_attempt6.s
Normal file
206
graphics/gr/thinking/thinking_attempt6.s
Normal file
|
@ -0,0 +1,206 @@
|
||||||
|
; Print-shop Style THINKING
|
||||||
|
|
||||||
|
; by Vince `deater` Weaver <vince@deater.net>
|
||||||
|
|
||||||
|
.include "zp.inc"
|
||||||
|
.include "hardware.inc"
|
||||||
|
|
||||||
|
; 161 -- original with page flip removed
|
||||||
|
; 159 -- remove extraneous store to YY
|
||||||
|
; 158 -- cond jump for jmp
|
||||||
|
|
||||||
|
; 0-------------------------
|
||||||
|
; 0 1111111111111111111111 0
|
||||||
|
; 0 1 22222222222222222221 0
|
||||||
|
|
||||||
|
; if XX < YY COL++
|
||||||
|
|
||||||
|
|
||||||
|
COL = $F0
|
||||||
|
XSTART = $F1
|
||||||
|
XSTOP = $F2
|
||||||
|
YSTART = $F3
|
||||||
|
YSTOP = $F4
|
||||||
|
OFFSET = $F5
|
||||||
|
CURRENT = $F6
|
||||||
|
YY = $F7
|
||||||
|
BASE = $F8
|
||||||
|
|
||||||
|
thinking:
|
||||||
|
|
||||||
|
jsr SETGR ; set lo-res 40x40 mode
|
||||||
|
; A=$D0 afterward
|
||||||
|
|
||||||
|
big_loop:
|
||||||
|
|
||||||
|
ldx #19
|
||||||
|
yloop:
|
||||||
|
txa
|
||||||
|
jsr GBASCALC ; take Y-coord/2 in A, put address in GBASL/H ( a trashed, C clear)
|
||||||
|
|
||||||
|
lda COL
|
||||||
|
and #$7
|
||||||
|
tay
|
||||||
|
lda color_lookup,Y
|
||||||
|
|
||||||
|
|
||||||
|
ldy #39
|
||||||
|
xloop:
|
||||||
|
sta (GBASL),Y
|
||||||
|
dey
|
||||||
|
bpl xloop
|
||||||
|
|
||||||
|
cpx #10
|
||||||
|
beq blarch
|
||||||
|
bcc blurgh
|
||||||
|
inc COL
|
||||||
|
jmp blarch
|
||||||
|
blurgh:
|
||||||
|
dec COL
|
||||||
|
blarch:
|
||||||
|
dex
|
||||||
|
bpl yloop
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.if 0
|
||||||
|
; COL value doesn't matter?
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
sta YSTART
|
||||||
|
sta XSTART
|
||||||
|
|
||||||
|
lda #20
|
||||||
|
sta YSTOP
|
||||||
|
asl
|
||||||
|
sta XSTOP
|
||||||
|
|
||||||
|
box_loop:
|
||||||
|
|
||||||
|
ldx YSTART
|
||||||
|
yloop:
|
||||||
|
txa
|
||||||
|
jsr GBASCALC ; take Y-coord/2 in A, put address in GBASL/H ( a trashed, C clear)
|
||||||
|
|
||||||
|
lda COL
|
||||||
|
and #$7
|
||||||
|
tay
|
||||||
|
lda color_lookup,Y
|
||||||
|
|
||||||
|
ldy XSTART
|
||||||
|
xloop:
|
||||||
|
sta (GBASL),Y
|
||||||
|
iny
|
||||||
|
cpy XSTOP
|
||||||
|
bne xloop
|
||||||
|
|
||||||
|
inx
|
||||||
|
cpx YSTOP
|
||||||
|
bne yloop
|
||||||
|
|
||||||
|
inc COL
|
||||||
|
|
||||||
|
inc XSTART
|
||||||
|
dec XSTOP
|
||||||
|
|
||||||
|
inc YSTART
|
||||||
|
dec YSTOP
|
||||||
|
lda YSTOP
|
||||||
|
cmp #10
|
||||||
|
bne box_loop
|
||||||
|
.endif
|
||||||
|
;==========================
|
||||||
|
; done drawing rainbow box
|
||||||
|
;==========================
|
||||||
|
|
||||||
|
;==========================
|
||||||
|
; write THINKING
|
||||||
|
;==========================
|
||||||
|
|
||||||
|
thinking_loop:
|
||||||
|
lda #7 ; YY
|
||||||
|
ldx #0
|
||||||
|
|
||||||
|
thinking_yloop:
|
||||||
|
sta YY ; YY in A here
|
||||||
|
|
||||||
|
; lda YY
|
||||||
|
jsr GBASCALC ; take Y-coord/2 in A, put address in GBASL/H ( a trashed, C clear)
|
||||||
|
|
||||||
|
ldy #0
|
||||||
|
inc_pointer:
|
||||||
|
inx
|
||||||
|
lda thinking_data-1,X
|
||||||
|
sta CURRENT
|
||||||
|
thinking_xloop:
|
||||||
|
ror CURRENT
|
||||||
|
bcc no_draw
|
||||||
|
|
||||||
|
lda #$00
|
||||||
|
sta (GBASL),Y
|
||||||
|
no_draw:
|
||||||
|
iny
|
||||||
|
tya
|
||||||
|
and #$7
|
||||||
|
beq inc_pointer
|
||||||
|
|
||||||
|
cpy #39
|
||||||
|
bne thinking_xloop
|
||||||
|
|
||||||
|
inc YY
|
||||||
|
lda YY
|
||||||
|
cmp #14
|
||||||
|
bne thinking_yloop
|
||||||
|
|
||||||
|
;==========================
|
||||||
|
; flip pages
|
||||||
|
;==========================
|
||||||
|
|
||||||
|
|
||||||
|
;===================
|
||||||
|
; increment color
|
||||||
|
; after loop we are +10
|
||||||
|
; so -1 actually means increment 1 (because we mod 8 it)
|
||||||
|
inc COL
|
||||||
|
inc COL
|
||||||
|
|
||||||
|
;===================
|
||||||
|
; WAIT
|
||||||
|
|
||||||
|
lda #255
|
||||||
|
jsr WAIT ; A = 0 at end
|
||||||
|
|
||||||
|
beq big_loop
|
||||||
|
|
||||||
|
|
||||||
|
;0 1 2 3 3
|
||||||
|
;01234567|89012345|67890123|45678901|23456789
|
||||||
|
; ***** *| * * * | * * |* * * |* ***
|
||||||
|
; * *| * * **| * * *| * ** |* * *
|
||||||
|
; * *| * * **| * * * | * ** |* *
|
||||||
|
; * *|*** * * |* * ** | * * * |* *
|
||||||
|
; * *| * * * | ** * * | * * *|* * **
|
||||||
|
; * *| * * * | ** * *| * * *|* * *
|
||||||
|
; * *| * * * | * * |* * * |* ****
|
||||||
|
;
|
||||||
|
; 7*5 bytes = 35 bytes
|
||||||
|
|
||||||
|
thinking_data:
|
||||||
|
.byte $BE,$54,$14,$15,$39
|
||||||
|
.byte $88,$D4,$94,$34,$45
|
||||||
|
.byte $88,$D4,$54,$34,$05
|
||||||
|
.byte $88,$57,$35,$54,$05
|
||||||
|
.byte $88,$54,$56,$94,$65
|
||||||
|
.byte $88,$54,$96,$94,$45
|
||||||
|
.byte $88,$54,$14,$15,$79
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
color_lookup:
|
||||||
|
; magenta, pink, orange, yellow, lgreen, aqua, mblue, lblue
|
||||||
|
.byte $33,$BB,$99,$DD,$CC,$EE,$66,$77
|
||||||
|
|
||||||
|
|
||||||
|
; for apple II bot entry at $3F5
|
||||||
|
|
||||||
|
jmp thinking
|
128
graphics/gr/thinking/thinking_boxes.s
Normal file
128
graphics/gr/thinking/thinking_boxes.s
Normal file
|
@ -0,0 +1,128 @@
|
||||||
|
; nyan
|
||||||
|
|
||||||
|
; by Vince `deater` Weaver <vince@deater.net> / dSr
|
||||||
|
|
||||||
|
; zero page
|
||||||
|
|
||||||
|
H2 = $2C
|
||||||
|
COLOR = $30
|
||||||
|
X0 = $F0
|
||||||
|
XX = $F1
|
||||||
|
FRAME = $F2
|
||||||
|
Y1 = $F3
|
||||||
|
|
||||||
|
; soft-switches
|
||||||
|
FULLGR = $C052
|
||||||
|
|
||||||
|
; ROM routines
|
||||||
|
|
||||||
|
PLOT = $F800 ;; PLOT AT Y,A
|
||||||
|
PLOT1 = $F80E ;; PLOT at (GBASL),Y (need MASK to be $0f or $f0)
|
||||||
|
HLINE = $F819 ;; HLINE Y,$2C at A
|
||||||
|
SETCOL = $F864 ;; COLOR=A
|
||||||
|
SETGR = $FB40 ;; init lores and clear screen
|
||||||
|
WAIT = $FCA8 ;; delay 1/2(26+27A+5A^2) us
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;1DEFFNP(X)=PEEK(2054+I*5+X)-32:
|
||||||
|
;GR:POKE49234,0:
|
||||||
|
;FORI=0TO29:COLOR=FNP(0):FORY=FNP(3)TOFNP(4)
|
||||||
|
;:HLINFNP(1),FNP(2)ATY:NEXTY,I:GETA
|
||||||
|
|
||||||
|
|
||||||
|
;================================
|
||||||
|
; Clear screen and setup graphics
|
||||||
|
;================================
|
||||||
|
boxes:
|
||||||
|
|
||||||
|
jsr SETGR ; set lo-res 40x40 mode
|
||||||
|
|
||||||
|
draw_box_loop:
|
||||||
|
|
||||||
|
; get color/Y0
|
||||||
|
jsr load_byte
|
||||||
|
tax ; Y0 is in X
|
||||||
|
|
||||||
|
tya ; check for end
|
||||||
|
|
||||||
|
bmi end
|
||||||
|
|
||||||
|
|
||||||
|
jsr load_byte ; Y1
|
||||||
|
sta Y1
|
||||||
|
|
||||||
|
jsr load_byte ; X0
|
||||||
|
sta X0
|
||||||
|
|
||||||
|
tya
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
sta COLOR
|
||||||
|
|
||||||
|
|
||||||
|
jsr load_byte ; X1
|
||||||
|
sta H2
|
||||||
|
|
||||||
|
tya
|
||||||
|
and #$C0
|
||||||
|
ora COLOR
|
||||||
|
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
|
||||||
|
jsr SETCOL
|
||||||
|
|
||||||
|
|
||||||
|
inner_loop:
|
||||||
|
|
||||||
|
;; HLINE Y,H2 at A
|
||||||
|
;; X left alone, carry set on exit
|
||||||
|
;; H2 left alone
|
||||||
|
;; Y and A trashed
|
||||||
|
|
||||||
|
ldy X0
|
||||||
|
txa
|
||||||
|
jsr HLINE
|
||||||
|
|
||||||
|
cpx Y1
|
||||||
|
inx
|
||||||
|
bcc inner_loop
|
||||||
|
bcs draw_box_loop
|
||||||
|
|
||||||
|
|
||||||
|
end:
|
||||||
|
jmp end
|
||||||
|
|
||||||
|
|
||||||
|
;=========================
|
||||||
|
; load byte routine
|
||||||
|
;=========================
|
||||||
|
|
||||||
|
load_byte:
|
||||||
|
inc load_byte_smc+1 ; assume we are always < 256 bytes
|
||||||
|
; so no need to wrap
|
||||||
|
load_byte_smc:
|
||||||
|
lda box_data-1
|
||||||
|
tay
|
||||||
|
and #$3f
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
; 4 6 6 6 6
|
||||||
|
box_data:
|
||||||
|
.byte $00,$27,$40,$27
|
||||||
|
.byte $02,$25,$81,$26
|
||||||
|
.byte $04,$23,$C2,$25
|
||||||
|
.byte $06,$21,$03,$64
|
||||||
|
.byte $08,$1F,$44,$63
|
||||||
|
.byte $0A,$1D,$85,$62
|
||||||
|
.byte $0C,$1B,$C6,$61
|
||||||
|
.byte $0E,$19,$07,$A0
|
||||||
|
.byte $10,$17,$48,$1F
|
||||||
|
.byte $12,$15,$89,$1E
|
||||||
|
.byte $12,$15,$89,$1E
|
||||||
|
.byte $12,$15,$89,$1E
|
||||||
|
.byte $FF
|
185
graphics/gr/thinking/thinking_slow.s
Normal file
185
graphics/gr/thinking/thinking_slow.s
Normal file
|
@ -0,0 +1,185 @@
|
||||||
|
; Print-shop Style THINKING
|
||||||
|
|
||||||
|
; by Vince `deater` Weaver <vince@deater.net>
|
||||||
|
|
||||||
|
.include "zp.inc"
|
||||||
|
.include "hardware.inc"
|
||||||
|
|
||||||
|
; 161 -- original with page flip removed
|
||||||
|
; 159 -- remove extraneous store to YY
|
||||||
|
; 158 -- cond jump for jmp
|
||||||
|
|
||||||
|
; 0-------------------------
|
||||||
|
; 0 1111111111111111111111 0
|
||||||
|
; 0 1 22222222222222222221 0
|
||||||
|
|
||||||
|
; if XX < YY COL++
|
||||||
|
|
||||||
|
|
||||||
|
COL = $F0
|
||||||
|
XSTART = $F1
|
||||||
|
XSTOP = $F2
|
||||||
|
YSTART = $F3
|
||||||
|
YSTOP = $F4
|
||||||
|
OFFSET = $F5
|
||||||
|
CURRENT = $F6
|
||||||
|
YY = $F7
|
||||||
|
BASE = $F8
|
||||||
|
|
||||||
|
X0 = $F9
|
||||||
|
Y1 = $FA
|
||||||
|
Y0 = $FB
|
||||||
|
X1 = $FC
|
||||||
|
|
||||||
|
|
||||||
|
thinking:
|
||||||
|
|
||||||
|
jsr SETGR ; set lo-res 40x40 mode
|
||||||
|
; A=$D0 afterward
|
||||||
|
|
||||||
|
big_loop:
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
; sta COLOR
|
||||||
|
sta X0 ; X0
|
||||||
|
tax
|
||||||
|
|
||||||
|
lda #39
|
||||||
|
sta H2 ; X1
|
||||||
|
sta Y1
|
||||||
|
|
||||||
|
draw_box_loop:
|
||||||
|
|
||||||
|
stx Y0
|
||||||
|
|
||||||
|
lda COL
|
||||||
|
and #$7
|
||||||
|
tay
|
||||||
|
lda color_lookup,Y
|
||||||
|
|
||||||
|
sta COLOR
|
||||||
|
|
||||||
|
inner_loop:
|
||||||
|
;; HLINE Y,H2 at A
|
||||||
|
;; X left alone, carry set on exit
|
||||||
|
;; H2 left alone
|
||||||
|
;; Y and A trashed
|
||||||
|
|
||||||
|
ldy X0
|
||||||
|
txa
|
||||||
|
jsr HLINE ; y, H2 at A
|
||||||
|
|
||||||
|
cpx Y1
|
||||||
|
inx
|
||||||
|
bcc inner_loop
|
||||||
|
|
||||||
|
inc COL
|
||||||
|
|
||||||
|
ldx Y0
|
||||||
|
inx ; Y0
|
||||||
|
inx
|
||||||
|
dec Y1
|
||||||
|
dec Y1
|
||||||
|
|
||||||
|
inc X0
|
||||||
|
dec H2
|
||||||
|
|
||||||
|
cpx #20
|
||||||
|
bne draw_box_loop
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;==========================
|
||||||
|
; done drawing rainbow box
|
||||||
|
;==========================
|
||||||
|
|
||||||
|
;==========================
|
||||||
|
; write THINKING
|
||||||
|
;==========================
|
||||||
|
|
||||||
|
thinking_loop:
|
||||||
|
lda #7 ; YY
|
||||||
|
ldx #0
|
||||||
|
|
||||||
|
thinking_yloop:
|
||||||
|
sta YY ; YY in A here
|
||||||
|
|
||||||
|
; lda YY
|
||||||
|
jsr GBASCALC ; take Y-coord/2 in A, put address in GBASL/H ( a trashed, C clear)
|
||||||
|
|
||||||
|
ldy #0
|
||||||
|
inc_pointer:
|
||||||
|
inx
|
||||||
|
lda thinking_data-1,X
|
||||||
|
sta CURRENT
|
||||||
|
thinking_xloop:
|
||||||
|
ror CURRENT
|
||||||
|
bcc no_draw
|
||||||
|
|
||||||
|
lda #$00
|
||||||
|
sta (GBASL),Y
|
||||||
|
no_draw:
|
||||||
|
iny
|
||||||
|
tya
|
||||||
|
and #$7
|
||||||
|
beq inc_pointer
|
||||||
|
|
||||||
|
cpy #39
|
||||||
|
bne thinking_xloop
|
||||||
|
|
||||||
|
inc YY
|
||||||
|
lda YY
|
||||||
|
cmp #14
|
||||||
|
bne thinking_yloop
|
||||||
|
|
||||||
|
;==========================
|
||||||
|
; flip pages
|
||||||
|
;==========================
|
||||||
|
|
||||||
|
|
||||||
|
;===================
|
||||||
|
; increment color
|
||||||
|
; after loop we are +10
|
||||||
|
; so -1 actually means increment 1 (because we mod 8 it)
|
||||||
|
dec COL
|
||||||
|
|
||||||
|
;===================
|
||||||
|
; WAIT
|
||||||
|
|
||||||
|
lda #255
|
||||||
|
jsr WAIT ; A = 0 at end
|
||||||
|
|
||||||
|
beq big_loop
|
||||||
|
|
||||||
|
|
||||||
|
;0 1 2 3 3
|
||||||
|
;01234567|89012345|67890123|45678901|23456789
|
||||||
|
; ***** *| * * * | * * |* * * |* ***
|
||||||
|
; * *| * * **| * * *| * ** |* * *
|
||||||
|
; * *| * * **| * * * | * ** |* *
|
||||||
|
; * *|*** * * |* * ** | * * * |* *
|
||||||
|
; * *| * * * | ** * * | * * *|* * **
|
||||||
|
; * *| * * * | ** * *| * * *|* * *
|
||||||
|
; * *| * * * | * * |* * * |* ****
|
||||||
|
;
|
||||||
|
; 7*5 bytes = 35 bytes
|
||||||
|
|
||||||
|
thinking_data:
|
||||||
|
.byte $BE,$54,$14,$15,$39
|
||||||
|
.byte $88,$D4,$94,$34,$45
|
||||||
|
.byte $88,$D4,$54,$34,$05
|
||||||
|
.byte $88,$57,$35,$54,$05
|
||||||
|
.byte $88,$54,$56,$94,$65
|
||||||
|
.byte $88,$54,$96,$94,$45
|
||||||
|
.byte $88,$54,$14,$15,$79
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
color_lookup:
|
||||||
|
; magenta, pink, orange, yellow, lgreen, aqua, mblue, lblue
|
||||||
|
.byte $33,$BB,$99,$DD,$CC,$EE,$66,$77
|
||||||
|
|
||||||
|
|
||||||
|
; for apple II bot entry at $3F5
|
||||||
|
|
||||||
|
jmp thinking
|
Loading…
Reference in New Issue
Block a user