mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-02-11 01:30:53 +00:00
boxes: update
This commit is contained in:
parent
66a5e3fa04
commit
b4e194864b
@ -5,20 +5,40 @@ TOKENIZE = ../../../utils/asoft_basic-utils/tokenize_asoft
|
|||||||
LINKERSCRIPTS = ../../../linker_scripts
|
LINKERSCRIPTS = ../../../linker_scripts
|
||||||
EMPTYDISK = ../../../empty_disk/empty.dsk
|
EMPTYDISK = ../../../empty_disk/empty.dsk
|
||||||
|
|
||||||
all: boxes.dsk make_boxes
|
all: boxes.dsk make_boxes_asm
|
||||||
|
|
||||||
boxes.dsk: HELLO MYST.BAS MYST_TINY.BAS
|
boxes.dsk: HELLO MYST.BAS MYST_TINY.BAS MYST_TINY COOL_PATTERN
|
||||||
cp $(EMPTYDISK) boxes.dsk
|
cp $(EMPTYDISK) boxes.dsk
|
||||||
$(DOS33) -y boxes.dsk SAVE A HELLO
|
$(DOS33) -y boxes.dsk SAVE A HELLO
|
||||||
$(DOS33) -y boxes.dsk SAVE A MYST.BAS
|
$(DOS33) -y boxes.dsk SAVE A MYST.BAS
|
||||||
$(DOS33) -y boxes.dsk SAVE A MYST_TINY.BAS
|
$(DOS33) -y boxes.dsk SAVE A MYST_TINY.BAS
|
||||||
# $(DOS33) -y boxes.dsk BSAVE -a 0x300 BOXES
|
$(DOS33) -y boxes.dsk BSAVE -a 0xC00 MYST_TINY
|
||||||
|
$(DOS33) -y boxes.dsk BSAVE -a 0xC00 COOL_PATTERN
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|
||||||
HELLO: hello.bas
|
HELLO: hello.bas
|
||||||
$(TOKENIZE) < hello.bas > HELLO
|
$(TOKENIZE) < hello.bas > HELLO
|
||||||
|
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
MYST_TINY: myst_tiny.o
|
||||||
|
ld65 -o MYST_TINY myst_tiny.o -C $(LINKERSCRIPTS)/apple2_c00.inc
|
||||||
|
|
||||||
|
myst_tiny.o: myst_tiny.s
|
||||||
|
ca65 -o myst_tiny.o myst_tiny.s -l myst_tiny.lst
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
COOL_PATTERN: cool_pattern.o
|
||||||
|
ld65 -o COOL_PATTERN cool_pattern.o -C $(LINKERSCRIPTS)/apple2_c00.inc
|
||||||
|
|
||||||
|
cool_pattern.o: cool_pattern.s
|
||||||
|
ca65 -o cool_pattern.o cool_pattern.s -l cool_pattern.lst
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###
|
###
|
||||||
|
|
||||||
MYST.BAS: myst.bas
|
MYST.BAS: myst.bas
|
||||||
@ -40,5 +60,13 @@ make_boxes.o: make_boxes.c
|
|||||||
|
|
||||||
###
|
###
|
||||||
|
|
||||||
|
make_boxes_asm: make_boxes_asm.o
|
||||||
|
$(CC) -o make_boxes_asm make_boxes_asm.o $(LFLAGS)
|
||||||
|
|
||||||
|
make_boxes_asm.o: make_boxes_asm.c
|
||||||
|
$(CC) $(CFLAGS) -c make_boxes_asm.c
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *~ *.o *.lst MYST.BAS MYST_TINY.BAS make_boxes
|
rm -f *~ *.o *.lst MYST.BAS MYST_TINY.BAS MYST_TINY make_boxes make_boxes_asm COOL_PATTERN
|
||||||
|
96
graphics/hgr/boxes/cool_pattern.s
Normal file
96
graphics/hgr/boxes/cool_pattern.s
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
|
||||||
|
; zero page
|
||||||
|
|
||||||
|
HGR_X = $E0
|
||||||
|
HGR_XH = $E1
|
||||||
|
HGR_Y = $E2
|
||||||
|
HGR_COLOR = $E4
|
||||||
|
|
||||||
|
YRUN = $F0
|
||||||
|
XRUN = $F1
|
||||||
|
Y1 = $F2
|
||||||
|
X1 = $F3
|
||||||
|
COLOR = $F4
|
||||||
|
|
||||||
|
COLOR1 = $F5
|
||||||
|
COLOR2 = $F6
|
||||||
|
|
||||||
|
; rom routines
|
||||||
|
HGR2 = $F3D8
|
||||||
|
HPOSN = $F411
|
||||||
|
HLINRL = $F530
|
||||||
|
COLORTBL = $F6F6
|
||||||
|
|
||||||
|
myst_tiny:
|
||||||
|
jsr HGR2
|
||||||
|
|
||||||
|
outer_loop:
|
||||||
|
|
||||||
|
ldy #5
|
||||||
|
data_smc:
|
||||||
|
lda $C00
|
||||||
|
sta YRUN-1,Y
|
||||||
|
inc data_smc+1
|
||||||
|
dey
|
||||||
|
bne data_smc
|
||||||
|
|
||||||
|
rectangle_loop:
|
||||||
|
lda COLOR
|
||||||
|
|
||||||
|
asl ; nibble swap by david galloway
|
||||||
|
adc #$80
|
||||||
|
rol
|
||||||
|
asl
|
||||||
|
adc #$80
|
||||||
|
rol
|
||||||
|
|
||||||
|
sta COLOR
|
||||||
|
|
||||||
|
and #$f
|
||||||
|
tax
|
||||||
|
|
||||||
|
lda COLORTBL,X
|
||||||
|
sta HGR_COLOR
|
||||||
|
|
||||||
|
ldx X1 ; X1 into X
|
||||||
|
lda Y1 ; Y1 into A
|
||||||
|
ldy #0 ; always 0
|
||||||
|
jsr HPOSN ; (Y,X),(A) (values stores in HGRX,XH,Y)
|
||||||
|
|
||||||
|
|
||||||
|
lda XRUN ; XRUN into A
|
||||||
|
ldx #0 ; always 0
|
||||||
|
ldy #0 ; relative Y is 0
|
||||||
|
jsr HLINRL ; (X,A),(Y)
|
||||||
|
|
||||||
|
inc Y1
|
||||||
|
dec YRUN
|
||||||
|
bne rectangle_loop
|
||||||
|
|
||||||
|
beq outer_loop
|
||||||
|
|
||||||
|
|
||||||
|
data:
|
||||||
|
.byte $33,$00,$00,$8C,$5A
|
||||||
|
.byte $33,$8C,$00,$8B,$5A
|
||||||
|
.byte $16,$00,$5A,$8C,$65
|
||||||
|
.byte $16,$8C,$5A,$8B,$65
|
||||||
|
.byte $42,$9D,$79,$33,$46
|
||||||
|
.byte $07,$8D,$74,$5A,$13
|
||||||
|
.byte $00,$B4,$11,$21,$68
|
||||||
|
.byte $70,$9C,$14,$35,$6A
|
||||||
|
.byte $07,$91,$0A,$43,$0A
|
||||||
|
.byte $07,$A2,$00,$3A,$14
|
||||||
|
.byte $50,$AC,$5B,$0F,$20
|
||||||
|
.byte $77,$A9,$1F,$16,$20
|
||||||
|
.byte $77,$A5,$27,$1D,$15
|
||||||
|
.byte $51,$00,$A3,$3F,$1C
|
||||||
|
.byte $51,$3F,$A7,$72,$18
|
||||||
|
.if 0
|
||||||
|
.byte $51,$B1,$B9,$35,$06
|
||||||
|
.byte $50,$17,$00,$10,$B2
|
||||||
|
.byte $15,$01,$0D,$62,$1F
|
||||||
|
.byte $50,$00,$00,$12,$BC
|
||||||
|
.byte $05,$42,$00,$0F,$BB
|
||||||
|
.byte $00,$B1,$20,$04,$12
|
||||||
|
.endif
|
96
graphics/hgr/boxes/cool_pattern128.s
Normal file
96
graphics/hgr/boxes/cool_pattern128.s
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
|
||||||
|
; zero page
|
||||||
|
|
||||||
|
HGR_X = $E0
|
||||||
|
HGR_XH = $E1
|
||||||
|
HGR_Y = $E2
|
||||||
|
HGR_COLOR = $E4
|
||||||
|
|
||||||
|
YRUN = $F0
|
||||||
|
XRUN = $F1
|
||||||
|
Y1 = $F2
|
||||||
|
X1 = $F3
|
||||||
|
COLOR = $F4
|
||||||
|
|
||||||
|
COLOR1 = $F5
|
||||||
|
COLOR2 = $F6
|
||||||
|
|
||||||
|
; rom routines
|
||||||
|
HGR2 = $F3D8
|
||||||
|
HPOSN = $F411
|
||||||
|
HLINRL = $F530
|
||||||
|
COLORTBL = $F6F6
|
||||||
|
|
||||||
|
myst_tiny:
|
||||||
|
jsr HGR2
|
||||||
|
|
||||||
|
outer_loop:
|
||||||
|
|
||||||
|
ldy #5
|
||||||
|
data_smc:
|
||||||
|
lda $C00
|
||||||
|
sta YRUN-1,Y
|
||||||
|
inc data_smc+1
|
||||||
|
dey
|
||||||
|
bne data_smc
|
||||||
|
|
||||||
|
rectangle_loop:
|
||||||
|
lda COLOR
|
||||||
|
|
||||||
|
asl ; nibble swap by david galloway
|
||||||
|
adc #$80
|
||||||
|
rol
|
||||||
|
asl
|
||||||
|
adc #$80
|
||||||
|
rol
|
||||||
|
|
||||||
|
sta COLOR
|
||||||
|
|
||||||
|
and #$f
|
||||||
|
tax
|
||||||
|
|
||||||
|
lda COLORTBL,X
|
||||||
|
sta HGR_COLOR
|
||||||
|
|
||||||
|
ldx X1 ; X1 into X
|
||||||
|
lda Y1 ; Y1 into A
|
||||||
|
ldy #0 ; always 0
|
||||||
|
jsr HPOSN ; (Y,X),(A) (values stores in HGRX,XH,Y)
|
||||||
|
|
||||||
|
|
||||||
|
lda XRUN ; XRUN into A
|
||||||
|
ldx #0 ; always 0
|
||||||
|
ldy #0 ; relative Y is 0
|
||||||
|
jsr HLINRL ; (X,A),(Y)
|
||||||
|
|
||||||
|
inc Y1
|
||||||
|
dec YRUN
|
||||||
|
bne rectangle_loop
|
||||||
|
|
||||||
|
beq outer_loop
|
||||||
|
|
||||||
|
|
||||||
|
data:
|
||||||
|
.byte $33,$00,$00,$8C,$5A
|
||||||
|
.byte $33,$8C,$00,$8B,$5A
|
||||||
|
.byte $16,$00,$5A,$8C,$65
|
||||||
|
.byte $16,$8C,$5A,$8B,$65
|
||||||
|
.byte $42,$9D,$79,$33,$46
|
||||||
|
.byte $07,$8D,$74,$5A,$13
|
||||||
|
.byte $00,$B4,$11,$21,$68
|
||||||
|
.byte $70,$9C,$14,$35,$6A
|
||||||
|
.byte $07,$91,$0A,$43,$0A
|
||||||
|
.byte $07,$A2,$00,$3A,$14
|
||||||
|
.byte $50,$AC,$5B,$0F,$20
|
||||||
|
.byte $77,$A9,$1F,$16,$20
|
||||||
|
.byte $77,$A5,$27,$1D,$15
|
||||||
|
.if 0
|
||||||
|
.byte $51,$00,$A3,$3F,$1C
|
||||||
|
.byte $51,$3F,$A7,$72,$18
|
||||||
|
.byte $51,$B1,$B9,$35,$06
|
||||||
|
.byte $50,$17,$00,$10,$B2
|
||||||
|
.byte $15,$01,$0D,$62,$1F
|
||||||
|
.byte $50,$00,$00,$12,$BC
|
||||||
|
.byte $05,$42,$00,$0F,$BB
|
||||||
|
.byte $00,$B1,$20,$04,$12
|
||||||
|
.endif
|
95
graphics/hgr/boxes/cool_pattern64.s
Normal file
95
graphics/hgr/boxes/cool_pattern64.s
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
|
||||||
|
; zero page
|
||||||
|
|
||||||
|
HGR_X = $E0
|
||||||
|
HGR_XH = $E1
|
||||||
|
HGR_Y = $E2
|
||||||
|
HGR_COLOR = $E4
|
||||||
|
|
||||||
|
YRUN = $F0
|
||||||
|
XRUN = $F1
|
||||||
|
Y1 = $F2
|
||||||
|
X1 = $F3
|
||||||
|
COLOR = $F4
|
||||||
|
|
||||||
|
COLOR1 = $F5
|
||||||
|
COLOR2 = $F6
|
||||||
|
|
||||||
|
; rom routines
|
||||||
|
HGR2 = $F3D8
|
||||||
|
HPOSN = $F411
|
||||||
|
HLINRL = $F530
|
||||||
|
COLORTBL = $F6F6
|
||||||
|
|
||||||
|
myst_tiny:
|
||||||
|
jsr HGR2
|
||||||
|
|
||||||
|
outer_loop:
|
||||||
|
|
||||||
|
ldy #5
|
||||||
|
data_smc:
|
||||||
|
lda $C00
|
||||||
|
sta YRUN-1,Y
|
||||||
|
inc data_smc+1
|
||||||
|
dey
|
||||||
|
bne data_smc
|
||||||
|
|
||||||
|
rectangle_loop:
|
||||||
|
lda COLOR
|
||||||
|
|
||||||
|
asl ; nibble swap by david galloway
|
||||||
|
adc #$80
|
||||||
|
rol
|
||||||
|
asl
|
||||||
|
adc #$80
|
||||||
|
rol
|
||||||
|
|
||||||
|
sta COLOR
|
||||||
|
|
||||||
|
and #$f
|
||||||
|
tax
|
||||||
|
|
||||||
|
lda COLORTBL,X
|
||||||
|
sta HGR_COLOR
|
||||||
|
|
||||||
|
ldx X1 ; X1 into X
|
||||||
|
lda Y1 ; Y1 into A
|
||||||
|
ldy #0 ; always 0
|
||||||
|
jsr HPOSN ; (Y,X),(A) (values stores in HGRX,XH,Y)
|
||||||
|
|
||||||
|
|
||||||
|
lda XRUN ; XRUN into A
|
||||||
|
ldx #0 ; always 0
|
||||||
|
ldy #0 ; relative Y is 0
|
||||||
|
jsr HLINRL ; (X,A),(Y)
|
||||||
|
|
||||||
|
inc Y1
|
||||||
|
dec YRUN
|
||||||
|
bne rectangle_loop
|
||||||
|
|
||||||
|
beq outer_loop
|
||||||
|
|
||||||
|
.if 0
|
||||||
|
data:
|
||||||
|
.byte $33,$00,$00,$8C,$5A
|
||||||
|
.byte $33,$8C,$00,$8B,$5A
|
||||||
|
.byte $16,$00,$5A,$8C,$65
|
||||||
|
.byte $16,$8C,$5A,$8B,$65
|
||||||
|
.byte $42,$9D,$79,$33,$46
|
||||||
|
.byte $07,$8D,$74,$5A,$13
|
||||||
|
.byte $00,$B4,$11,$21,$68
|
||||||
|
.byte $70,$9C,$14,$35,$6A
|
||||||
|
.byte $07,$91,$0A,$43,$0A
|
||||||
|
.byte $07,$A2,$00,$3A,$14
|
||||||
|
.byte $50,$AC,$5B,$0F,$20
|
||||||
|
.byte $77,$A9,$1F,$16,$20
|
||||||
|
.byte $77,$A5,$27,$1D,$15
|
||||||
|
.byte $51,$00,$A3,$3F,$1C
|
||||||
|
.byte $51,$3F,$A7,$72,$18
|
||||||
|
.byte $51,$B1,$B9,$35,$06
|
||||||
|
.byte $50,$17,$00,$10,$B2
|
||||||
|
.byte $15,$01,$0D,$62,$1F
|
||||||
|
.byte $50,$00,$00,$12,$BC
|
||||||
|
.byte $05,$42,$00,$0F,$BB
|
||||||
|
.byte $00,$B1,$20,$04,$12
|
||||||
|
.endif
|
44
graphics/hgr/boxes/make_boxes_asm.c
Normal file
44
graphics/hgr/boxes/make_boxes_asm.c
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main(int argc, char **argv) {
|
||||||
|
|
||||||
|
char buffer[1024];
|
||||||
|
char *ptr;
|
||||||
|
int color1,color2,x1,x2,y1,y2;
|
||||||
|
char output[1024];
|
||||||
|
int out_ptr=0;
|
||||||
|
int old_color=0xff;
|
||||||
|
int line=1;
|
||||||
|
int add=' ';
|
||||||
|
|
||||||
|
while(1) {
|
||||||
|
|
||||||
|
ptr=fgets(buffer,1024,stdin);
|
||||||
|
if (ptr==NULL) break;
|
||||||
|
|
||||||
|
if (buffer[0]==';') continue;
|
||||||
|
|
||||||
|
sscanf(buffer,"%d %d %d %d %d %d",
|
||||||
|
&color1,&color2,&x1,&y1,&x2,&y2);
|
||||||
|
|
||||||
|
printf(".byte $%02X,",(color1<<4)|color2);
|
||||||
|
printf("$%02X,",x1);
|
||||||
|
printf("$%02X,",y1);
|
||||||
|
printf("$%02X,",x2-x1);
|
||||||
|
printf("$%02X\n",y2-y1);
|
||||||
|
|
||||||
|
line++;
|
||||||
|
|
||||||
|
// printf("\t.byte $%02X,$%02X,$%02X,$%02X\n",
|
||||||
|
// y1,y2,
|
||||||
|
// ((color&0x03)<<6)|x1,
|
||||||
|
// ((color&0x0c)<<4)|x2);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
// printf("\t.byte $FF\n");
|
||||||
|
|
||||||
|
|
||||||
|
printf("\n");
|
||||||
|
return 0;
|
||||||
|
}
|
@ -1,5 +1,2 @@
|
|||||||
0REM## fM##f eM!& MfR!&fMeR$"n\9C 'fZM) z(0T' n*:U 'h%A% 'q =*% vM'0''t/+0''r3.*%! q?.%!?sY,%!x|:#% + (y!% &Q/% )~ %A '} x0")
|
0HGR2:REM## fM##f eM!& MfR!&fMeR$"n\9C 'fZM) z(0T' n*:U 'h%A% 'q =*% vM'0''t/+0''r3.*%! q?.%!?sY,%!x|:#% + (y!% &Q/% )~ %A '} x0")
|
||||||
1HGR2
|
2FORQ=0TO5:A(Q)=2*PEEK(2056+I+Q)-64:NEXT:P=0:FORY=A(3)TOY+A(5):HCOLOR=(P*A(0)+NOTP*A(1))/2:P=NOTP:HPLOTA(2),YTOA(2)+A(4),Y:NEXT:I=I+6:GOTO2
|
||||||
2FORQ=0TO5:A(Q)=2*PEEK(2054+I+Q)-64:NEXT:P=0
|
|
||||||
3FORY=A(3)TOY+A(5):HCOLOR=(P*A(0)+NOTP*A(1))/2
|
|
||||||
4P=NOTP:HPLOTA(2),YTOA(2)+A(4),Y:NEXT:I=I+6:GOTO2
|
|
||||||
|
93
graphics/hgr/boxes/myst_tiny.s
Normal file
93
graphics/hgr/boxes/myst_tiny.s
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
|
||||||
|
; zero page
|
||||||
|
|
||||||
|
HGR_X = $E0
|
||||||
|
HGR_XH = $E1
|
||||||
|
HGR_Y = $E2
|
||||||
|
HGR_COLOR = $E4
|
||||||
|
|
||||||
|
YRUN = $F0
|
||||||
|
XRUN = $F1
|
||||||
|
Y1 = $F2
|
||||||
|
X1 = $F3
|
||||||
|
COLOR = $F4
|
||||||
|
|
||||||
|
COLOR1 = $F5
|
||||||
|
COLOR2 = $F6
|
||||||
|
|
||||||
|
; rom routines
|
||||||
|
HGR2 = $F3D8
|
||||||
|
HPOSN = $F411
|
||||||
|
HLINRL = $F530
|
||||||
|
COLORTBL = $F6F6
|
||||||
|
|
||||||
|
myst_tiny:
|
||||||
|
jsr HGR2
|
||||||
|
|
||||||
|
outer_loop:
|
||||||
|
|
||||||
|
ldy #5
|
||||||
|
data_smc:
|
||||||
|
lda data
|
||||||
|
sta YRUN-1,Y
|
||||||
|
inc data_smc+1
|
||||||
|
dey
|
||||||
|
bne data_smc
|
||||||
|
|
||||||
|
rectangle_loop:
|
||||||
|
lda COLOR
|
||||||
|
|
||||||
|
asl ; nibble swap by david galloway
|
||||||
|
adc #$80
|
||||||
|
rol
|
||||||
|
asl
|
||||||
|
adc #$80
|
||||||
|
rol
|
||||||
|
|
||||||
|
sta COLOR
|
||||||
|
|
||||||
|
and #$f
|
||||||
|
tax
|
||||||
|
|
||||||
|
lda COLORTBL,X
|
||||||
|
sta HGR_COLOR
|
||||||
|
|
||||||
|
ldx X1 ; X1 into X
|
||||||
|
lda Y1 ; Y1 into A
|
||||||
|
ldy #0 ; always 0
|
||||||
|
jsr HPOSN ; (Y,X),(A) (values stores in HGRX,XH,Y)
|
||||||
|
|
||||||
|
|
||||||
|
lda XRUN ; XRUN into A
|
||||||
|
ldx #0 ; always 0
|
||||||
|
ldy #0 ; relative Y is 0
|
||||||
|
jsr HLINRL ; (X,A),(Y)
|
||||||
|
|
||||||
|
inc Y1
|
||||||
|
dec YRUN
|
||||||
|
bne rectangle_loop
|
||||||
|
|
||||||
|
beq outer_loop
|
||||||
|
|
||||||
|
data:
|
||||||
|
.byte $33,$00,$00,$8C,$5A
|
||||||
|
.byte $33,$8C,$00,$8B,$5A
|
||||||
|
.byte $16,$00,$5A,$8C,$65
|
||||||
|
.byte $16,$8C,$5A,$8B,$65
|
||||||
|
.byte $42,$9D,$79,$33,$46
|
||||||
|
.byte $07,$8D,$74,$5A,$13
|
||||||
|
.byte $00,$B4,$11,$21,$68
|
||||||
|
.byte $70,$9C,$14,$35,$6A
|
||||||
|
.byte $07,$91,$0A,$43,$0A
|
||||||
|
.byte $07,$A2,$00,$3A,$14
|
||||||
|
.byte $50,$AC,$5B,$0F,$20
|
||||||
|
.byte $77,$A9,$1F,$16,$20
|
||||||
|
.byte $77,$A5,$27,$1D,$15
|
||||||
|
.byte $51,$00,$A3,$3F,$1C
|
||||||
|
.byte $51,$3F,$A7,$72,$18
|
||||||
|
.byte $51,$B1,$B9,$35,$06
|
||||||
|
.byte $50,$17,$00,$10,$B2
|
||||||
|
.byte $15,$01,$0D,$62,$1F
|
||||||
|
.byte $50,$00,$00,$12,$BC
|
||||||
|
.byte $05,$42,$00,$0F,$BB
|
||||||
|
.byte $00,$B1,$20,$04,$12
|
Loading…
x
Reference in New Issue
Block a user