mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-06-07 08:30:20 +00:00
loveduck: add some sound
This commit is contained in:
parent
6e4d96942e
commit
123f76aa70
|
@ -40,7 +40,7 @@ LOVE_DUCK.ZX02: LOVE_DUCK
|
|||
LD: ld.o
|
||||
ld65 -o LD ld.o -C $(LINKER_SCRIPTS)/apple2_800.inc
|
||||
|
||||
ld.o: ld.s zx02_small.s LOVE_DUCK.ZX02
|
||||
ld.o: ld.s LOVE_DUCK
|
||||
ca65 -o ld.o ld.s -l ld.lst
|
||||
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
; by deater (Vince Weaver) <vince@deater.net>
|
||||
|
||||
; 510h
|
||||
|
||||
|
||||
dsr_rotate:
|
||||
|
@ -26,7 +27,7 @@ dsr_rotate:
|
|||
stx HGR_SCALE ; scale of drawings
|
||||
|
||||
;===================
|
||||
; int tables
|
||||
; init hgr tables
|
||||
; lookup for HGR lines 0..47 stored in zero page
|
||||
|
||||
ldx #47
|
||||
|
@ -41,6 +42,23 @@ init_loop:
|
|||
dex
|
||||
bpl init_loop
|
||||
|
||||
;===================
|
||||
; init gr tables
|
||||
; lookup for GR lines 0..23 stored in zero page
|
||||
|
||||
ldx #23
|
||||
init_gr_loop:
|
||||
txa
|
||||
jsr GBASCALC
|
||||
lda GBASL
|
||||
sta gr_lookup_l,X
|
||||
lda GBASH
|
||||
sta gr_lookup_h,X
|
||||
dex
|
||||
bpl init_gr_loop
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -86,10 +104,10 @@ lsier_outer:
|
|||
lsr
|
||||
tax
|
||||
|
||||
lda gr_offsets_l,X
|
||||
lda gr_lookup_l,X
|
||||
sta GBASL
|
||||
|
||||
lda gr_offsets_h,X
|
||||
lda gr_lookup_h,X
|
||||
clc
|
||||
draw_page_smc:
|
||||
adc #$0
|
||||
|
@ -195,11 +213,8 @@ done_page:
|
|||
; inc FRAMEH
|
||||
;no_frame_oflo:
|
||||
|
||||
; lda FRAMEH
|
||||
; cmp #2
|
||||
|
||||
lda FRAME
|
||||
; bpl big_loop
|
||||
cmp #66
|
||||
|
||||
beq done_this
|
||||
|
@ -213,4 +228,3 @@ shape_dsr:
|
|||
.byte $24,$ad,$22,$24,$94,$21,$2c,$4d
|
||||
.byte $91,$3f,$36,$00
|
||||
|
||||
.include "gr_offsets.s"
|
||||
|
|
26
demos/lovebyte2023/loveduck_512/ld.s
Normal file
26
demos/lovebyte2023/loveduck_512/ld.s
Normal file
|
@ -0,0 +1,26 @@
|
|||
; Wrapper to load loveduck high
|
||||
;
|
||||
; by deater (Vince Weaver) <vince@deater.net>
|
||||
|
||||
; the problem is the boot loader loads things to $800 by default
|
||||
; that's lo-res page 2 which we want to use later
|
||||
|
||||
ld_start:
|
||||
|
||||
.byte 2 ; number of sectors to load
|
||||
lda $C088,X ; turn off drive motor
|
||||
|
||||
ldy #0
|
||||
loop1:
|
||||
lda binary,Y
|
||||
sta $1000,Y
|
||||
lda binary+256,Y
|
||||
sta $1000+256,Y
|
||||
dey
|
||||
bne loop1
|
||||
|
||||
jmp $1000 ; jump to entry pint
|
||||
|
||||
binary:
|
||||
.incbin "LOVE_DUCK"
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
; bouncing hearts
|
||||
; love duck + bouncing hearts
|
||||
|
||||
; by Vince `deater` Weaver <vince@deater.net>
|
||||
; -- dSr--
|
||||
|
@ -35,10 +35,8 @@ COLOR = $30
|
|||
|
||||
hgr_lookup_h = $40 ; $40-$70
|
||||
hgr_lookup_l = $70 ; $70-$A0
|
||||
|
||||
YPOS = $56
|
||||
XPOS = $57
|
||||
PO = $58
|
||||
gr_lookup_l = $A0 ; $A0-$B8
|
||||
gr_lookup_h = $B8 ; $B8-$C0
|
||||
|
||||
HGR_X = $E0
|
||||
HGR_Y = $E2
|
||||
|
@ -47,6 +45,8 @@ HGR_HORIZ = $E5
|
|||
HGR_PAGE = $E6
|
||||
HGR_SCALE = $E7
|
||||
|
||||
YPOS = $F0
|
||||
XPOS = $F1
|
||||
ROTATION = $FA
|
||||
FRAME = $FB
|
||||
FRAMEH = $FC
|
||||
|
@ -58,9 +58,6 @@ XX = $FF
|
|||
|
||||
love_duck:
|
||||
|
||||
; .byte 2 ; number of sectors to load
|
||||
; lda $C088,X ; turn off drive motor
|
||||
|
||||
; jsr dsr_rotate
|
||||
|
||||
|
||||
|
@ -101,6 +98,20 @@ page_smc:
|
|||
|
||||
no_color_cycle:
|
||||
|
||||
|
||||
lda FRAME
|
||||
and #$3
|
||||
bne no_beep
|
||||
; every 4th cycle beep
|
||||
|
||||
lda #NOTE_C3
|
||||
sta speaker_frequency
|
||||
lda #10
|
||||
sta speaker_duration
|
||||
|
||||
jsr speaker_tone
|
||||
; Y zero here?
|
||||
no_beep:
|
||||
lda #100 ; pause a bit
|
||||
jsr WAIT
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user