lovebyte: update files

This commit is contained in:
Vince Weaver 2024-02-07 21:03:57 -05:00
parent 096f0a70c0
commit bea119cf04
5 changed files with 36 additions and 127 deletions

View File

@ -23,7 +23,7 @@ HELLO: hello.bas
PLASMA_MASK: plasma_mask.o
ld65 -o PLASMA_MASK plasma_mask.o -C $(LINKERSCRIPTS)/apple2_4000.inc
plasma_mask.o: plasma_mask.s gr_gbascalc.s make_tables.s \
plasma_mask.o: plasma_mask.s make_tables.s \
zp.inc hardware.inc zx02_optim.s make_tables.s \
mA2E_2.s tracker_init.s play_frame.s \
graphics/dsr_big.gr.zx02
@ -47,14 +47,31 @@ PLASMA_COMPRESS.zx02: PLASMA_COMPRESS
PLASMA_COMPRESS: plasma_compress.o
ld65 -o PLASMA_COMPRESS plasma_compress.o -C $(LINKERSCRIPTS)/apple2_4000.inc
plasma_compress.o: plasma_compress.s gr_gbascalc.s make_tables.s \
plasma_compress.o: plasma_compress.s make_tables.s \
zp.inc hardware.inc zx02_optim.s make_tables.s \
mA2E_2.s tracker_init.s play_frame.s \
graphics/dsr_big.gr.zx02
ca65 -o plasma_compress.o plasma_compress.s -l plasma_compress.lst
###
submit: plasma_mask_1k.zip
plasma_mask_1k.zip: PLASMA_NEW file_id.diz plasma_mask.dsk
mkdir -p lovebyte2024_plasma_mask
mkdir -p lovebyte2024_plasma_mask/code
cp PLASMA_NEW ./lovebyte2024_plasma_mask
cp ay3_write_regs.s hardware.inc interrupt_handler.s mA2E_2.s make_tables.s mockingboard_constants.s mockingboard_init.s plasma_compress.s plasma_new.s play_frame.s tracker_init.s zp.inc zx02_optim.s ./lovebyte2024_plasma_mask/code
cp file_id.diz ./lovebyte2024_plasma_mask
cp plasma_mask.dsk ./lovebyte2024_plasma_mask
cp dsr_plasma_mask_screen.png ./lovebyte2024_plasma_mask
cp dsr_plasma_mask_720p.mp4 ./lovebyte2024_plasma_mask
zip -r plasma_mask_1k.zip lovebyte2024_plasma_mask
###
clean:
rm -f *~ *.o *.lst HELLO PLASMA_MASK

View File

@ -1,2 +0,0 @@
optimize music code:
+ depending on alignment can hard-code the high value for track0/track1

View File

@ -1,10 +1,21 @@
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-
Spiraling Shape
Plasma Mask
--------------------------------------
Hi-res Xdraw Pattern
with Sound!
by Deater / dSr
1k demo for Lovebyte 2024
31-byte Intro for Apple II
Lovebyte 2024
by Deater / dSr
music by MA2E
original plasma by GROUIK
fast lo-res plasma with masks
compressed with zx02 which was a pain
Mockingboard music, slot#4
left channel sound only
pre-calc is generating 768 bytes of
sine tables using the
Applesoft (Microsoft) BASIC
FAC floating point routines
which are *slow*
--------------------------------------

View File

@ -1,80 +0,0 @@
; 11+48 = 59 bytes
gr_setup_line:
lda gr_lookup_low,X ; 4
sta GBASL ; 3
lda gr_lookup_high,X ; 4
sta GBASH ; 3
rts
gr_lookup_low:
.byte $00,$80,$00,$80,$00,$80,$00,$80
.byte $28,$A8,$28,$A8,$28,$A8,$28,$A8
.byte $50,$D0,$50,$D0,$50,$D0,$50,$D0
gr_lookup_high:
.byte $08,$08,$09,$09,$0A,$0A,$0B,$0B
.byte $08,$08,$09,$09,$0A,$0A,$0B,$0B
.byte $08,$08,$09,$09,$0A,$0A,$0B,$0B
; 28+10 = 38
gr_setup_line2:
txa
pha
and #7
lsr
tax
lda gr_lookup_high2,X
sta GBASH
pla
pha
lsr
php
lsr
lsr
plp
rol
tax
lda gr_lookup_low2,X
sta GBASL
pla
tax
rts
; high= gr_lookup_high[(line&3)>>1]
; low = gr_lookup_low[abc defgh -> 0 1 0 1 0 1 2 3 2 3 2 3 2 3 4 5 4 5 4 5 4 5
; deh
gr_lookup_low2:
.byte $00,$80,$28,$A8,$50,$D0
gr_lookup_high2:
.byte $08,$09,$0A,$0B
; 24 bytes
; based on GBASCALC from monitor firmware
gr_setup_line3:
txa ; 2
lsr ; 2
and #$03 ; 2
ora #$08 ; 2
sta GBASH ; 3
txa
and #$18
bcc gbcalc
adc #$7f
gbcalc:
sta GBASL
asl
asl
ora GBASL
sta GBASL
rts
gr_setup_line4:
txa
jmp GBASCALC

View File

@ -1,37 +0,0 @@
; hposn_low, hposn_high will each be filled with $C0 bytes
; based on routine by John Brooks
; posted on comp.sys.apple2 on 2018-07-11
; https://groups.google.com/d/msg/comp.sys.apple2/v2HOfHOmeNQ/zD76fJg_BAAJ
; clobbers A,X
; preserves Y
; vmw note: version I was using based on applesoft HPOSN was ~64 bytes
; this one is 37 bytes
build_tables:
ldx #0
btmi:
txa
and #$F8
bpl btpl1
ora #5
btpl1:
asl
bpl btpl2
ora #5
btpl2:
asl
asl
sta hposn_low, X
txa
and #7
rol
asl hposn_low, X
rol
ora #$20
sta hposn_high, X
inx
cpx #$C0
bne btmi
rts