Let's animate
This commit is contained in:
Binary file not shown.
@@ -86,20 +86,28 @@ FirstSTART
|
|||||||
ldx #25 ; position
|
ldx #25 ; position
|
||||||
ldy #4 ; shape
|
ldy #4 ; shape
|
||||||
jsr ShowDino
|
jsr ShowDino
|
||||||
|
mva #$50 screen+$700+32
|
||||||
EndLoop
|
EndLoop
|
||||||
wait ; or waitRTC ?
|
wait ; or waitRTC ?
|
||||||
wait ; or waitRTC ?
|
key
|
||||||
mva #>font2 chbas
|
mva #>font2 chbas
|
||||||
|
waitRTC ; or waitRTC ?
|
||||||
|
mva #3 hscrol
|
||||||
wait ; or waitRTC ?
|
wait ; or waitRTC ?
|
||||||
wait ; or waitRTC ?
|
key
|
||||||
mva #>font3 chbas
|
mva #>font3 chbas
|
||||||
|
waitRTC ; or waitRTC ?
|
||||||
|
mva #2 hscrol
|
||||||
wait ; or waitRTC ?
|
wait ; or waitRTC ?
|
||||||
wait ; or waitRTC ?
|
key
|
||||||
mva #>font4 chbas
|
mva #>font4 chbas
|
||||||
|
waitRTC ; or waitRTC ?
|
||||||
|
mva #1 hscrol
|
||||||
wait ; or waitRTC ?
|
wait ; or waitRTC ?
|
||||||
wait ; or waitRTC ?
|
key
|
||||||
mva #>font1 chbas
|
mva #>font1 chbas
|
||||||
|
waitRTC ; or waitRTC ?
|
||||||
|
mva #4 hscrol
|
||||||
jmp EndLoop
|
jmp EndLoop
|
||||||
halt
|
halt
|
||||||
rts
|
rts
|
||||||
|
|||||||
@@ -589,20 +589,20 @@ FFFD 0000 @KBCODE
|
|||||||
00 3818 LINE7_ADDR
|
00 3818 LINE7_ADDR
|
||||||
00 381B LINE8_ADDR
|
00 381B LINE8_ADDR
|
||||||
00 3820 FIRSTSTART
|
00 3820 FIRSTSTART
|
||||||
00 3846 ENDLOOP
|
00 384B ENDLOOP
|
||||||
00 3901 GENERATECHARSETS
|
00 3926 GENERATECHARSETS
|
||||||
00 3903 GENERATECHARSETS.COPYLOOP
|
00 3928 GENERATECHARSETS.COPYLOOP
|
||||||
00 3937 SHOWDINO
|
00 395C SHOWDINO
|
||||||
00 3943 SHOWDINO.DINOLOOP
|
00 3968 SHOWDINO.DINOLOOP
|
||||||
00 394A SHOWDINO.0@
|
00 396F SHOWDINO.0@
|
||||||
00 395C SHOWDINO.1@
|
00 3981 SHOWDINO.1@
|
||||||
00 396E SHOWDINO.2@
|
00 3993 SHOWDINO.2@
|
||||||
00 3980 SHOWDINO.3@
|
00 39A5 SHOWDINO.3@
|
||||||
00 3992 SETGAMESCREEN
|
00 39B7 SETGAMESCREEN
|
||||||
00 39A7 DINO_RUN_0
|
00 39CC DINO_RUN_0
|
||||||
00 39BB DINO_RUN_1
|
00 39E0 DINO_RUN_1
|
||||||
00 39CF DINO_RUN_2
|
00 39F4 DINO_RUN_2
|
||||||
00 39E3 DINO_CROUCH_1
|
00 3A08 DINO_CROUCH_1
|
||||||
00 39F7 DINO_CROUCH_2
|
00 3A1C DINO_CROUCH_2
|
||||||
00 3A0B SHAPESTABLEL
|
00 3A30 SHAPESTABLEL
|
||||||
00 3A10 SHAPESTABLEH
|
00 3A35 SHAPESTABLEH
|
||||||
|
|||||||
@@ -961,7 +961,7 @@ Source: dino.asm
|
|||||||
39 org screen+($100*8)
|
39 org screen+($100*8)
|
||||||
40 ; display list
|
40 ; display list
|
||||||
41 3800 GameDL
|
41 3800 GameDL
|
||||||
42 3800-3A14> 70 70 70 70 + .byte $70,$70,$70,$70,$70 ; empty lines
|
42 3800-3A39> 70 70 70 70 + .byte $70,$70,$70,$70,$70 ; empty lines
|
||||||
43 3805 52 .byte $02+$40+$10 ; gr.0+LMS+HSCRL
|
43 3805 52 .byte $02+$40+$10 ; gr.0+LMS+HSCRL
|
||||||
44 3806 line1_addr
|
44 3806 line1_addr
|
||||||
45 3806 00 30 .word screen
|
45 3806 00 30 .word screen
|
||||||
@@ -992,250 +992,278 @@ Source: dino.asm
|
|||||||
70 ;---------------------------------------------------
|
70 ;---------------------------------------------------
|
||||||
71 3820 FirstSTART
|
71 3820 FirstSTART
|
||||||
72 ;jsr GenerateCharsets
|
72 ;jsr GenerateCharsets
|
||||||
73 3820 20 92 39 jsr SetGameScreen
|
73 3820 20 B7 39 jsr SetGameScreen
|
||||||
74 3823 A2 05 ldx #5 ; position
|
74 3823 A2 05 ldx #5 ; position
|
||||||
75 3825 A0 00 ldy #0 ; shape
|
75 3825 A0 00 ldy #0 ; shape
|
||||||
76 3827 20 37 39 jsr ShowDino
|
76 3827 20 5C 39 jsr ShowDino
|
||||||
77 382A A2 0A ldx #10 ; position
|
77 382A A2 0A ldx #10 ; position
|
||||||
78 382C A0 01 ldy #1 ; shape
|
78 382C A0 01 ldy #1 ; shape
|
||||||
79 382E 20 37 39 jsr ShowDino
|
79 382E 20 5C 39 jsr ShowDino
|
||||||
80 3831 A2 0F ldx #15 ; position
|
80 3831 A2 0F ldx #15 ; position
|
||||||
81 3833 A0 02 ldy #2 ; shape
|
81 3833 A0 02 ldy #2 ; shape
|
||||||
82 3835 20 37 39 jsr ShowDino
|
82 3835 20 5C 39 jsr ShowDino
|
||||||
83 3838 A2 14 ldx #20 ; position
|
83 3838 A2 14 ldx #20 ; position
|
||||||
84 383A A0 03 ldy #3 ; shape
|
84 383A A0 03 ldy #3 ; shape
|
||||||
85 383C 20 37 39 jsr ShowDino
|
85 383C 20 5C 39 jsr ShowDino
|
||||||
86 383F A2 19 ldx #25 ; position
|
86 383F A2 19 ldx #25 ; position
|
||||||
87 3841 A0 04 ldy #4 ; shape
|
87 3841 A0 04 ldy #4 ; shape
|
||||||
88 3843 20 37 39 jsr ShowDino
|
88 3843 20 5C 39 jsr ShowDino
|
||||||
89
|
89 3846 A9 50 8D 20 37 mva #$50 screen+$700+32
|
||||||
90 3846 EndLoop
|
90 384B EndLoop
|
||||||
91 3846 wait ; or waitRTC ?
|
91 384B wait ; or waitRTC ?
|
||||||
Macro: WAIT [Source: MACRO.ASM]
|
Macro: WAIT [Source: MACRO.ASM]
|
||||||
3 3846 AD 0B D4 ?ze LDA VCOUNT
|
3 384B AD 0B D4 ?ze LDA VCOUNT
|
||||||
4 3849 C9 10 cmp #16 ; if line<16 then wait for line>15 (long VBI protection)
|
4 384E C9 10 cmp #16 ; if line<16 then wait for line>15 (long VBI protection)
|
||||||
5 384B 90 F9 bcc ?ze
|
5 3850 90 F9 bcc ?ze
|
||||||
6 384D E9 0A sbc #10 ; last lines correction
|
6 3852 E9 0A sbc #10 ; last lines correction
|
||||||
7 384F CD 0B D4 ?wa cmp VCOUNT
|
7 3854 CD 0B D4 ?wa cmp VCOUNT
|
||||||
8 3852 90 FB bcc ?wa
|
8 3857 90 FB bcc ?wa
|
||||||
9 3854 CD 0B D4 ?wf cmp VCOUNT
|
9 3859 CD 0B D4 ?wf cmp VCOUNT
|
||||||
10 3857 B0 FB bcs ?wf
|
10 385C B0 FB bcs ?wf
|
||||||
Source: dino.asm
|
Source: dino.asm
|
||||||
92 3859 wait ; or waitRTC ?
|
92 385E key
|
||||||
|
Macro: KEY [Source: MACRO.ASM]
|
||||||
|
3 385E 48 PHA
|
||||||
|
4 385F AD 0F D2 ?CK1 LDA SKSTAT
|
||||||
|
5 3862 29 04 AND #$04
|
||||||
|
6 3864 F0 F9 BEQ ?CK1
|
||||||
|
7 3866 AD 0F D2 ?CK LDA SKSTAT
|
||||||
|
8 3869 29 04 AND #$04
|
||||||
|
9 386B D0 F9 BNE ?CK
|
||||||
|
10 386D 68 PLA
|
||||||
|
Source: dino.asm
|
||||||
|
93 386E A9 24 8D F4 02 mva #>font2 chbas
|
||||||
|
94 3873 waitRTC ; or waitRTC ?
|
||||||
|
Macro: WAITRTC [Source: MACRO.ASM]
|
||||||
|
1 3873 A5 14 lda RTCLOK+2
|
||||||
|
2 3875 C5 14 ?wa cmp RTCLOK+2
|
||||||
|
3 3877 F0 FC beq ?wa
|
||||||
|
Source: dino.asm
|
||||||
|
95 3879 A9 03 8D 04 D4 mva #3 hscrol
|
||||||
|
96 387E wait ; or waitRTC ?
|
||||||
Macro: WAIT [Source: MACRO.ASM]
|
Macro: WAIT [Source: MACRO.ASM]
|
||||||
3 3859 AD 0B D4 ?ze LDA VCOUNT
|
3 387E AD 0B D4 ?ze LDA VCOUNT
|
||||||
4 385C C9 10 cmp #16 ; if line<16 then wait for line>15 (long VBI protection)
|
4 3881 C9 10 cmp #16 ; if line<16 then wait for line>15 (long VBI protection)
|
||||||
5 385E 90 F9 bcc ?ze
|
5 3883 90 F9 bcc ?ze
|
||||||
6 3860 E9 0A sbc #10 ; last lines correction
|
6 3885 E9 0A sbc #10 ; last lines correction
|
||||||
7 3862 CD 0B D4 ?wa cmp VCOUNT
|
7 3887 CD 0B D4 ?wa cmp VCOUNT
|
||||||
8 3865 90 FB bcc ?wa
|
8 388A 90 FB bcc ?wa
|
||||||
9 3867 CD 0B D4 ?wf cmp VCOUNT
|
9 388C CD 0B D4 ?wf cmp VCOUNT
|
||||||
10 386A B0 FB bcs ?wf
|
10 388F B0 FB bcs ?wf
|
||||||
Source: dino.asm
|
Source: dino.asm
|
||||||
93 386C A9 24 8D F4 02 mva #>font2 chbas
|
97 3891 key
|
||||||
94 3871 wait ; or waitRTC ?
|
Macro: KEY [Source: MACRO.ASM]
|
||||||
|
3 3891 48 PHA
|
||||||
|
4 3892 AD 0F D2 ?CK1 LDA SKSTAT
|
||||||
|
5 3895 29 04 AND #$04
|
||||||
|
6 3897 F0 F9 BEQ ?CK1
|
||||||
|
7 3899 AD 0F D2 ?CK LDA SKSTAT
|
||||||
|
8 389C 29 04 AND #$04
|
||||||
|
9 389E D0 F9 BNE ?CK
|
||||||
|
10 38A0 68 PLA
|
||||||
|
Source: dino.asm
|
||||||
|
98 38A1 A9 28 8D F4 02 mva #>font3 chbas
|
||||||
|
99 38A6 waitRTC ; or waitRTC ?
|
||||||
|
Macro: WAITRTC [Source: MACRO.ASM]
|
||||||
|
1 38A6 A5 14 lda RTCLOK+2
|
||||||
|
2 38A8 C5 14 ?wa cmp RTCLOK+2
|
||||||
|
3 38AA F0 FC beq ?wa
|
||||||
|
Source: dino.asm
|
||||||
|
100 38AC A9 02 8D 04 D4 mva #2 hscrol
|
||||||
|
101 38B1 wait ; or waitRTC ?
|
||||||
Macro: WAIT [Source: MACRO.ASM]
|
Macro: WAIT [Source: MACRO.ASM]
|
||||||
3 3871 AD 0B D4 ?ze LDA VCOUNT
|
3 38B1 AD 0B D4 ?ze LDA VCOUNT
|
||||||
4 3874 C9 10 cmp #16 ; if line<16 then wait for line>15 (long VBI protection)
|
4 38B4 C9 10 cmp #16 ; if line<16 then wait for line>15 (long VBI protection)
|
||||||
5 3876 90 F9 bcc ?ze
|
5 38B6 90 F9 bcc ?ze
|
||||||
6 3878 E9 0A sbc #10 ; last lines correction
|
6 38B8 E9 0A sbc #10 ; last lines correction
|
||||||
7 387A CD 0B D4 ?wa cmp VCOUNT
|
7 38BA CD 0B D4 ?wa cmp VCOUNT
|
||||||
8 387D 90 FB bcc ?wa
|
8 38BD 90 FB bcc ?wa
|
||||||
9 387F CD 0B D4 ?wf cmp VCOUNT
|
9 38BF CD 0B D4 ?wf cmp VCOUNT
|
||||||
10 3882 B0 FB bcs ?wf
|
10 38C2 B0 FB bcs ?wf
|
||||||
Source: dino.asm
|
Source: dino.asm
|
||||||
95 3884 wait ; or waitRTC ?
|
102 38C4 key
|
||||||
|
Macro: KEY [Source: MACRO.ASM]
|
||||||
|
3 38C4 48 PHA
|
||||||
|
4 38C5 AD 0F D2 ?CK1 LDA SKSTAT
|
||||||
|
5 38C8 29 04 AND #$04
|
||||||
|
6 38CA F0 F9 BEQ ?CK1
|
||||||
|
7 38CC AD 0F D2 ?CK LDA SKSTAT
|
||||||
|
8 38CF 29 04 AND #$04
|
||||||
|
9 38D1 D0 F9 BNE ?CK
|
||||||
|
10 38D3 68 PLA
|
||||||
|
Source: dino.asm
|
||||||
|
103 38D4 A9 2C 8D F4 02 mva #>font4 chbas
|
||||||
|
104 38D9 waitRTC ; or waitRTC ?
|
||||||
|
Macro: WAITRTC [Source: MACRO.ASM]
|
||||||
|
1 38D9 A5 14 lda RTCLOK+2
|
||||||
|
2 38DB C5 14 ?wa cmp RTCLOK+2
|
||||||
|
3 38DD F0 FC beq ?wa
|
||||||
|
Source: dino.asm
|
||||||
|
105 38DF A9 01 8D 04 D4 mva #1 hscrol
|
||||||
|
106 38E4 wait ; or waitRTC ?
|
||||||
Macro: WAIT [Source: MACRO.ASM]
|
Macro: WAIT [Source: MACRO.ASM]
|
||||||
3 3884 AD 0B D4 ?ze LDA VCOUNT
|
3 38E4 AD 0B D4 ?ze LDA VCOUNT
|
||||||
4 3887 C9 10 cmp #16 ; if line<16 then wait for line>15 (long VBI protection)
|
4 38E7 C9 10 cmp #16 ; if line<16 then wait for line>15 (long VBI protection)
|
||||||
5 3889 90 F9 bcc ?ze
|
5 38E9 90 F9 bcc ?ze
|
||||||
6 388B E9 0A sbc #10 ; last lines correction
|
6 38EB E9 0A sbc #10 ; last lines correction
|
||||||
7 388D CD 0B D4 ?wa cmp VCOUNT
|
7 38ED CD 0B D4 ?wa cmp VCOUNT
|
||||||
8 3890 90 FB bcc ?wa
|
8 38F0 90 FB bcc ?wa
|
||||||
9 3892 CD 0B D4 ?wf cmp VCOUNT
|
9 38F2 CD 0B D4 ?wf cmp VCOUNT
|
||||||
10 3895 B0 FB bcs ?wf
|
10 38F5 B0 FB bcs ?wf
|
||||||
Source: dino.asm
|
Source: dino.asm
|
||||||
96 3897 A9 28 8D F4 02 mva #>font3 chbas
|
107 38F7 key
|
||||||
97 389C wait ; or waitRTC ?
|
Macro: KEY [Source: MACRO.ASM]
|
||||||
Macro: WAIT [Source: MACRO.ASM]
|
3 38F7 48 PHA
|
||||||
3 389C AD 0B D4 ?ze LDA VCOUNT
|
4 38F8 AD 0F D2 ?CK1 LDA SKSTAT
|
||||||
4 389F C9 10 cmp #16 ; if line<16 then wait for line>15 (long VBI protection)
|
5 38FB 29 04 AND #$04
|
||||||
5 38A1 90 F9 bcc ?ze
|
6 38FD F0 F9 BEQ ?CK1
|
||||||
6 38A3 E9 0A sbc #10 ; last lines correction
|
7 38FF AD 0F D2 ?CK LDA SKSTAT
|
||||||
7 38A5 CD 0B D4 ?wa cmp VCOUNT
|
8 3902 29 04 AND #$04
|
||||||
8 38A8 90 FB bcc ?wa
|
9 3904 D0 F9 BNE ?CK
|
||||||
9 38AA CD 0B D4 ?wf cmp VCOUNT
|
10 3906 68 PLA
|
||||||
10 38AD B0 FB bcs ?wf
|
|
||||||
Source: dino.asm
|
Source: dino.asm
|
||||||
98 38AF wait ; or waitRTC ?
|
108 3907 A9 20 8D F4 02 mva #>font1 chbas
|
||||||
Macro: WAIT [Source: MACRO.ASM]
|
109 390C waitRTC ; or waitRTC ?
|
||||||
3 38AF AD 0B D4 ?ze LDA VCOUNT
|
Macro: WAITRTC [Source: MACRO.ASM]
|
||||||
4 38B2 C9 10 cmp #16 ; if line<16 then wait for line>15 (long VBI protection)
|
1 390C A5 14 lda RTCLOK+2
|
||||||
5 38B4 90 F9 bcc ?ze
|
2 390E C5 14 ?wa cmp RTCLOK+2
|
||||||
6 38B6 E9 0A sbc #10 ; last lines correction
|
3 3910 F0 FC beq ?wa
|
||||||
7 38B8 CD 0B D4 ?wa cmp VCOUNT
|
|
||||||
8 38BB 90 FB bcc ?wa
|
|
||||||
9 38BD CD 0B D4 ?wf cmp VCOUNT
|
|
||||||
10 38C0 B0 FB bcs ?wf
|
|
||||||
Source: dino.asm
|
Source: dino.asm
|
||||||
99 38C2 A9 2C 8D F4 02 mva #>font4 chbas
|
110 3912 A9 04 8D 04 D4 mva #4 hscrol
|
||||||
100 38C7 wait ; or waitRTC ?
|
111 3917 4C 4B 38 jmp EndLoop
|
||||||
Macro: WAIT [Source: MACRO.ASM]
|
112 391A halt
|
||||||
3 38C7 AD 0B D4 ?ze LDA VCOUNT
|
|
||||||
4 38CA C9 10 cmp #16 ; if line<16 then wait for line>15 (long VBI protection)
|
|
||||||
5 38CC 90 F9 bcc ?ze
|
|
||||||
6 38CE E9 0A sbc #10 ; last lines correction
|
|
||||||
7 38D0 CD 0B D4 ?wa cmp VCOUNT
|
|
||||||
8 38D3 90 FB bcc ?wa
|
|
||||||
9 38D5 CD 0B D4 ?wf cmp VCOUNT
|
|
||||||
10 38D8 B0 FB bcs ?wf
|
|
||||||
Source: dino.asm
|
|
||||||
101 38DA wait ; or waitRTC ?
|
|
||||||
Macro: WAIT [Source: MACRO.ASM]
|
|
||||||
3 38DA AD 0B D4 ?ze LDA VCOUNT
|
|
||||||
4 38DD C9 10 cmp #16 ; if line<16 then wait for line>15 (long VBI protection)
|
|
||||||
5 38DF 90 F9 bcc ?ze
|
|
||||||
6 38E1 E9 0A sbc #10 ; last lines correction
|
|
||||||
7 38E3 CD 0B D4 ?wa cmp VCOUNT
|
|
||||||
8 38E6 90 FB bcc ?wa
|
|
||||||
9 38E8 CD 0B D4 ?wf cmp VCOUNT
|
|
||||||
10 38EB B0 FB bcs ?wf
|
|
||||||
Source: dino.asm
|
|
||||||
102 38ED A9 20 8D F4 02 mva #>font1 chbas
|
|
||||||
103 38F2 4C 46 38 jmp EndLoop
|
|
||||||
104 38F5 halt
|
|
||||||
Macro: HALT [Source: MACRO.ASM]
|
Macro: HALT [Source: MACRO.ASM]
|
||||||
1 38F5 ?stop
|
1 391A ?stop
|
||||||
2 38F5 AD 0A D2 lda RANDOM
|
2 391A AD 0A D2 lda RANDOM
|
||||||
3 38F8 29 05 and #$05
|
3 391D 29 05 and #$05
|
||||||
4 38FA 8D 1A D0 sta COLBAK
|
4 391F 8D 1A D0 sta COLBAK
|
||||||
5 38FD 4C F5 38 jmp ?stop
|
5 3922 4C 1A 39 jmp ?stop
|
||||||
Source: dino.asm
|
Source: dino.asm
|
||||||
105 3900 60 rts
|
113 3925 60 rts
|
||||||
106
|
114
|
||||||
107 ;-----------------------------------------------
|
115 ;-----------------------------------------------
|
||||||
108 ; Generation of character sets 2,3 and 4 of 1
|
116 ; Generation of character sets 2,3 and 4 of 1
|
||||||
109 ; By copying and horizontal shift dino
|
117 ; By copying and horizontal shift dino
|
||||||
110 ;-----------------------------------------------
|
118 ;-----------------------------------------------
|
||||||
111 3901 .proc GenerateCharsets
|
119 3926 .proc GenerateCharsets
|
||||||
112 ; copy charset 1 to 2,3 and 4
|
120 ; copy charset 1 to 2,3 and 4
|
||||||
113 3901 A0 00 ldy #0
|
121 3926 A0 00 ldy #0
|
||||||
114 3903 CopyLoop
|
122 3928 CopyLoop
|
||||||
115 3903 B9 00 20 lda font1,y
|
123 3928 B9 00 20 lda font1,y
|
||||||
116 3906 99 00 24 sta font2,y
|
124 392B 99 00 24 sta font2,y
|
||||||
117 3909 99 00 28 sta font3,y
|
125 392E 99 00 28 sta font3,y
|
||||||
118 390C 99 00 2C sta font4,y
|
126 3931 99 00 2C sta font4,y
|
||||||
119 390F B9 00 21 lda font1+$100,y
|
127 3934 B9 00 21 lda font1+$100,y
|
||||||
120 3912 99 00 25 sta font2+$100,y
|
128 3937 99 00 25 sta font2+$100,y
|
||||||
121 3915 99 00 29 sta font3+$100,y
|
129 393A 99 00 29 sta font3+$100,y
|
||||||
122 3918 99 00 2D sta font4+$100,y
|
130 393D 99 00 2D sta font4+$100,y
|
||||||
123 391B B9 00 22 lda font1+$200,y
|
131 3940 B9 00 22 lda font1+$200,y
|
||||||
124 391E 99 00 26 sta font2+$200,y
|
132 3943 99 00 26 sta font2+$200,y
|
||||||
125 3921 99 00 2A sta font3+$200,y
|
133 3946 99 00 2A sta font3+$200,y
|
||||||
126 3924 99 00 2E sta font4+$200,y
|
134 3949 99 00 2E sta font4+$200,y
|
||||||
127 3927 B9 00 23 lda font1+$300,y
|
135 394C B9 00 23 lda font1+$300,y
|
||||||
128 392A 99 00 27 sta font2+$300,y
|
136 394F 99 00 27 sta font2+$300,y
|
||||||
129 392D 99 00 2B sta font3+$300,y
|
137 3952 99 00 2B sta font3+$300,y
|
||||||
130 3930 99 00 2F sta font4+$300,y
|
138 3955 99 00 2F sta font4+$300,y
|
||||||
131 3933 C8 iny
|
139 3958 C8 iny
|
||||||
132 3934 D0 CD bne CopyLoop
|
140 3959 D0 CD bne CopyLoop
|
||||||
133 ; and shifting dino shape
|
141 ; and shifting dino shape
|
||||||
134
|
142
|
||||||
135 3936 60 rts
|
143 395B 60 rts
|
||||||
136 .endp
|
144 .endp
|
||||||
137
|
145
|
||||||
138 ;-----------------------------------------------
|
146 ;-----------------------------------------------
|
||||||
139 ; Show Dino on screen (test)
|
147 ; Show Dino on screen (test)
|
||||||
140 ; X - y position
|
148 ; X - y position
|
||||||
141 ; Y - shape nr
|
149 ; Y - shape nr
|
||||||
142 ;-----------------------------------------------
|
150 ;-----------------------------------------------
|
||||||
143 3937 .proc ShowDino
|
151 395C .proc ShowDino
|
||||||
144 3937 B9 0B 3A lda ShapesTableL,y
|
152 395C B9 30 3A lda ShapesTableL,y
|
||||||
145 393A 85 80 sta temp_w
|
153 395F 85 80 sta temp_w
|
||||||
146 393C B9 10 3A lda ShapesTableH,y
|
154 3961 B9 35 3A lda ShapesTableH,y
|
||||||
147 393F 85 81 sta temp_w+1
|
155 3964 85 81 sta temp_w+1
|
||||||
148 3941 A0 00 ldy #0
|
156 3966 A0 00 ldy #0
|
||||||
149 3943 DinoLoop
|
157 3968 DinoLoop
|
||||||
150 3943 B1 80 lda (temp_w),y
|
158 3968 B1 80 lda (temp_w),y
|
||||||
151 3945 30 03 bmi @+
|
159 396A 30 03 bmi @+
|
||||||
152 3947 9D 00 34 sta screen+$400,x
|
160 396C 9D 00 34 sta screen+$400,x
|
||||||
153 394A 18 A5 80 69 05 85 + @ adw temp_w #5
|
161 396F 18 A5 80 69 05 85 + @ adw temp_w #5
|
||||||
154 3955 B1 80 lda (temp_w),y
|
162 397A B1 80 lda (temp_w),y
|
||||||
155 3957 30 03 bmi @+
|
163 397C 30 03 bmi @+
|
||||||
156 3959 9D 00 35 sta screen+$500,x
|
164 397E 9D 00 35 sta screen+$500,x
|
||||||
157 395C 18 A5 80 69 05 85 + @ adw temp_w #5
|
165 3981 18 A5 80 69 05 85 + @ adw temp_w #5
|
||||||
158 3967 B1 80 lda (temp_w),y
|
166 398C B1 80 lda (temp_w),y
|
||||||
159 3969 30 03 bmi @+
|
167 398E 30 03 bmi @+
|
||||||
160 396B 9D 00 36 sta screen+$600,x
|
168 3990 9D 00 36 sta screen+$600,x
|
||||||
161 396E 18 A5 80 69 05 85 + @ adw temp_w #5
|
169 3993 18 A5 80 69 05 85 + @ adw temp_w #5
|
||||||
162 3979 B1 80 lda (temp_w),y
|
170 399E B1 80 lda (temp_w),y
|
||||||
163 397B 30 03 bmi @+
|
171 39A0 30 03 bmi @+
|
||||||
164 397D 9D 00 37 sta screen+$700,x
|
172 39A2 9D 00 37 sta screen+$700,x
|
||||||
165 3980 38 A5 80 E9 0F 85 + @ sbw temp_w #15
|
173 39A5 38 A5 80 E9 0F 85 + @ sbw temp_w #15
|
||||||
166 398B E8 inx
|
174 39B0 E8 inx
|
||||||
167 398C C8 iny
|
175 39B1 C8 iny
|
||||||
168 398D C0 05 cpy #5 ; dino width
|
176 39B2 C0 05 cpy #5 ; dino width
|
||||||
169 398F D0 B2 bne DinoLoop
|
177 39B4 D0 B2 bne DinoLoop
|
||||||
170 3991 60 rts
|
178 39B6 60 rts
|
||||||
171 .endp
|
179 .endp
|
||||||
172 ;-----------------------------------------------
|
180 ;-----------------------------------------------
|
||||||
173 ; Generation of character sets 2,3 and 4 of 1
|
181 ; Generation of character sets 2,3 and 4 of 1
|
||||||
174 ; By copying and horizontal shift dino
|
182 ; By copying and horizontal shift dino
|
||||||
175 ;-----------------------------------------------
|
183 ;-----------------------------------------------
|
||||||
176 3992 .proc SetGameScreen
|
184 39B7 .proc SetGameScreen
|
||||||
177 3992 A9 00 8D 30 02 A9 + mwa #GameDL dlptrs
|
185 39B7 A9 00 8D 30 02 A9 + mwa #GameDL dlptrs
|
||||||
178 399C A9 3E lda #%00111110 ; normal screen width, DL on, P/M on
|
186 39C1 A9 3E lda #%00111110 ; normal screen width, DL on, P/M on
|
||||||
179 399E 8D 2F 02 sta dmactls
|
187 39C3 8D 2F 02 sta dmactls
|
||||||
180 39A1 A9 20 8D F4 02 mva #>font1 chbas
|
188 39C6 A9 20 8D F4 02 mva #>font1 chbas
|
||||||
181 39A6 60 rts
|
189 39CB 60 rts
|
||||||
182 .endp
|
190 .endp
|
||||||
183 ;--------------------------------------------------
|
191 ;--------------------------------------------------
|
||||||
184 39A7 icl 'artwork/shapes.asm'
|
192 39CC icl 'artwork/shapes.asm'
|
||||||
Source: shapes.asm
|
Source: shapes.asm
|
||||||
1 ; @com.wudsn.ide.asm.mainsourcefile=scorch.asm
|
1 ; @com.wudsn.ide.asm.mainsourcefile=scorch.asm
|
||||||
2
|
2
|
||||||
3 .IF *>0 ;this is a trick that prevents compiling this file alone
|
3 .IF *>0 ;this is a trick that prevents compiling this file alone
|
||||||
4
|
4
|
||||||
5 ; dno run
|
5 ; dno run
|
||||||
6 39A7 dino_run_0 ; anly '0' jumps
|
6 39CC dino_run_0 ; anly '0' jumps
|
||||||
7 39A7 FF 23 27 2B FF .by $ff, $23, $27, $2b, $ff ; '. '
|
7 39CC FF 23 27 2B FF .by $ff, $23, $27, $2b, $ff ; '. '
|
||||||
8 39AC 20 24 28 2C FF .by $20, $24, $28, $2c, $ff ; ' ## '
|
8 39D1 20 24 28 2C FF .by $20, $24, $28, $2c, $ff ; ' ## '
|
||||||
9 39B1 21 25 29 FF FF .by $21, $25, $29, $ff, $ff ; '## .'
|
9 39D6 21 25 29 FF FF .by $21, $25, $29, $ff, $ff ; '## .'
|
||||||
10 39B6 22 26 2A FF FF .by $22, $26, $2a, $ff, $ff ; '## .'
|
10 39DB 22 26 2A FF FF .by $22, $26, $2a, $ff, $ff ; '## .'
|
||||||
11 39BB dino_run_1
|
11 39E0 dino_run_1
|
||||||
12 39BB FF 23 27 2B FF .by $ff, $23, $27, $2b, $ff ; '. '
|
12 39E0 FF 23 27 2B FF .by $ff, $23, $27, $2b, $ff ; '. '
|
||||||
13 39C0 20 24 28 2C FF .by $20, $24, $28, $2c, $ff ; ' ## '
|
13 39E5 20 24 28 2C FF .by $20, $24, $28, $2c, $ff ; ' ## '
|
||||||
14 39C5 21 25 29 FF FF .by $21, $25, $29, $ff, $ff ; '## .'
|
14 39EA 21 25 29 FF FF .by $21, $25, $29, $ff, $ff ; '## .'
|
||||||
15 39CA 2D 2E 2F FF FF .by $2d, $2e, $2f, $ff, $ff ; '## .'
|
15 39EF 2D 2E 2F FF FF .by $2d, $2e, $2f, $ff, $ff ; '## .'
|
||||||
16 39CF dino_run_2
|
16 39F4 dino_run_2
|
||||||
17 39CF FF 23 27 2B FF .by $ff, $23, $27, $2b, $ff ; '. '
|
17 39F4 FF 23 27 2B FF .by $ff, $23, $27, $2b, $ff ; '. '
|
||||||
18 39D4 20 24 28 2C FF .by $20, $24, $28, $2c, $ff ; ' ## '
|
18 39F9 20 24 28 2C FF .by $20, $24, $28, $2c, $ff ; ' ## '
|
||||||
19 39D9 21 25 29 FF FF .by $21, $25, $29, $ff, $ff ; '## .'
|
19 39FE 21 25 29 FF FF .by $21, $25, $29, $ff, $ff ; '## .'
|
||||||
20 39DE 30 31 32 FF FF .by $30, $31, $32, $ff, $ff ; '## .'
|
20 3A03 30 31 32 FF FF .by $30, $31, $32, $ff, $ff ; '## .'
|
||||||
21 39E3 dino_crouch_1
|
21 3A08 dino_crouch_1
|
||||||
22 39E3 FF FF FF FF FF .by $ff, $ff, $ff, $ff, $ff
|
22 3A08 FF FF FF FF FF .by $ff, $ff, $ff, $ff, $ff
|
||||||
23 39E8 FF FF FF FF FF .by $ff, $ff, $ff, $ff, $ff
|
23 3A0D FF FF FF FF FF .by $ff, $ff, $ff, $ff, $ff
|
||||||
24 39ED 33 34 35 36 37 .by $33, $34, $35, $36, $37 ; '#### '
|
24 3A12 33 34 35 36 37 .by $33, $34, $35, $36, $37 ; '#### '
|
||||||
25 39F2 38 39 3A 3B 3C .by $38, $39, $3a, $3b, $3c ; '#### '
|
25 3A17 38 39 3A 3B 3C .by $38, $39, $3a, $3b, $3c ; '#### '
|
||||||
26 39F7 dino_crouch_2
|
26 3A1C dino_crouch_2
|
||||||
27 39F7 FF FF FF FF FF .by $ff, $ff, $ff, $ff, $ff
|
27 3A1C FF FF FF FF FF .by $ff, $ff, $ff, $ff, $ff
|
||||||
28 39FC FF FF FF FF FF .by $ff, $ff, $ff, $ff, $ff
|
28 3A21 FF FF FF FF FF .by $ff, $ff, $ff, $ff, $ff
|
||||||
29 3A01 33 34 35 36 37 .by $33, $34, $35, $36, $37 ; '#### '
|
29 3A26 33 34 35 36 37 .by $33, $34, $35, $36, $37 ; '#### '
|
||||||
30 3A06 3D 3E 3F 3B 3C .by $3d, $3e, $3f, $3b, $3c ; '#### '
|
30 3A2B 3D 3E 3F 3B 3C .by $3d, $3e, $3f, $3b, $3c ; '#### '
|
||||||
31 3A0B ShapesTableL
|
31 3A30 ShapesTableL
|
||||||
32 3A0B A7 .by <dino_run_0
|
32 3A30 CC .by <dino_run_0
|
||||||
33 3A0C BB .by <dino_run_1
|
33 3A31 E0 .by <dino_run_1
|
||||||
34 3A0D CF .by <dino_run_2
|
34 3A32 F4 .by <dino_run_2
|
||||||
35 3A0E E3 .by <dino_crouch_1
|
35 3A33 08 .by <dino_crouch_1
|
||||||
36 3A0F F7 .by <dino_crouch_2
|
36 3A34 1C .by <dino_crouch_2
|
||||||
37 3A10 ShapesTableH
|
37 3A35 ShapesTableH
|
||||||
38 3A10 39 .by >dino_run_0
|
38 3A35 39 .by >dino_run_0
|
||||||
39 3A11 39 .by >dino_run_1
|
39 3A36 39 .by >dino_run_1
|
||||||
40 3A12 39 .by >dino_run_2
|
40 3A37 39 .by >dino_run_2
|
||||||
41 3A13 39 .by >dino_crouch_1
|
41 3A38 3A .by >dino_crouch_1
|
||||||
42 3A14 39 .by >dino_crouch_2
|
42 3A39 3A .by >dino_crouch_2
|
||||||
43
|
43
|
||||||
44 .endif ; .IF *>0
|
44 .endif ; .IF *>0
|
||||||
185 ;--------------------------------------------------
|
193 ;--------------------------------------------------
|
||||||
186
|
194
|
||||||
187 02E0-02E1> 20 38 run FirstSTART
|
195 02E0-02E1> 20 38 run FirstSTART
|
||||||
|
|||||||
Reference in New Issue
Block a user