diff --git a/still_alive/objects_shape.inc b/still_alive/objects_shape.inc new file mode 100644 index 00000000..1867cc90 --- /dev/null +++ b/still_alive/objects_shape.inc @@ -0,0 +1,161 @@ +; Applesoft Shape Table + +; Size +.byte $07,00 +; Offsets +.byte $10,$00 ; 0 +.byte $1b,$00 ; 1 +.byte $2e,$00 ; 2 +.byte $42,$00 ; 3 +.byte $61,$00 ; 4 +.byte $80,$00 ; 5 +.byte $8a,$00 ; 6 + +; Shape 0 +; "Cross Hair" (why is this in quotes?) +; # +; # +; # +; # +; ##.## +; # +; # +; # +; # +; START +; NLT NLT +; RT RT NRT NRT LT LT +; NDN NDN NDN NDN UP UP UP UP UP UP UP UP UP +; STOP +; +.byte $1b,$6d,$39,$97,$12,$24,$24,$24,$24, $04,$00 + + +; Shape 1 +; +; "Portal" +; # +; # # +; # # +; # # +; # # +; # # +; # * # +; # # +; # # +; # # +; # # +; # # +; # +; +; START +; NLT NLT UP UP UP NRT UP UP UP NRT RT NDN +; DN DN DN NRT DN DN DN DN DN NLT DN DN DN NLT +; UP NLT UP UP UP NLT UP UP UP +; STOP + +.byte $1b,$24,$0c,$24,$0c,$15,$36,$0e,$36, $36,$1e,$36,$1e,$1c,$24,$1c,$24 +.byte $04,$00 + +; Shape 2 +; Sideways Portal +; #*#*#*#*#*#*# +; #*# #*# +; *# . #* +; #*# #*# +; #*#*#*#*#*#*# +; START +; NDN NDN NRT RT NRT RT NRT RT NRT UP +; RT NRT UP UP LT NLT UP +; LT NLT LT NLT LT NLT LT NLT LT NLT LT NLT DN +; LT NLT DN DN RT NRT DN +; RT NRT RT NRT RT +; STOP + +.byte $52,$0d,$0d,$0d,$6c,$24,$1f,$fc, $1f,$1f,$1f,$1f,$1f,$fe,$36,$0d +.byte $6e,$0d,$05,$00 + +; Shape 3 +; Chell Right +; +; B B +; B ## +; B ### +; B ## +; B O ###### +; O O ## ## +; O O .###### +; O O +; O O +; O O +; B O +; B O +; B O O +; START +; NLT NLT DN DN DN DN DN DN RT NRT LT NLT NLT NLT NLT +; # FALL ARRESTOR BEGIN +; UP UP UP NRT UP UP UP UP UP NLT +; # HAIR +; UP UP UP UP NRT NRT RT NRT DN +; # FACE +; NLT LT DN RT RT DN NLT LT DN NRT DN RT NRT +; # GUN +; RT UP RT RT RT RT RT DN NLT LT LT NLT NLT NDN RT RT RT RT RT RT +; STOP + +.byte $1b,$36,$36,$36,$0d,$df,$1b,$24, $0c,$24,$24,$1c,$24,$64,$69,$1e +.byte $37,$2d,$1e,$77,$6e,$25,$2d,$2d, $f5,$ff,$13,$2d,$2d,$2d,$00 + +; Shape 4 +; Chell LEFT +; +; START +; NRT NRT DN DN DN DN DN DN LT NLT RT NRT NRT NRT NRT +; # FALL ARRESTOR BEGIN +; UP UP UP NLT UP UP UP UP UP NRT +; # HAIR +; UP UP UP UP NLT NLT LT NLT DN +; # FACE +; NRT RT DN LT LT DN NRT RT DN NLT DN LT NLT +; # GUN +; LT UP LT LT LT LT LT DN NRT RT RT NRT NRT NDN LT LT LT LT LT LT +; STOP + +.byte $09,$36,$36,$36,$1f,$4d,$09,$24, $1c,$24,$24,$0c,$24,$e4,$fb,$0e +.byte $35,$3f,$0e,$f5,$fe,$27,$3f,$3f, $77,$6d,$11,$3f,$3f,$3f,$00 + +; Shape 5 +; FireBall +; +; # +; # # +; # . # +; # # +; # +; START +; NDN NDN UP NRT UP NRT UP NLT UP NLT DN NLT DN NLT DN NRT DN NRT +; STOP + +.byte $12,$0c,$0c,$1c,$1c,$1e,$1e,$0e, $0e,$00 + +; Shape 6 +; Blue Core +; ####### +; ## ## +; ## # # # ## +; ## # . # ## +; ## # # # ## +; ## ## +; ####### + +; START +; # Inner +; NDN LT NLT UP UP RT NRT RT NRT DN DN LT NLT NDN NDN +; # Outer +; LT LT LT UP LT UP LT UP RT UP LT UP NRT RT UP RT RT RT RT RT RT DN +; # Upper Left +; RT DN RT DN LT DN RT DN NLT LT DN LT LT LT +; STOP + +.byte $fa,$24,$0d,$0d,$36,$9f,$3a,$3f, $3c,$3c,$2c,$3c,$0c,$25,$2d,$2d +.byte $2d,$2e,$2e,$3e,$2e,$1e,$37,$3f, $07,$00 diff --git a/two-liners/Makefile b/two-liners/Makefile new file mode 100644 index 00000000..fa22e2b6 --- /dev/null +++ b/two-liners/Makefile @@ -0,0 +1,18 @@ +include ../Makefile.inc + +DOS33 = ../dos33fs-utils/dos33 +TOKENIZE = ../asoft_basic-utils/tokenize_asoft + +all: entropy.dsk + +entropy.dsk: ENTROPY + $(DOS33) -y entropy.dsk BSAVE -a 0x0C00 ENTROPY + +ENTROPY: entropy.o + ld65 -o ENTROPY entropy.o -C ../linker_scripts/apple2_c00.inc + +entropy.o: entropy.s + ca65 -o entropy.o entropy.s -l entropy.lst + +clean: + rm -f *~ *.o *.lst ENTROPY diff --git a/two-liners/entropy.dsk b/two-liners/entropy.dsk new file mode 100644 index 00000000..719ccb60 Binary files /dev/null and b/two-liners/entropy.dsk differ diff --git a/two-liners/entropy.s b/two-liners/entropy.s new file mode 100644 index 00000000..1210b7bc --- /dev/null +++ b/two-liners/entropy.s @@ -0,0 +1,101 @@ +; Entropy +; by Dave McKellar of Toronto +; Two-line BASIC program +; Found on Beagle Brother's Apple Mechanic Disk +; Converted to 6502 Assembly by Vince Weaver + +; 24001 ROT=0:FOR I=1 TO 15: READ A,B: POKE A,B: NEXT: DATA +; 232,252,233,29,7676,1,7678,4,7679,0,7680,18,7681,63, +; 7682,36,7683,36,7684,45,7685,45,7686,54,7687,54,7688,63, +; 7689,0 +; 24002 FOR I=1 TO 99: HGR2: FOR E=.08 TO .15 STEP .01: +; FOR Y=4 to 189 STEP 6: FOR X=4 to 278 STEP 6: +; SCALE=(RND(1)shape_table + sta HGR_SHAPE+1 + + +loop: + jsr HGR2 ; HGR2 + +eloop: ; FOR E=.08 TO .15 STEP .01: + + lda #4 + sta YPOS +yloop: ; FOR Y=4 to 189 STEP 6 + lda #4 + sta XPOS + lda #0 + sta XPOSH +xloop: ; FOR X=4 to 278 STEP 6 + + lda #1 + sta HGR_SCALE + + ; SCALE=(RND(1)shape_table + lda #0 ; ROT=0 + + + jsr XDRAW0 ; XDRAW 1 AT X,Y + +; NEXT X + lda XPOS + clc + adc #6 + sta XPOS + lda #0 + adc XPOSH + sta XPOSH + beq xloop + lda XPOS + cmp #22 + bcs xloop +nexty: + +; NEXT Y + lda YPOS + clc + adc #6 + sta YPOS + cmp #189 + bcs yloop +; NEXT E + + + + jmp loop + +shape_table: +; .byte 1,0 ; 1 shape +; .byte 4,0 ; offset at 4 bytes + .byte 18,63,36,36,45,45,54,54,63,0 ; data