mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-08-15 08:27:41 +00:00
fn: update sprite mask code
This commit is contained in:
@@ -67,7 +67,7 @@ floppy_loop:
|
|||||||
|
|
||||||
inc XPOS
|
inc XPOS
|
||||||
lda XPOS
|
lda XPOS
|
||||||
cmp #17
|
cmp #18
|
||||||
bcc floppy_loop
|
bcc floppy_loop
|
||||||
bcs reset_floppy_loop
|
bcs reset_floppy_loop
|
||||||
|
|
||||||
@@ -148,30 +148,34 @@ rat2_image:
|
|||||||
floppy_x:
|
floppy_x:
|
||||||
.byte 10,12,14,16
|
.byte 10,12,14,16
|
||||||
.byte 18,20,22,24
|
.byte 18,20,22,24
|
||||||
.byte 26,24,22,20,18
|
.byte 26,26,24,22
|
||||||
.byte 16,14,12,10
|
.byte 20,18,16,14,12,10
|
||||||
|
|
||||||
floppy_sprite_l:
|
floppy_sprite_l:
|
||||||
.byte <disk_sprite0,<disk_sprite1,<disk_sprite2,<disk_sprite3
|
.byte <disk_sprite0,<disk_sprite1,<disk_sprite2,<disk_sprite3
|
||||||
.byte <disk_sprite4,<disk_sprite5,<disk_sprite6,<disk_sprite7
|
.byte <disk_sprite4,<disk_sprite5,<disk_sprite6,<disk_sprite7
|
||||||
.byte <disk_sprite0,<disk_sprite7,<disk_sprite6,<disk_sprite5
|
.byte <disk_sprite0,<disk_sprite0,<disk_sprite7,<disk_sprite6
|
||||||
.byte <disk_sprite4,<disk_sprite3,<disk_sprite2,<disk_sprite1
|
.byte <disk_sprite5,<disk_sprite4,<disk_sprite3,<disk_sprite2
|
||||||
.byte <disk_sprite0
|
.byte <disk_sprite1,<disk_sprite0
|
||||||
floppy_sprite_h:
|
floppy_sprite_h:
|
||||||
.byte >disk_sprite0,>disk_sprite1,>disk_sprite2,>disk_sprite3
|
.byte >disk_sprite0,>disk_sprite1,>disk_sprite2,>disk_sprite3
|
||||||
.byte >disk_sprite4,>disk_sprite5,>disk_sprite6,>disk_sprite7
|
.byte >disk_sprite4,>disk_sprite5,>disk_sprite6,>disk_sprite7
|
||||||
.byte >disk_sprite0,>disk_sprite7,>disk_sprite6,>disk_sprite5
|
.byte >disk_sprite0,>disk_sprite0,>disk_sprite7,>disk_sprite6
|
||||||
.byte >disk_sprite4,>disk_sprite3,>disk_sprite2,>disk_sprite1
|
.byte >disk_sprite5,>disk_sprite4,>disk_sprite3,>disk_sprite2
|
||||||
.byte >disk_sprite0
|
.byte >disk_sprite1,>disk_sprite0
|
||||||
|
|
||||||
floppy_mask_l:
|
floppy_mask_l:
|
||||||
.byte <disk_mask0,<disk_mask1,<disk_mask2,<disk_mask3
|
.byte <disk_mask0,<disk_mask1,<disk_mask2,<disk_mask3
|
||||||
.byte <disk_mask4,<disk_mask5,<disk_mask6,<disk_mask7
|
.byte <disk_mask4,<disk_mask5,<disk_mask6,<disk_mask7
|
||||||
.byte <disk_mask6,<disk_mask5,<disk_mask4,<disk_mask3
|
.byte <disk_mask0,<disk_mask0,<disk_mask7,<disk_mask6
|
||||||
.byte <disk_mask2,<disk_mask1,<disk_mask0,<disk_mask0
|
.byte <disk_mask5,<disk_mask4,<disk_mask3,<disk_mask2
|
||||||
|
.byte <disk_mask1,<disk_mask0
|
||||||
|
|
||||||
floppy_mask_h:
|
floppy_mask_h:
|
||||||
.byte >disk_mask0,>disk_mask1,>disk_mask2,>disk_mask3
|
.byte >disk_mask0,>disk_mask1,>disk_mask2,>disk_mask3
|
||||||
.byte >disk_mask4,>disk_mask5,>disk_mask6,>disk_mask7
|
.byte >disk_mask4,>disk_mask5,>disk_mask6,>disk_mask7
|
||||||
.byte >disk_mask6,>disk_mask5,>disk_mask4,>disk_mask3
|
.byte >disk_mask0,>disk_mask0,>disk_mask7,>disk_mask6
|
||||||
.byte >disk_mask2,>disk_mask1,>disk_mask0,>disk_mask0
|
.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
|
lda (INL),Y
|
||||||
sta sprite_ysize_smc+1 ; self modify
|
sta sprite_ysize_smc+1 ; self modify
|
||||||
|
|
||||||
; skip the xsize/ysize and point to sprite
|
; point smc to sprite
|
||||||
clc
|
|
||||||
lda INL ; 16-bit add
|
lda INL ; 16-bit add
|
||||||
adc #2
|
|
||||||
sta sprite_smc1+1
|
sta sprite_smc1+1
|
||||||
lda INH
|
lda INH
|
||||||
adc #0
|
|
||||||
sta sprite_smc1+2
|
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:
|
hgr_sprite_yloop:
|
||||||
|
|
||||||
lda MASK ; row
|
lda CURRENT_ROW ; row
|
||||||
|
|
||||||
clc
|
clc
|
||||||
adc CURSOR_Y ; add in cursor_y
|
adc CURSOR_Y ; add in cursor_y
|
||||||
@@ -57,30 +60,30 @@ hgr_sprite_page_smc:
|
|||||||
|
|
||||||
sprite_inner_loop:
|
sprite_inner_loop:
|
||||||
|
|
||||||
|
|
||||||
|
lda (GBASL),Y ; load bg
|
||||||
sprite_smc1:
|
sprite_smc1:
|
||||||
lda $d000 ; get sprite pattern
|
eor $f000,X ; load sprite data
|
||||||
sta (GBASL),Y ; store out
|
mask_smc1:
|
||||||
|
and $f000,X
|
||||||
|
eor (GBASL),Y
|
||||||
|
sta (GBASL),Y
|
||||||
|
|
||||||
inx
|
inx ; increment sprite offset
|
||||||
iny
|
iny ; increment output position
|
||||||
|
|
||||||
|
|
||||||
inc sprite_smc1+1
|
|
||||||
bne sprite_noflo
|
|
||||||
inc sprite_smc1+2
|
|
||||||
sprite_noflo:
|
|
||||||
|
|
||||||
sprite_width_end_smc:
|
sprite_width_end_smc:
|
||||||
cpy #6
|
cpy #6 ; see if reached end of row
|
||||||
bne sprite_inner_loop
|
bne sprite_inner_loop ; if not, loop
|
||||||
|
|
||||||
|
|
||||||
inc MASK ; row
|
inc CURRENT_ROW ; row
|
||||||
lda MASK ; row
|
lda CURRENT_ROW ; row
|
||||||
|
|
||||||
sprite_ysize_smc:
|
sprite_ysize_smc:
|
||||||
cmp #31
|
cmp #31 ; see if at end
|
||||||
bne hgr_sprite_yloop
|
bne hgr_sprite_yloop ; if not, loop
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
@@ -164,6 +164,7 @@ XMAX = $F2
|
|||||||
CURSOR_X = $F3
|
CURSOR_X = $F3
|
||||||
CURSOR_Y = $F4
|
CURSOR_Y = $F4
|
||||||
HGR_PAGE = $F5
|
HGR_PAGE = $F5
|
||||||
|
CURRENT_ROW = $F6
|
||||||
|
|
||||||
TEMP = $F8
|
TEMP = $F8
|
||||||
TEMPY = $F9
|
TEMPY = $F9
|
||||||
|
Reference in New Issue
Block a user