mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-01-16 11:30:55 +00:00
fn: update sprite mask code
This commit is contained in:
parent
d99e0726e2
commit
abf18eb43c
@ -67,7 +67,7 @@ floppy_loop:
|
||||
|
||||
inc XPOS
|
||||
lda XPOS
|
||||
cmp #17
|
||||
cmp #18
|
||||
bcc floppy_loop
|
||||
bcs reset_floppy_loop
|
||||
|
||||
@ -148,30 +148,34 @@ rat2_image:
|
||||
floppy_x:
|
||||
.byte 10,12,14,16
|
||||
.byte 18,20,22,24
|
||||
.byte 26,24,22,20,18
|
||||
.byte 16,14,12,10
|
||||
.byte 26,26,24,22
|
||||
.byte 20,18,16,14,12,10
|
||||
|
||||
floppy_sprite_l:
|
||||
.byte <disk_sprite0,<disk_sprite1,<disk_sprite2,<disk_sprite3
|
||||
.byte <disk_sprite4,<disk_sprite5,<disk_sprite6,<disk_sprite7
|
||||
.byte <disk_sprite0,<disk_sprite7,<disk_sprite6,<disk_sprite5
|
||||
.byte <disk_sprite4,<disk_sprite3,<disk_sprite2,<disk_sprite1
|
||||
.byte <disk_sprite0
|
||||
.byte <disk_sprite0,<disk_sprite0,<disk_sprite7,<disk_sprite6
|
||||
.byte <disk_sprite5,<disk_sprite4,<disk_sprite3,<disk_sprite2
|
||||
.byte <disk_sprite1,<disk_sprite0
|
||||
floppy_sprite_h:
|
||||
.byte >disk_sprite0,>disk_sprite1,>disk_sprite2,>disk_sprite3
|
||||
.byte >disk_sprite4,>disk_sprite5,>disk_sprite6,>disk_sprite7
|
||||
.byte >disk_sprite0,>disk_sprite7,>disk_sprite6,>disk_sprite5
|
||||
.byte >disk_sprite4,>disk_sprite3,>disk_sprite2,>disk_sprite1
|
||||
.byte >disk_sprite0
|
||||
.byte >disk_sprite0,>disk_sprite0,>disk_sprite7,>disk_sprite6
|
||||
.byte >disk_sprite5,>disk_sprite4,>disk_sprite3,>disk_sprite2
|
||||
.byte >disk_sprite1,>disk_sprite0
|
||||
|
||||
floppy_mask_l:
|
||||
.byte <disk_mask0,<disk_mask1,<disk_mask2,<disk_mask3
|
||||
.byte <disk_mask4,<disk_mask5,<disk_mask6,<disk_mask7
|
||||
.byte <disk_mask6,<disk_mask5,<disk_mask4,<disk_mask3
|
||||
.byte <disk_mask2,<disk_mask1,<disk_mask0,<disk_mask0
|
||||
.byte <disk_mask0,<disk_mask0,<disk_mask7,<disk_mask6
|
||||
.byte <disk_mask5,<disk_mask4,<disk_mask3,<disk_mask2
|
||||
.byte <disk_mask1,<disk_mask0
|
||||
|
||||
floppy_mask_h:
|
||||
.byte >disk_mask0,>disk_mask1,>disk_mask2,>disk_mask3
|
||||
.byte >disk_mask4,>disk_mask5,>disk_mask6,>disk_mask7
|
||||
.byte >disk_mask6,>disk_mask5,>disk_mask4,>disk_mask3
|
||||
.byte >disk_mask2,>disk_mask1,>disk_mask0,>disk_mask0
|
||||
.byte >disk_mask0,>disk_mask0,>disk_mask7,>disk_mask6
|
||||
.byte >disk_mask5,>disk_mask4,>disk_mask3,>disk_mask2
|
||||
.byte >disk_mask1,>disk_mask0
|
||||
|
||||
|
||||
|
20
games/sb/fn_sound/Makefile
Normal file
20
games/sb/fn_sound/Makefile
Normal file
@ -0,0 +1,20 @@
|
||||
include ../../../Makefile.inc
|
||||
|
||||
TOKENIZE = ../../utils/asoft_basic-utils/tokenize_asoft
|
||||
DOS33 = ../../utils/dos33fs-utils/dos33
|
||||
TEXT_TO_ED = ../../../utils/music/text_to_ed
|
||||
EMPTY_DISK = ../../empty_disk/empty.dsk
|
||||
|
||||
all: fortnight.ed
|
||||
|
||||
###
|
||||
|
||||
fortnight.ed: $(TEXT_TO_ED) fortnight.txt
|
||||
$(TEXT_TO_ED) -o 1 fortnight.txt fortnight
|
||||
|
||||
|
||||
###
|
||||
|
||||
clean:
|
||||
rm -f *~ *.o *.lst fortnight.ed
|
||||
|
304
games/sb/fn_sound/fortnight.txt
Normal file
304
games/sb/fn_sound/fortnight.txt
Normal file
@ -0,0 +1,304 @@
|
||||
'
|
||||
' TITLE: Breakdancing Rat from SBEMAIL #152
|
||||
' AUTHOR: (tracked by) Vince Weaver <vince@deater.net>
|
||||
' COMMENTS: based on MIDI converted from recording of the video
|
||||
'
|
||||
' LOOP: 640
|
||||
'
|
||||
' BPM: 320
|
||||
' TEMPO: 6
|
||||
' FREQ: 1000000
|
||||
' IRQ: 50
|
||||
'
|
||||
' LYRICS: 0
|
||||
'
|
||||
' ENDHEADER
|
||||
-------
|
||||
' 1
|
||||
' G 3 8
|
||||
' 2
|
||||
0 ----- ----- -----
|
||||
1 ----- ----- -----
|
||||
2 ----- ----- -----
|
||||
3 ----- ----- -----
|
||||
4 ----- ----- -----
|
||||
5 ----- ----- -----
|
||||
6 ----- ----- -----
|
||||
7 ----- ----- -----
|
||||
8 ----- ----- -----
|
||||
9 ----- ----- -----
|
||||
A ----- ----- -----
|
||||
B ----- ----- -----
|
||||
C ----- ----- -----
|
||||
D ----- ----- -----
|
||||
E ----- ----- -----
|
||||
F ----- ----- -----
|
||||
@ 255 255
|
||||
10 C 3 8 C 2 8 -----
|
||||
11 ----- ----- -----
|
||||
12 ----- ----- -----
|
||||
13 ----- ----- -----
|
||||
14 C 3 8 C 2 8 -----
|
||||
15 ----- ----- -----
|
||||
16 ----- ----- -----
|
||||
17 ----- ----- -----
|
||||
@ 255 255
|
||||
' 3
|
||||
0 ----- ----- -----
|
||||
1 ----- ----- -----
|
||||
2 ----- ----- -----
|
||||
3 ----- ----- -----
|
||||
4 ----- ----- -----
|
||||
5 ----- ----- -----
|
||||
6 ----- ----- -----
|
||||
7 ----- ----- -----
|
||||
8 ----- ----- -----
|
||||
9 ----- ----- -----
|
||||
A ----- ----- -----
|
||||
B ----- ----- -----
|
||||
C B 3 8 E 2 8 -----
|
||||
D ----- ----- -----
|
||||
E ----- ----- -----
|
||||
F ----- ----- -----
|
||||
10 D 4 8 G 2 8 -----
|
||||
11 ----- ----- -----
|
||||
12 ----- ----- -----
|
||||
13 ----- ----- -----
|
||||
14 B 3 8 E 2 8 -----
|
||||
15 ----- ----- -----
|
||||
16 ----- ----- -----
|
||||
17 ----- ----- -----
|
||||
' 4
|
||||
0 F 4 8 A#3 8 -----
|
||||
1 ----- ----- -----
|
||||
2 ----- ----- -----
|
||||
3 ----- ----- -----
|
||||
4 F 4 8 A#3 8 -----
|
||||
5 ----- ----- -----
|
||||
6 ----- ----- -----
|
||||
7 ----- ----- -----
|
||||
8 F 4 8 A#3 8 -----
|
||||
9 ----- ----- -----
|
||||
A ----- ----- -----
|
||||
B ----- ----- -----
|
||||
C A#3 6 A#2 8 -----
|
||||
D ----- ----- -----
|
||||
E F 4 6 ----- -----
|
||||
F ----- ----- -----
|
||||
10 ----- ----- -----
|
||||
11 ----- ----- -----
|
||||
12 ----- ----- -----
|
||||
13 ----- ----- -----
|
||||
14 ----- ----- -----
|
||||
15 ----- ----- -----
|
||||
16 ----- ----- -----
|
||||
17 ----- ----- -----
|
||||
@ 255 255
|
||||
' 5
|
||||
0 ----- ----- -----
|
||||
1 ----- ----- -----
|
||||
2 ----- ----- -----
|
||||
3 ----- ----- -----
|
||||
4 ----- ----- -----
|
||||
5 ----- ----- -----
|
||||
6 ----- ----- -----
|
||||
7 ----- ----- -----
|
||||
8 C 3 8 C 2 8 -----
|
||||
9 ----- ----- -----
|
||||
A ----- ----- -----
|
||||
B ----- ----- -----
|
||||
C C 3 8 C 2 8 -----
|
||||
D ----- ----- -----
|
||||
E ----- ----- -----
|
||||
F ----- ----- -----
|
||||
10 ----- ----- -----
|
||||
11 ----- ----- -----
|
||||
12 ----- ----- -----
|
||||
13 ----- ----- -----
|
||||
14 ----- ----- -----
|
||||
15 ----- ----- -----
|
||||
16 ----- ----- -----
|
||||
17 ----- ----- -----
|
||||
@ 255 255
|
||||
' 6
|
||||
0 ----- ----- -----
|
||||
1 ----- ----- -----
|
||||
2 ----- ----- -----
|
||||
3 ----- ----- -----
|
||||
4 ----- ----- -----
|
||||
5 ----- ----- -----
|
||||
6 ----- ----- -----
|
||||
7 ----- ----- -----
|
||||
8 F 4 4 A#3 4 -----
|
||||
9 ----- ----- -----
|
||||
A ----- ----- -----
|
||||
B ----- ----- -----
|
||||
C ----- ----- -----
|
||||
D ----- ----- -----
|
||||
E ----- ----- -----
|
||||
F ----- ----- -----
|
||||
10 B 3 8 E 2 8 -----
|
||||
11 ----- ----- -----
|
||||
12 ----- ----- -----
|
||||
13 ----- ----- -----
|
||||
14 B 3 8 E 2 8 -----
|
||||
15 ----- ----- -----
|
||||
16 ----- ----- -----
|
||||
17 ----- ----- -----
|
||||
' 7
|
||||
0 B 3 8 E 2 8 -----
|
||||
1 ----- ----- -----
|
||||
2 ----- ----- -----
|
||||
3 ----- ----- -----
|
||||
4 B 3 8 E 2 8 -----
|
||||
5 ----- ----- -----
|
||||
6 ----- ----- -----
|
||||
7 ----- ----- -----
|
||||
8 ----- ----- -----
|
||||
9 ----- ----- -----
|
||||
A ----- ----- -----
|
||||
B ----- ----- -----
|
||||
C ----- ----- -----
|
||||
D ----- ----- -----
|
||||
E ----- ----- -----
|
||||
F ----- ----- -----
|
||||
10 ----- ----- -----
|
||||
11 ----- ----- -----
|
||||
12 ----- ----- -----
|
||||
13 ----- ----- -----
|
||||
14 ----- ----- -----
|
||||
15 ----- ----- -----
|
||||
16 ----- ----- -----
|
||||
17 ----- ----- -----
|
||||
@ 255 255
|
||||
' 8
|
||||
0 ----- ----- -----
|
||||
1 ----- ----- -----
|
||||
2 ----- ----- -----
|
||||
3 ----- C 2 > -----
|
||||
4 C 3 6 C 2 6 -----
|
||||
5 ----- ----- -----
|
||||
6 C 3 6 C 2 6 -----
|
||||
7 ----- ----- -----
|
||||
8 C 3 4 C 2 4 -----
|
||||
9 ----- ----- -----
|
||||
A ----- ----- -----
|
||||
B ----- ----- -----
|
||||
C ----- ----- -----
|
||||
D ----- ----- -----
|
||||
E ----- ----- -----
|
||||
F ----- ----- -----
|
||||
10 ----- ----- -----
|
||||
11 ----- ----- -----
|
||||
12 ----- ----- -----
|
||||
13 ----- ----- -----
|
||||
14 ----- ----- -----
|
||||
15 ----- ----- -----
|
||||
16 ----- ----- -----
|
||||
17 ----- ----- -----
|
||||
@ 255 255
|
||||
' 9
|
||||
0 B 3 8 E 2 8 -----
|
||||
1 ----- ----- -----
|
||||
2 ----- ----- -----
|
||||
3 ----- ----- -----
|
||||
4 D 4 8 G 2 8 -----
|
||||
5 ----- ----- -----
|
||||
6 ----- ----- -----
|
||||
7 ----- ----- -----
|
||||
8 B 3 8 E 2 8 -----
|
||||
9 ----- ----- -----
|
||||
A ----- ----- -----
|
||||
B ----- ----- -----
|
||||
C F 4 8 A#2 8 -----
|
||||
D ----- ----- -----
|
||||
E ----- ----- -----
|
||||
F ----- ----- -----
|
||||
' A#3 4
|
||||
10 ----- A#3 8 -----
|
||||
11 F 4 ? ----- -----
|
||||
12 ----- ----- -----
|
||||
13 ----- ----- -----
|
||||
14 F 4 8 A#3 8 -----
|
||||
15 ----- ----- -----
|
||||
16 ----- ----- -----
|
||||
17 ----- ----- -----
|
||||
' 10
|
||||
0 F 4 4 A#3 4 -----
|
||||
1 ----- ----- -----
|
||||
2 ----- ----- -----
|
||||
3 ----- ----- -----
|
||||
4 ----- ----- -----
|
||||
5 ----- ----- -----
|
||||
6 ----- ----- -----
|
||||
7 ----- ----- -----
|
||||
8 ----- ----- -----
|
||||
9 ----- ----- -----
|
||||
A ----- ----- -----
|
||||
B ----- ----- -----
|
||||
C ----- ----- -----
|
||||
D ----- ----- -----
|
||||
E ----- ----- -----
|
||||
F ----- ----- -----
|
||||
10 ----- ----- -----
|
||||
11 ----- ----- -----
|
||||
12 ----- ----- -----
|
||||
13 ----- ----- -----
|
||||
@ 255 255
|
||||
14 C 3 8 C 2 8 -----
|
||||
15 ----- ----- -----
|
||||
16 ----- ----- -----
|
||||
17 ----- ----- -----
|
||||
' 11
|
||||
0 C 3 4 C 2 4 -----
|
||||
1 ----- ----- -----
|
||||
2 ----- ----- -----
|
||||
3 ----- ----- -----
|
||||
4 ----- ----- -----
|
||||
5 ----- ----- -----
|
||||
6 ----- ----- -----
|
||||
7 ----- ----- -----
|
||||
8 ----- ----- -----
|
||||
9 ----- ----- -----
|
||||
A ----- ----- -----
|
||||
B ----- ----- -----
|
||||
C ----- ----- -----
|
||||
D ----- ----- -----
|
||||
E ----- ----- -----
|
||||
F ----- ----- -----
|
||||
10 ----- ----- -----
|
||||
11 ----- ----- -----
|
||||
12 ----- ----- -----
|
||||
13 ----- ----- -----
|
||||
@ 255 255
|
||||
14 F 4 8 A#3 8 -----
|
||||
15 ----- ----- -----
|
||||
16 ----- ----- -----
|
||||
17 ----- ----- -----
|
||||
' 12
|
||||
0 ----- ----- -----
|
||||
1 ----- ----- -----
|
||||
2 ----- ----- -----
|
||||
3 ----- ----- -----
|
||||
@ 255 255
|
||||
4 B 3 8 E 2 8 -----
|
||||
5 ----- ----- -----
|
||||
6 ----- ----- -----
|
||||
7 ----- ----- -----
|
||||
8 B 3 8 E 2 8 -----
|
||||
9 ----- ----- -----
|
||||
A ----- ----- -----
|
||||
B ----- ----- -----
|
||||
C B 3 8 E 2 8 -----
|
||||
D ----- ----- -----
|
||||
E ----- ----- -----
|
||||
F ----- ----- -----
|
||||
10 B 3 4 E 2 4 -----
|
||||
11 ----- ----- -----
|
||||
12 ----- ----- -----
|
||||
13 ----- ----- -----
|
||||
14 ----- ----- -----
|
||||
15 ----- ----- -----
|
||||
16 ----- ----- -----
|
||||
17 ----- ----- -----
|
||||
' LOOP TO FRAME ?
|
Binary file not shown.
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 19 KiB |
@ -20,22 +20,25 @@ hgr_draw_sprite:
|
||||
lda (INL),Y
|
||||
sta sprite_ysize_smc+1 ; self modify
|
||||
|
||||
; skip the xsize/ysize and point to sprite
|
||||
clc
|
||||
; point smc to sprite
|
||||
lda INL ; 16-bit add
|
||||
adc #2
|
||||
sta sprite_smc1+1
|
||||
lda INH
|
||||
adc #0
|
||||
sta sprite_smc1+2
|
||||
|
||||
ldx #0 ; X is pointer offset
|
||||
lda MASKL
|
||||
sta mask_smc1+1
|
||||
lda MASKH
|
||||
sta mask_smc1+2
|
||||
|
||||
stx MASK ; actual row
|
||||
ldx #0 ; X is pointer offset
|
||||
stx CURRENT_ROW ; actual row
|
||||
|
||||
ldx #2
|
||||
|
||||
hgr_sprite_yloop:
|
||||
|
||||
lda MASK ; row
|
||||
lda CURRENT_ROW ; row
|
||||
|
||||
clc
|
||||
adc CURSOR_Y ; add in cursor_y
|
||||
@ -57,30 +60,30 @@ hgr_sprite_page_smc:
|
||||
|
||||
sprite_inner_loop:
|
||||
|
||||
|
||||
lda (GBASL),Y ; load bg
|
||||
sprite_smc1:
|
||||
lda $d000 ; get sprite pattern
|
||||
sta (GBASL),Y ; store out
|
||||
eor $f000,X ; load sprite data
|
||||
mask_smc1:
|
||||
and $f000,X
|
||||
eor (GBASL),Y
|
||||
sta (GBASL),Y
|
||||
|
||||
inx
|
||||
iny
|
||||
inx ; increment sprite offset
|
||||
iny ; increment output position
|
||||
|
||||
|
||||
inc sprite_smc1+1
|
||||
bne sprite_noflo
|
||||
inc sprite_smc1+2
|
||||
sprite_noflo:
|
||||
|
||||
sprite_width_end_smc:
|
||||
cpy #6
|
||||
bne sprite_inner_loop
|
||||
cpy #6 ; see if reached end of row
|
||||
bne sprite_inner_loop ; if not, loop
|
||||
|
||||
|
||||
inc MASK ; row
|
||||
lda MASK ; row
|
||||
inc CURRENT_ROW ; row
|
||||
lda CURRENT_ROW ; row
|
||||
|
||||
sprite_ysize_smc:
|
||||
cmp #31
|
||||
bne hgr_sprite_yloop
|
||||
cmp #31 ; see if at end
|
||||
bne hgr_sprite_yloop ; if not, loop
|
||||
|
||||
rts
|
||||
|
||||
|
@ -164,6 +164,7 @@ XMAX = $F2
|
||||
CURSOR_X = $F3
|
||||
CURSOR_Y = $F4
|
||||
HGR_PAGE = $F5
|
||||
CURRENT_ROW = $F6
|
||||
|
||||
TEMP = $F8
|
||||
TEMPY = $F9
|
||||
|
Loading…
x
Reference in New Issue
Block a user