ASxxxx Assembler V02.00 + NoICE + SDCC mods  (Zilog Z80 / Hitachi HD64180), page 1.
Hexadecimal [16-Bits]



                              1 ;;------------------------------------------------LICENSE NOTICE------------------------------------------------------------------------------
                              2 ;;  This file is part of Amstrad CPC videogame "Redsea"
                              3 ;;  Copyright (C) 2021 Crab Party / Elena López (AneleSplats in itch.io) / Iván Tortosa (Pluvs in itch.io, @IvanTortosaBer1 on Twitter) / Antonio Gosálvez (BalgroHub in itch.io)
                              4 ;;  Copyright (C) 2015 ronaldo / Fremos / Cheesetea / ByteRealms (@FranGallegoBR)
                              5 ;;
                              6 ;;  This program is free software: you can redistribute it and/or modify
                              7 ;;  it under the terms of the GNU Lesser General Public License as published by
                              8 ;;  the Free Software Foundation, either version 3 of the License, or
                              9 ;;  (at your option) any later version.
                             10 ;;
                             11 ;;  This program is distributed in the hope that it will be useful,
                             12 ;;  but WITHOUT ANY WARRANTY; without even the implied warranty of
                             13 ;;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                             14 ;;  GNU Lesser General Public License for more details.
                             15 ;;
                             16 ;;  You should have received a copy of the GNU Lesser General Public License
                             17 ;;  along with this program.  If not, see <http://www.gnu.org/licenses/>.
                             18 ;;------------------------------------------------LICENSE NOTICE-------------------------------------------------------------------------
                             19 .globl sys_ai_behaviour_left_right
                             20 .globl sys_ai_behaviour_left_right
                             21 .globl sys_ai_behaviour_up_down
                             22 .globl sys_ai_behaviour_spawner
                             23 .globl sys_ai_behaviour_enemy
                             24 
                             25 ;.globl _spr_sprite1
                             26 ;.globl _spr_jamoncitos_0
                             27 ;.globl _jamoncitos_walking
                             28 .globl _spr_mainC
                             29 .globl _spr_enemy1_00
                             30 .globl _enemy1_iddle
                             31 .globl _mainC_iddle
                             32 .globl _spr_goal_0
                             33 .globl _img_final_0
                             34 .globl _goal_achieved
                             35 .globl _llave
                             36 .globl _puerta1
                             37 
                             38 ;Variables
                             39 
                     0032    40 Player_Y = 50
                             41 ;PlayerShot_Y = Player_Y - 8
                             42 ; Sprite::
                             43 ;     .db 0xFF, 0xFF, 0xFF, 0xFF
                             44 ;     .db 0xFF, 0xFF, 0xFF, 0xFF
                             45 ;     .db 0xFF, 0xFF, 0xFF, 0xFF
                             46 ;     .db 0xFF, 0xFF, 0xFF, 0xFF
                             47 ;     .db 0xFF, 0xFF, 0xFF, 0xFF
                             48 ;     .db 0xFF, 0xFF, 0xFF, 0xFF
                             49 ;     .db 0xFF, 0xFF, 0xFF, 0xFF
                             50 ;     .db 0xFF, 0xFF, 0xFF, 0xFF
                             51 
                             52 ;Variables por defecto para cada tipo de entidad
                             53 
   8664                      54 Personaje:: ;; entity constante para copias
   8664 67                   55 .db #1 | #2 | #4 | #0x20 | #0x40 ;#16 |     ;; tipo de componentes
ASxxxx Assembler V02.00 + NoICE + SDCC mods  (Zilog Z80 / Hitachi HD64180), page 2.
Hexadecimal [16-Bits]



   8665 04                   56 .db #4     ;; x
   8666 32                   57 .db #Player_Y     ;; y  
   8667 07                   58 .db #7      ;; ancho
   8668 10                   59 .db #16      ;; alto 
   8669 00                   60 .db #0    ;; vx
   866A 00                   61 .db #0     ;; vy
   866B 30 66                62 .dw _spr_mainC;Sprite;_spr_jamoncitos_0 ;; tiene que ser un puntero a Sprite
   866D 00 00                63 .dw 0x0000
   866F 00 00                64 .dw 0x0000 ;prevPtr
   8671 1E 87                65 .dw _mainC_iddle ;; animaciones
   8673 01                   66 .db #0x01   ; tipo de entidad
   8674 FA                   67 .db #0x02 | #0x08 | #0x10 | #0x20 | #0x40 | #0x80 ;choca con
   8675 04                   68 .db #4     ;; contador para animaciones
                             69 
                             70 ; Movible:: ;; entity constante para copias
                             71 ; .db #1 | #2 | #8    ;; tipo de componentes
                             72 ; .db #38     ;; x
                             73 ; .db #96     ;; y  
                             74 ; .db #4      ;; ancho
                             75 ; .db #8      ;; alto 
                             76 ; .db #-1     ;; vx
                             77 ; .db #0     ;; vy
                             78 ; .dw _spr_sprite1 ;; tiene que ser un puntero a Sprite
                             79 ; .dw sys_ai_behaviour_enemy
                             80 ; .dw 0x0000 ;prevPtr
                             81 ; .dw 0x0000 ;; animaciones
                             82 ; .db #0x02   ; tipo de entidad
                             83 ; .db #0x01 ;choca con
                             84 ; .db #10     ;; contador para animaciones
                             85 
                             86 ; Inmovil:: ;; entity constante para copias
                             87 ; .db #1 | #16     ;; tipo de componentes
                             88 ; .db #10     ;; x
                             89 ; .db #24    ;; y  
                             90 ; .db #7      ;; ancho
                             91 ; .db #12      ;; alto 
                             92 ; .db #0    ;; vx
                             93 ; .db #0     ;; vy
                             94 ; .dw _spr_enemy1_00 ;; tiene que ser un puntero a Sprite
                             95 ; .dw 0x0000
                             96 ; .dw 0x0000 ;prevPtr
                             97 ; .dw _enemy1_iddle ;; animaciones
                             98 ; .db #0x02   ; tipo de entidad
                             99 ; .db #0x00 ;choca con
                            100 ; .db #10     ;; contador para animaciones
                            101 
                            102 
                            103 ; Spawner:: ;; entity constante para copias
                            104 ; .db #2 | #8 | #1    ;; tipo de componentes
                            105 ; .db #70     ;; x
                            106 ; .db #60     ;; y  
                            107 ; .db #4      ;; ancho
                            108 ; .db #8      ;; alto 
                            109 ; .db #-1     ;; vx
                            110 ; .db #0     ;; vy
ASxxxx Assembler V02.00 + NoICE + SDCC mods  (Zilog Z80 / Hitachi HD64180), page 3.
Hexadecimal [16-Bits]



                            111 ; .dw Sprite ;; tiene que ser un puntero a Sprite
                            112 ; .dw sys_ai_behaviour_spawner
                            113 ; .dw 0x0000 ;prevPtr
                            114 ; .dw 0x0000 ;; animaciones
                            115 ; .db #0x04   ; tipo de entidad
                            116 ; .db #0 ;choca con
                            117 ; .db #10     ;; contador para animaciones
                            118 
   8676                     119 Suelo:: ;; entity constante para copias
   8676 31                  120 .db #1 | #16 | #0x20     ;; tipo de componentes
   8677 0A                  121 .db #10     ;; x
   8678 6E                  122 .db #110   ;; y  
   8679 07                  123 .db #7      ;; ancho
   867A 0C                  124 .db #12      ;; alto
   867B 00                  125 .db #0    ;; vx
   867C 00                  126 .db #0     ;; vy
   867D 38 56               127 .dw _spr_enemy1_00 ;; tiene que ser un puntero a Sprite
   867F 00 00               128 .dw 0x0000
   8681 00 00               129 .dw 0x0000 ;prevPtr
   8683 06 87               130 .dw _enemy1_iddle ;; animaciones
   8685 08                  131 .db #0x08   ; tipo de entidad
   8686 00                  132 .db #0x00 ;choca con
   8687 05                  133 .db #5     ;; contador para animaciones
                            134 
   8688                     135 Suelo2:: ;; entity constante para copias
   8688 31                  136 .db #1 | #16 | #0x20     ;; tipo de componentes
   8689 14                  137 .db #20     ;; x
   868A 64                  138 .db #100   ;; y  
   868B 07                  139 .db #7     ;; ancho
   868C 0C                  140 .db #12     ;; alto
   868D 01                  141 .db #1    ;; vx
   868E 00                  142 .db #0     ;; vy
   868F 38 56               143 .dw _spr_enemy1_00 ;; tiene que ser un puntero a Sprite
   8691 00 00               144 .dw 0x0000
   8693 00 00               145 .dw 0x0000 ;prevPtr
   8695 06 87               146 .dw _enemy1_iddle ;; animaciones
   8697 08                  147 .db #0x08  ; tipo de entidad
   8698 00                  148 .db #0x00 ;choca con
   8699 05                  149 .db #5     ;; contador para animaciones
                            150 
   869A                     151 Meta:: ;; entity constante para copias
   869A 61                  152 .db #1 | #0x40 | #0x20     ;; tipo de componentes
   869B 48                  153 .db #72     ;; x
   869C 23                  154 .db #35  ;; y  
   869D 08                  155 .db #8     ;; ancho
   869E 10                  156 .db #16     ;; alto
   869F 00                  157 .db #0    ;; vx
   86A0 00                  158 .db #0     ;; vy
   86A1 B8 51               159 .dw _spr_goal_0 ;; tiene que ser un puntero a Sprite
   86A3 00 00               160 .dw 0x0000
   86A5 00 00               161 .dw 0x0000 ;prevPtr
   86A7 00 00               162 .dw 0x0000 ;; animaciones
   86A9 10                  163 .db #0x10  ; tipo de entidad
   86AA 00                  164 .db #0x00 ;choca con
   86AB 05                  165 .db #5     ;; contador para animaciones
ASxxxx Assembler V02.00 + NoICE + SDCC mods  (Zilog Z80 / Hitachi HD64180), page 4.
Hexadecimal [16-Bits]



                            166 
   86AC                     167 Enemigo:: ;; entity constante para copias
   86AC 3B                  168 .db #1 | #2 | #16 | #8 | #0x20     ;; tipo de componentes
   86AD 14                  169 .db #20     ;; x
   86AE 64                  170 .db #100   ;; y  
   86AF 07                  171 .db #7     ;; ancho
   86B0 0C                  172 .db #12     ;; alto
   86B1 01                  173 .db #1    ;; vx
   86B2 00                  174 .db #0     ;; vy
   86B3 38 56               175 .dw _spr_enemy1_00 ;; tiene que ser un puntero a Sprite
   86B5 05 89               176 .dw sys_ai_behaviour_left_right
   86B7 00 00               177 .dw 0x0000 ;prevPtr
   86B9 06 87               178 .dw _enemy1_iddle ;; animaciones
   86BB 08                  179 .db #0x08  ; tipo de entidad
   86BC 00                  180 .db #0x00 ;choca con
   86BD 05                  181 .db #5     ;; contador para animaciones
                            182 
   86BE                     183 Enemigo2:: ;; entity constante para copias
   86BE 3B                  184 .db #1 | #2 | #16 | #8 | #0x20     ;; tipo de componentes
   86BF 08                  185 .db #8     ;; x
   86C0 46                  186 .db #70   ;; y  
   86C1 07                  187 .db #7     ;; ancho
   86C2 0C                  188 .db #12     ;; alto
   86C3 00                  189 .db #0    ;; vx
   86C4 02                  190 .db #2     ;; vy
   86C5 38 56               191 .dw _spr_enemy1_00 ;; tiene que ser un puntero a Sprite
   86C7 1A 89               192 .dw sys_ai_behaviour_up_down
   86C9 00 00               193 .dw 0x0000 ;prevPtr
   86CB 06 87               194 .dw _enemy1_iddle ;; animaciones
   86CD 08                  195 .db #0x08  ; tipo de entidad
   86CE 00                  196 .db #0x00 ;choca con
   86CF 05                  197 .db #5     ;; contador para animaciones
                            198 
   86D0                     199 Arbol:: ;; entity constante para copias
   86D0 61                  200 .db #1 | #0x40 | #0x20     ;; tipo de componentes
   86D1 48                  201 .db #72     ;; x
   86D2 23                  202 .db #35  ;; y  
   86D3 0C                  203 .db #12     ;; ancho
   86D4 28                  204 .db #40     ;; alto
   86D5 00                  205 .db #0    ;; vx
   86D6 00                  206 .db #0     ;; vy
   86D7 D8 47               207 .dw _img_final_0 ;; tiene que ser un puntero a Sprite
   86D9 00 00               208 .dw 0x0000
   86DB 00 00               209 .dw 0x0000 ;prevPtr
   86DD 00 00               210 .dw 0x0000 ;; animaciones
   86DF 20                  211 .db #0x20  ; tipo de entidad
   86E0 00                  212 .db #0x00 ;choca con
   86E1 08                  213 .db #8     ;; contador para animaciones
                            214 
                            215 
   86E2                     216 Llave:: ;; entity constante para copias
   86E2 21                  217 .db #1 | #0x20     ;; tipo de componentes
   86E3 48                  218 .db #72     ;; x
   86E4 23                  219 .db #35  ;; y  
   86E5 04                  220 .db #4     ;; ancho
ASxxxx Assembler V02.00 + NoICE + SDCC mods  (Zilog Z80 / Hitachi HD64180), page 5.
Hexadecimal [16-Bits]



   86E6 08                  221 .db #8     ;; alto
   86E7 00                  222 .db #0    ;; vx
   86E8 00                  223 .db #0     ;; vy
   86E9 98 51               224 .dw _llave ;; tiene que ser un puntero a Sprite
   86EB 00 00               225 .dw 0x0000
   86ED 00 00               226 .dw 0x0000 ;prevPtr
   86EF 00 00               227 .dw 0x0000 ;; animaciones
   86F1 40                  228 .db #0x40  ; tipo de entidad
   86F2 00                  229 .db #0x00 ;choca con
   86F3 00                  230 .db #0     ;; contador para animaciones
                            231 
                            232 
   86F4                     233 Puerta:: ;; entity constante para copias
   86F4 21                  234 .db #1 | #0x20     ;; tipo de componentes
   86F5 48                  235 .db #72     ;; x
   86F6 23                  236 .db #35  ;; y  
   86F7 04                  237 .db #4     ;; ancho
   86F8 18                  238 .db #24     ;; alto
   86F9 00                  239 .db #0    ;; vx
   86FA 00                  240 .db #0     ;; vy
   86FB 38 51               241 .dw _puerta1 ;; tiene que ser un puntero a Sprite
   86FD 00 00               242 .dw 0x0000
   86FF 00 00               243 .dw 0x0000 ;prevPtr
   8701 00 00               244 .dw 0x0000 ;; animaciones
   8703 80                  245 .db #0x80  ; tipo de entidad
   8704 00                  246 .db #0x00 ;choca con
   8705 00                  247 .db #0     ;; contador para animaciones
