From 9632f5a4e803ec01a5e6360b613663b63caa516a Mon Sep 17 00:00:00 2001 From: Pecusx Date: Sat, 10 Aug 2024 00:48:45 +0200 Subject: [PATCH] Let's animate --- artwork/dino1.fnt | Bin 1024 -> 1024 bytes dino.asm | 18 +- dino.lab | 34 ++-- dino.lst | 464 ++++++++++++++++++++++++---------------------- dino.xex | Bin 4692 -> 4729 bytes 5 files changed, 276 insertions(+), 240 deletions(-) diff --git a/artwork/dino1.fnt b/artwork/dino1.fnt index 6fa08d7a9e8e7128f6792531ea70dbbcc679e721..827aba6942c7d77ef7d2f0f876d5144e6c539007 100644 GIT binary patch delta 14 VcmZqRXyDkeh>`Kn=EaP$OaLb#1s4DS delta 14 VcmZqRXyDkeh>`LC=EaP$OaLb{1sVVV diff --git a/dino.asm b/dino.asm index 02f6015..e9cd6f1 100644 --- a/dino.asm +++ b/dino.asm @@ -86,20 +86,28 @@ FirstSTART ldx #25 ; position ldy #4 ; shape jsr ShowDino - + mva #$50 screen+$700+32 EndLoop wait ; or waitRTC ? - wait ; or waitRTC ? + key mva #>font2 chbas + waitRTC ; or waitRTC ? + mva #3 hscrol wait ; or waitRTC ? - wait ; or waitRTC ? + key mva #>font3 chbas + waitRTC ; or waitRTC ? + mva #2 hscrol wait ; or waitRTC ? - wait ; or waitRTC ? + key mva #>font4 chbas + waitRTC ; or waitRTC ? + mva #1 hscrol wait ; or waitRTC ? - wait ; or waitRTC ? + key mva #>font1 chbas + waitRTC ; or waitRTC ? + mva #4 hscrol jmp EndLoop halt rts diff --git a/dino.lab b/dino.lab index d7820cc..9c14e9c 100644 --- a/dino.lab +++ b/dino.lab @@ -589,20 +589,20 @@ FFFD 0000 @KBCODE 00 3818 LINE7_ADDR 00 381B LINE8_ADDR 00 3820 FIRSTSTART -00 3846 ENDLOOP -00 3901 GENERATECHARSETS -00 3903 GENERATECHARSETS.COPYLOOP -00 3937 SHOWDINO -00 3943 SHOWDINO.DINOLOOP -00 394A SHOWDINO.0@ -00 395C SHOWDINO.1@ -00 396E SHOWDINO.2@ -00 3980 SHOWDINO.3@ -00 3992 SETGAMESCREEN -00 39A7 DINO_RUN_0 -00 39BB DINO_RUN_1 -00 39CF DINO_RUN_2 -00 39E3 DINO_CROUCH_1 -00 39F7 DINO_CROUCH_2 -00 3A0B SHAPESTABLEL -00 3A10 SHAPESTABLEH +00 384B ENDLOOP +00 3926 GENERATECHARSETS +00 3928 GENERATECHARSETS.COPYLOOP +00 395C SHOWDINO +00 3968 SHOWDINO.DINOLOOP +00 396F SHOWDINO.0@ +00 3981 SHOWDINO.1@ +00 3993 SHOWDINO.2@ +00 39A5 SHOWDINO.3@ +00 39B7 SETGAMESCREEN +00 39CC DINO_RUN_0 +00 39E0 DINO_RUN_1 +00 39F4 DINO_RUN_2 +00 3A08 DINO_CROUCH_1 +00 3A1C DINO_CROUCH_2 +00 3A30 SHAPESTABLEL +00 3A35 SHAPESTABLEH diff --git a/dino.lst b/dino.lst index 0ed6fd3..b2d7f86 100644 --- a/dino.lst +++ b/dino.lst @@ -961,7 +961,7 @@ Source: dino.asm 39 org screen+($100*8) 40 ; display list 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 44 3806 line1_addr 45 3806 00 30 .word screen @@ -992,250 +992,278 @@ Source: dino.asm 70 ;--------------------------------------------------- 71 3820 FirstSTART 72 ;jsr GenerateCharsets - 73 3820 20 92 39 jsr SetGameScreen + 73 3820 20 B7 39 jsr SetGameScreen 74 3823 A2 05 ldx #5 ; position 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 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 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 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 87 3841 A0 04 ldy #4 ; shape - 88 3843 20 37 39 jsr ShowDino - 89 - 90 3846 EndLoop - 91 3846 wait ; or waitRTC ? + 88 3843 20 5C 39 jsr ShowDino + 89 3846 A9 50 8D 20 37 mva #$50 screen+$700+32 + 90 384B EndLoop + 91 384B wait ; or waitRTC ? Macro: WAIT [Source: MACRO.ASM] - 3 3846 AD 0B D4 ?ze LDA VCOUNT - 4 3849 C9 10 cmp #16 ; if line<16 then wait for line>15 (long VBI protection) - 5 384B 90 F9 bcc ?ze - 6 384D E9 0A sbc #10 ; last lines correction - 7 384F CD 0B D4 ?wa cmp VCOUNT - 8 3852 90 FB bcc ?wa - 9 3854 CD 0B D4 ?wf cmp VCOUNT - 10 3857 B0 FB bcs ?wf + 3 384B AD 0B D4 ?ze LDA VCOUNT + 4 384E C9 10 cmp #16 ; if line<16 then wait for line>15 (long VBI protection) + 5 3850 90 F9 bcc ?ze + 6 3852 E9 0A sbc #10 ; last lines correction + 7 3854 CD 0B D4 ?wa cmp VCOUNT + 8 3857 90 FB bcc ?wa + 9 3859 CD 0B D4 ?wf cmp VCOUNT + 10 385C B0 FB bcs ?wf 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] - 3 3859 AD 0B D4 ?ze LDA VCOUNT - 4 385C C9 10 cmp #16 ; if line<16 then wait for line>15 (long VBI protection) - 5 385E 90 F9 bcc ?ze - 6 3860 E9 0A sbc #10 ; last lines correction - 7 3862 CD 0B D4 ?wa cmp VCOUNT - 8 3865 90 FB bcc ?wa - 9 3867 CD 0B D4 ?wf cmp VCOUNT - 10 386A B0 FB bcs ?wf + 3 387E AD 0B D4 ?ze LDA VCOUNT + 4 3881 C9 10 cmp #16 ; if line<16 then wait for line>15 (long VBI protection) + 5 3883 90 F9 bcc ?ze + 6 3885 E9 0A sbc #10 ; last lines correction + 7 3887 CD 0B D4 ?wa cmp VCOUNT + 8 388A 90 FB bcc ?wa + 9 388C CD 0B D4 ?wf cmp VCOUNT + 10 388F B0 FB bcs ?wf Source: dino.asm - 93 386C A9 24 8D F4 02 mva #>font2 chbas - 94 3871 wait ; or waitRTC ? + 97 3891 key +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] - 3 3871 AD 0B D4 ?ze LDA VCOUNT - 4 3874 C9 10 cmp #16 ; if line<16 then wait for line>15 (long VBI protection) - 5 3876 90 F9 bcc ?ze - 6 3878 E9 0A sbc #10 ; last lines correction - 7 387A CD 0B D4 ?wa cmp VCOUNT - 8 387D 90 FB bcc ?wa - 9 387F CD 0B D4 ?wf cmp VCOUNT - 10 3882 B0 FB bcs ?wf + 3 38B1 AD 0B D4 ?ze LDA VCOUNT + 4 38B4 C9 10 cmp #16 ; if line<16 then wait for line>15 (long VBI protection) + 5 38B6 90 F9 bcc ?ze + 6 38B8 E9 0A sbc #10 ; last lines correction + 7 38BA CD 0B D4 ?wa cmp VCOUNT + 8 38BD 90 FB bcc ?wa + 9 38BF CD 0B D4 ?wf cmp VCOUNT + 10 38C2 B0 FB bcs ?wf 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] - 3 3884 AD 0B D4 ?ze LDA VCOUNT - 4 3887 C9 10 cmp #16 ; if line<16 then wait for line>15 (long VBI protection) - 5 3889 90 F9 bcc ?ze - 6 388B E9 0A sbc #10 ; last lines correction - 7 388D CD 0B D4 ?wa cmp VCOUNT - 8 3890 90 FB bcc ?wa - 9 3892 CD 0B D4 ?wf cmp VCOUNT - 10 3895 B0 FB bcs ?wf + 3 38E4 AD 0B D4 ?ze LDA VCOUNT + 4 38E7 C9 10 cmp #16 ; if line<16 then wait for line>15 (long VBI protection) + 5 38E9 90 F9 bcc ?ze + 6 38EB E9 0A sbc #10 ; last lines correction + 7 38ED CD 0B D4 ?wa cmp VCOUNT + 8 38F0 90 FB bcc ?wa + 9 38F2 CD 0B D4 ?wf cmp VCOUNT + 10 38F5 B0 FB bcs ?wf Source: dino.asm - 96 3897 A9 28 8D F4 02 mva #>font3 chbas - 97 389C wait ; or waitRTC ? -Macro: WAIT [Source: MACRO.ASM] - 3 389C AD 0B D4 ?ze LDA VCOUNT - 4 389F C9 10 cmp #16 ; if line<16 then wait for line>15 (long VBI protection) - 5 38A1 90 F9 bcc ?ze - 6 38A3 E9 0A sbc #10 ; last lines correction - 7 38A5 CD 0B D4 ?wa cmp VCOUNT - 8 38A8 90 FB bcc ?wa - 9 38AA CD 0B D4 ?wf cmp VCOUNT - 10 38AD B0 FB bcs ?wf + 107 38F7 key +Macro: KEY [Source: MACRO.ASM] + 3 38F7 48 PHA + 4 38F8 AD 0F D2 ?CK1 LDA SKSTAT + 5 38FB 29 04 AND #$04 + 6 38FD F0 F9 BEQ ?CK1 + 7 38FF AD 0F D2 ?CK LDA SKSTAT + 8 3902 29 04 AND #$04 + 9 3904 D0 F9 BNE ?CK + 10 3906 68 PLA Source: dino.asm - 98 38AF wait ; or waitRTC ? -Macro: WAIT [Source: MACRO.ASM] - 3 38AF AD 0B D4 ?ze LDA VCOUNT - 4 38B2 C9 10 cmp #16 ; if line<16 then wait for line>15 (long VBI protection) - 5 38B4 90 F9 bcc ?ze - 6 38B6 E9 0A sbc #10 ; last lines correction - 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 + 108 3907 A9 20 8D F4 02 mva #>font1 chbas + 109 390C waitRTC ; or waitRTC ? +Macro: WAITRTC [Source: MACRO.ASM] + 1 390C A5 14 lda RTCLOK+2 + 2 390E C5 14 ?wa cmp RTCLOK+2 + 3 3910 F0 FC beq ?wa Source: dino.asm - 99 38C2 A9 2C 8D F4 02 mva #>font4 chbas - 100 38C7 wait ; or waitRTC ? -Macro: WAIT [Source: MACRO.ASM] - 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 + 110 3912 A9 04 8D 04 D4 mva #4 hscrol + 111 3917 4C 4B 38 jmp EndLoop + 112 391A halt Macro: HALT [Source: MACRO.ASM] - 1 38F5 ?stop - 2 38F5 AD 0A D2 lda RANDOM - 3 38F8 29 05 and #$05 - 4 38FA 8D 1A D0 sta COLBAK - 5 38FD 4C F5 38 jmp ?stop + 1 391A ?stop + 2 391A AD 0A D2 lda RANDOM + 3 391D 29 05 and #$05 + 4 391F 8D 1A D0 sta COLBAK + 5 3922 4C 1A 39 jmp ?stop Source: dino.asm - 105 3900 60 rts - 106 - 107 ;----------------------------------------------- - 108 ; Generation of character sets 2,3 and 4 of 1 - 109 ; By copying and horizontal shift dino - 110 ;----------------------------------------------- - 111 3901 .proc GenerateCharsets - 112 ; copy charset 1 to 2,3 and 4 - 113 3901 A0 00 ldy #0 - 114 3903 CopyLoop - 115 3903 B9 00 20 lda font1,y - 116 3906 99 00 24 sta font2,y - 117 3909 99 00 28 sta font3,y - 118 390C 99 00 2C sta font4,y - 119 390F B9 00 21 lda font1+$100,y - 120 3912 99 00 25 sta font2+$100,y - 121 3915 99 00 29 sta font3+$100,y - 122 3918 99 00 2D sta font4+$100,y - 123 391B B9 00 22 lda font1+$200,y - 124 391E 99 00 26 sta font2+$200,y - 125 3921 99 00 2A sta font3+$200,y - 126 3924 99 00 2E sta font4+$200,y - 127 3927 B9 00 23 lda font1+$300,y - 128 392A 99 00 27 sta font2+$300,y - 129 392D 99 00 2B sta font3+$300,y - 130 3930 99 00 2F sta font4+$300,y - 131 3933 C8 iny - 132 3934 D0 CD bne CopyLoop - 133 ; and shifting dino shape - 134 - 135 3936 60 rts - 136 .endp - 137 - 138 ;----------------------------------------------- - 139 ; Show Dino on screen (test) - 140 ; X - y position - 141 ; Y - shape nr - 142 ;----------------------------------------------- - 143 3937 .proc ShowDino - 144 3937 B9 0B 3A lda ShapesTableL,y - 145 393A 85 80 sta temp_w - 146 393C B9 10 3A lda ShapesTableH,y - 147 393F 85 81 sta temp_w+1 - 148 3941 A0 00 ldy #0 - 149 3943 DinoLoop - 150 3943 B1 80 lda (temp_w),y - 151 3945 30 03 bmi @+ - 152 3947 9D 00 34 sta screen+$400,x - 153 394A 18 A5 80 69 05 85 + @ adw temp_w #5 - 154 3955 B1 80 lda (temp_w),y - 155 3957 30 03 bmi @+ - 156 3959 9D 00 35 sta screen+$500,x - 157 395C 18 A5 80 69 05 85 + @ adw temp_w #5 - 158 3967 B1 80 lda (temp_w),y - 159 3969 30 03 bmi @+ - 160 396B 9D 00 36 sta screen+$600,x - 161 396E 18 A5 80 69 05 85 + @ adw temp_w #5 - 162 3979 B1 80 lda (temp_w),y - 163 397B 30 03 bmi @+ - 164 397D 9D 00 37 sta screen+$700,x - 165 3980 38 A5 80 E9 0F 85 + @ sbw temp_w #15 - 166 398B E8 inx - 167 398C C8 iny - 168 398D C0 05 cpy #5 ; dino width - 169 398F D0 B2 bne DinoLoop - 170 3991 60 rts - 171 .endp - 172 ;----------------------------------------------- - 173 ; Generation of character sets 2,3 and 4 of 1 - 174 ; By copying and horizontal shift dino - 175 ;----------------------------------------------- - 176 3992 .proc SetGameScreen - 177 3992 A9 00 8D 30 02 A9 + mwa #GameDL dlptrs - 178 399C A9 3E lda #%00111110 ; normal screen width, DL on, P/M on - 179 399E 8D 2F 02 sta dmactls - 180 39A1 A9 20 8D F4 02 mva #>font1 chbas - 181 39A6 60 rts - 182 .endp - 183 ;-------------------------------------------------- - 184 39A7 icl 'artwork/shapes.asm' + 113 3925 60 rts + 114 + 115 ;----------------------------------------------- + 116 ; Generation of character sets 2,3 and 4 of 1 + 117 ; By copying and horizontal shift dino + 118 ;----------------------------------------------- + 119 3926 .proc GenerateCharsets + 120 ; copy charset 1 to 2,3 and 4 + 121 3926 A0 00 ldy #0 + 122 3928 CopyLoop + 123 3928 B9 00 20 lda font1,y + 124 392B 99 00 24 sta font2,y + 125 392E 99 00 28 sta font3,y + 126 3931 99 00 2C sta font4,y + 127 3934 B9 00 21 lda font1+$100,y + 128 3937 99 00 25 sta font2+$100,y + 129 393A 99 00 29 sta font3+$100,y + 130 393D 99 00 2D sta font4+$100,y + 131 3940 B9 00 22 lda font1+$200,y + 132 3943 99 00 26 sta font2+$200,y + 133 3946 99 00 2A sta font3+$200,y + 134 3949 99 00 2E sta font4+$200,y + 135 394C B9 00 23 lda font1+$300,y + 136 394F 99 00 27 sta font2+$300,y + 137 3952 99 00 2B sta font3+$300,y + 138 3955 99 00 2F sta font4+$300,y + 139 3958 C8 iny + 140 3959 D0 CD bne CopyLoop + 141 ; and shifting dino shape + 142 + 143 395B 60 rts + 144 .endp + 145 + 146 ;----------------------------------------------- + 147 ; Show Dino on screen (test) + 148 ; X - y position + 149 ; Y - shape nr + 150 ;----------------------------------------------- + 151 395C .proc ShowDino + 152 395C B9 30 3A lda ShapesTableL,y + 153 395F 85 80 sta temp_w + 154 3961 B9 35 3A lda ShapesTableH,y + 155 3964 85 81 sta temp_w+1 + 156 3966 A0 00 ldy #0 + 157 3968 DinoLoop + 158 3968 B1 80 lda (temp_w),y + 159 396A 30 03 bmi @+ + 160 396C 9D 00 34 sta screen+$400,x + 161 396F 18 A5 80 69 05 85 + @ adw temp_w #5 + 162 397A B1 80 lda (temp_w),y + 163 397C 30 03 bmi @+ + 164 397E 9D 00 35 sta screen+$500,x + 165 3981 18 A5 80 69 05 85 + @ adw temp_w #5 + 166 398C B1 80 lda (temp_w),y + 167 398E 30 03 bmi @+ + 168 3990 9D 00 36 sta screen+$600,x + 169 3993 18 A5 80 69 05 85 + @ adw temp_w #5 + 170 399E B1 80 lda (temp_w),y + 171 39A0 30 03 bmi @+ + 172 39A2 9D 00 37 sta screen+$700,x + 173 39A5 38 A5 80 E9 0F 85 + @ sbw temp_w #15 + 174 39B0 E8 inx + 175 39B1 C8 iny + 176 39B2 C0 05 cpy #5 ; dino width + 177 39B4 D0 B2 bne DinoLoop + 178 39B6 60 rts + 179 .endp + 180 ;----------------------------------------------- + 181 ; Generation of character sets 2,3 and 4 of 1 + 182 ; By copying and horizontal shift dino + 183 ;----------------------------------------------- + 184 39B7 .proc SetGameScreen + 185 39B7 A9 00 8D 30 02 A9 + mwa #GameDL dlptrs + 186 39C1 A9 3E lda #%00111110 ; normal screen width, DL on, P/M on + 187 39C3 8D 2F 02 sta dmactls + 188 39C6 A9 20 8D F4 02 mva #>font1 chbas + 189 39CB 60 rts + 190 .endp + 191 ;-------------------------------------------------- + 192 39CC icl 'artwork/shapes.asm' Source: shapes.asm 1 ; @com.wudsn.ide.asm.mainsourcefile=scorch.asm 2 3 .IF *>0 ;this is a trick that prevents compiling this file alone 4 5 ; dno run - 6 39A7 dino_run_0 ; anly '0' jumps - 7 39A7 FF 23 27 2B FF .by $ff, $23, $27, $2b, $ff ; '. ' - 8 39AC 20 24 28 2C FF .by $20, $24, $28, $2c, $ff ; ' ## ' - 9 39B1 21 25 29 FF FF .by $21, $25, $29, $ff, $ff ; '## .' - 10 39B6 22 26 2A FF FF .by $22, $26, $2a, $ff, $ff ; '## .' - 11 39BB dino_run_1 - 12 39BB FF 23 27 2B FF .by $ff, $23, $27, $2b, $ff ; '. ' - 13 39C0 20 24 28 2C FF .by $20, $24, $28, $2c, $ff ; ' ## ' - 14 39C5 21 25 29 FF FF .by $21, $25, $29, $ff, $ff ; '## .' - 15 39CA 2D 2E 2F FF FF .by $2d, $2e, $2f, $ff, $ff ; '## .' - 16 39CF dino_run_2 - 17 39CF FF 23 27 2B FF .by $ff, $23, $27, $2b, $ff ; '. ' - 18 39D4 20 24 28 2C FF .by $20, $24, $28, $2c, $ff ; ' ## ' - 19 39D9 21 25 29 FF FF .by $21, $25, $29, $ff, $ff ; '## .' - 20 39DE 30 31 32 FF FF .by $30, $31, $32, $ff, $ff ; '## .' - 21 39E3 dino_crouch_1 - 22 39E3 FF FF FF FF FF .by $ff, $ff, $ff, $ff, $ff - 23 39E8 FF FF FF FF FF .by $ff, $ff, $ff, $ff, $ff - 24 39ED 33 34 35 36 37 .by $33, $34, $35, $36, $37 ; '#### ' - 25 39F2 38 39 3A 3B 3C .by $38, $39, $3a, $3b, $3c ; '#### ' - 26 39F7 dino_crouch_2 - 27 39F7 FF FF FF FF FF .by $ff, $ff, $ff, $ff, $ff - 28 39FC FF FF FF FF FF .by $ff, $ff, $ff, $ff, $ff - 29 3A01 33 34 35 36 37 .by $33, $34, $35, $36, $37 ; '#### ' - 30 3A06 3D 3E 3F 3B 3C .by $3d, $3e, $3f, $3b, $3c ; '#### ' - 31 3A0B ShapesTableL - 32 3A0B A7 .by dino_run_0 - 39 3A11 39 .by >dino_run_1 - 40 3A12 39 .by >dino_run_2 - 41 3A13 39 .by >dino_crouch_1 - 42 3A14 39 .by >dino_crouch_2 + 6 39CC dino_run_0 ; anly '0' jumps + 7 39CC FF 23 27 2B FF .by $ff, $23, $27, $2b, $ff ; '. ' + 8 39D1 20 24 28 2C FF .by $20, $24, $28, $2c, $ff ; ' ## ' + 9 39D6 21 25 29 FF FF .by $21, $25, $29, $ff, $ff ; '## .' + 10 39DB 22 26 2A FF FF .by $22, $26, $2a, $ff, $ff ; '## .' + 11 39E0 dino_run_1 + 12 39E0 FF 23 27 2B FF .by $ff, $23, $27, $2b, $ff ; '. ' + 13 39E5 20 24 28 2C FF .by $20, $24, $28, $2c, $ff ; ' ## ' + 14 39EA 21 25 29 FF FF .by $21, $25, $29, $ff, $ff ; '## .' + 15 39EF 2D 2E 2F FF FF .by $2d, $2e, $2f, $ff, $ff ; '## .' + 16 39F4 dino_run_2 + 17 39F4 FF 23 27 2B FF .by $ff, $23, $27, $2b, $ff ; '. ' + 18 39F9 20 24 28 2C FF .by $20, $24, $28, $2c, $ff ; ' ## ' + 19 39FE 21 25 29 FF FF .by $21, $25, $29, $ff, $ff ; '## .' + 20 3A03 30 31 32 FF FF .by $30, $31, $32, $ff, $ff ; '## .' + 21 3A08 dino_crouch_1 + 22 3A08 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 3A12 33 34 35 36 37 .by $33, $34, $35, $36, $37 ; '#### ' + 25 3A17 38 39 3A 3B 3C .by $38, $39, $3a, $3b, $3c ; '#### ' + 26 3A1C dino_crouch_2 + 27 3A1C 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 3A26 33 34 35 36 37 .by $33, $34, $35, $36, $37 ; '#### ' + 30 3A2B 3D 3E 3F 3B 3C .by $3d, $3e, $3f, $3b, $3c ; '#### ' + 31 3A30 ShapesTableL + 32 3A30 CC .by dino_run_0 + 39 3A36 39 .by >dino_run_1 + 40 3A37 39 .by >dino_run_2 + 41 3A38 3A .by >dino_crouch_1 + 42 3A39 3A .by >dino_crouch_2 43 44 .endif ; .IF *>0 - 185 ;-------------------------------------------------- - 186 - 187 02E0-02E1> 20 38 run FirstSTART + 193 ;-------------------------------------------------- + 194 + 195 02E0-02E1> 20 38 run FirstSTART diff --git a/dino.xex b/dino.xex index 3bedfe570ed047691f5c6e693eda0ca0f2fe627a..4808713a25905c516fbc1ddac3035ea6e42c4e94 100644 GIT binary patch delta 315 zcmcbj@>6BQbw6Mh4U4Zl6s@?X+q`S24=UHF-?Ql<9`(^8S6A|L*& zWbS3TLRd?E#!3x@9wwsnWUSOdXkjE$ivmIm3s8%Xx5ZknOPZ`~y;2u^q%0>}3R7cvj%dgD)I1mX?-QRu7mSGAUR90FbhhZU6uP delta 277 zcmeyVaz$msbwJV?N0#K=so5fnL tOPZ{`QWt!_T1<`;v|!`5YHiplFnNyPS%Kxd&p-Zd2?7t89x^Fd002nZiKqYo