hgr: orb: cooler than expected

This commit is contained in:
Vince Weaver 2021-06-25 00:04:25 -04:00
parent 7b733e1509
commit 1ba2a3b0e3
4 changed files with 39 additions and 77 deletions

View File

@ -17,7 +17,7 @@ appleiibot.dsk: E2.BAS FLAME.BAS FLAME2.BAS HELLO \
COMBO.BAS WIRES.BAS PATTERN.BAS BALL.BAS LINES.BAS MOD9.BAS \
XOR_ZOOM.BAS MOD9_HGR.BAS SIER_HGR.BAS MOVE.BAS SINE.BAS XDRAW128.BAS \
GATOR.BAS CURSOR.BAS STARGATE.BAS TUNNEL.BAS STARFIELD.BAS \
STAROOPS.BAS HGRSTARFIELD.BAS COOL_BOT.BAS WEB.BAS
STAROOPS.BAS HGRSTARFIELD.BAS COOL_BOT.BAS WEB.BAS ORB.BAS
# cp $(EMPTY_DISK)/empty.dsk appleiibot.dsk
cp empty.dsk appleiibot.dsk
@ -91,6 +91,7 @@ appleiibot.dsk: E2.BAS FLAME.BAS FLAME2.BAS HELLO \
$(DOS33) -y appleiibot.dsk SAVE A HGRSTARFIELD.BAS
$(DOS33) -y appleiibot.dsk SAVE A COOL_BOT.BAS
$(DOS33) -y appleiibot.dsk SAVE A WEB.BAS
$(DOS33) -y appleiibot.dsk SAVE A ORB.BAS
####
@ -515,5 +516,10 @@ WEB.BAS: web.bas
####
ORB.BAS: orb.bas
$(TOKENIZE) < orb.bas > ORB.BAS
####
clean:
rm -f *~ *.o *.lst convert_to convert_from convert_qkumba convert_vmw make_boxes convert_back convert_tgreene LOAD *.BAS

2
basic/appleiibot/orb.bas Normal file
View File

@ -0,0 +1,2 @@
1FORI=0TO140:POKE1013+I,4*PEEK(2126+I)-192+(PEEK(2267+I/3)-35)/4^(I-INT(I/3)*3):NEXT
2&",clP.QnZ0FkQaW0=ioenQfA;#fmVn<-`nVm>`l2.5J*A:$Vm026D0IaNnRlBnQnemYa?oGliaW0KlYh10@0ZZP6Km0RWmZH6Km0X08AlYd80@0Z[m02X0X083kaa1cTmai[UYoj0jm5k0SE'PX'4F[0>0H5EW-<Z@*5XLY<9,$0E$0#6I,0%%GU86%C[

View File

@ -7,7 +7,7 @@ EMPTY_DISK = ../../../empty_disk
all: circles.dsk
circles.dsk: HELLO CIRCLES CIRCLES_FILL ARCS WEB PAC ROSE \
circles.dsk: HELLO CIRCLES CIRCLES_FILL ARCS WEB PAC ORB \
BRES.BAS BRESBOT.BAS BRESCOOL.BAS \
MID.BAS MIDBOT.BAS MIDCOOL.BAS BRESTEST.BAS
cp $(EMPTY_DISK)/empty.dsk circles.dsk
@ -24,7 +24,7 @@ circles.dsk: HELLO CIRCLES CIRCLES_FILL ARCS WEB PAC ROSE \
$(DOS33) -y circles.dsk BSAVE -a 0x0C00 ARCS
$(DOS33) -y circles.dsk BSAVE -a 0x03f5 WEB
$(DOS33) -y circles.dsk BSAVE -a 0x0C00 PAC
$(DOS33) -y circles.dsk BSAVE -a 0x0C00 ROSE
$(DOS33) -y circles.dsk BSAVE -a 0x03f5 ORB
###
@ -111,11 +111,11 @@ pac.o: pac.s
#
ROSE: rose.o
ld65 -o ROSE rose.o -C $(LINKER_SCRIPTS)/apple2_c00.inc
ORB: orb.o
ld65 -o ORB orb.o -C $(LINKER_SCRIPTS)/apple2_3f5.inc
rose.o: rose.s
ca65 -o rose.o rose.s -l rose.lst
orb.o: orb.s
ca65 -o orb.o orb.s -l orb.lst
@ -123,6 +123,6 @@ rose.o: rose.s
###
clean:
rm -f *~ *.o *.lst CIRCLES ARCS WEB CIRCLES_FILL PAC ROSE \
rm -f *~ *.o *.lst CIRCLES ARCS WEB CIRCLES_FILL PAC ORB \
BRES.BAS BRESBOT.BAS BRESCOOL.BAS BRESTEST.BAS \
MID.BAS MIDBOT.BAS MIDCOOL.BAS

View File

@ -1,12 +1,8 @@
; circles tiny -- Apple II Hires
; rose -- Apple II Hires
; filled circles with an interesting start
; 229 -- first
; 228 -- remove shift
; 190 -- move hplots into two loops
; 169 -- move hplots into one loop
; 166 -- small enough we can use bcs again
; 157 -- some more math
; FIXME: assume hcolor is 3 somehow?
; D0+ used by HGR routines
@ -50,57 +46,19 @@ WAIT = $FCA8 ; delay 1/2(26+27A+5A^2) us
circles:
lda #0
sta R
draw_next:
jsr HGR2
ldx #0
draw_next:
stx R
;draw_next:
.if 0
inc FRAME
ldy FRAME
; center
; Random Color
; HCOLOR=1+RND(1)*7
lda $F000,Y
and #$7 ; mask to 0...7
tax
lda COLORTBL,X
sta HGR_COLOR
; CX
lda $F100,Y
and #$7f
clc
adc #$40
sta CX
; CY
lda $F200,Y
and #$7f
clc
adc #$20
sta CY
; R
lda $F300,Y
and #$3f
sta R
.endif
; A=40+RND(1)*200:B=40+RND(1)*100:Y=RND(1)*40
lda #128
sta CX
lda #96
sta CY
; lda #128
; sta CX
; lda #96
; sta CY
;===============================
@ -117,8 +75,8 @@ draw_next:
lda #0
sta XX
lda R
sta YY
; lda R
stx YY
lda #3
sec
@ -145,7 +103,6 @@ circle_loop:
asl
asl
clc
adc D
adc #10
jmp store_D
@ -155,9 +112,9 @@ else:
asl
asl
clc
adc D
adc #6
store_D:
adc D
sta D
do_plots:
@ -197,7 +154,8 @@ pos_loop:
ora #$1
eor #$2
tay
lda CX
; lda CX
lda #128
clc
adc XX,Y
tax
@ -205,13 +163,14 @@ pos_loop:
; calc y co-ord
ldy COUNT
lda CY
; lda CY
lda #96
clc
adc XX,Y
ldy #0
pha ; save Y value for later
; pha ; save Y value for later
jsr HPLOT0 ; plot at (Y,X), (A)
@ -242,15 +201,10 @@ pos_loop:
bcs circle_loop
done:
lda KEYPRESS
bpl done
bit KEYRESET
inc R
ldx R
inx
jsr HCOLOR1
stop:
; GOTO1
jmp draw_next