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 Cosmic Gatlin: An Amstrad CPC Game 
                              3 ;;  Authors: 
                              4 ;;      Javier Botella Martínez (@javierbotella)
                              5 ;;      Francesc Martinez Torregrosa (@mellamofrancesc)
                              6 ;;
                              7 ;;  This program is free software: you can redistribute it and/or modify
                              8 ;;  it under the terms of the GNU Lesser General Public License as published by
                              9 ;;  the Free Software Foundation, either version 3 of the License, or
                             10 ;;  (at your option) any later version.
                             11 ;;
                             12 ;;  This program is distributed in the hope that it will be useful,
                             13 ;;  but WITHOUT ANY WARRANTY; without even the implied warranty of
                             14 ;;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                             15 ;;  GNU Lesser General Public License for more details.
                             16 ;;
                             17 ;;  You should have received a copy of the GNU Lesser General Public License
                             18 ;;  along with this program.  If not, see <http://www.gnu.org/licenses/>.
                             19 ;;------------------------------------------------------------------------------
                             20 
ASxxxx Assembler V02.00 + NoICE + SDCC mods  (Zilog Z80 / Hitachi HD64180), page 2.
Hexadecimal [16-Bits]



                             21 .include "ai.h.s"
                              1 ;;-----------------------------LICENSE NOTICE------------------------------------
                              2 ;;  This file is part of Cosmic Gatlin: An Amstrad CPC Game 
                              3 ;;  Authors: 
                              4 ;;      Javier Botella Martínez (@javierbotella)
                              5 ;;      Francesc Martinez Torregrosa (@mellamofrancesc)
                              6 ;;
                              7 ;;  This program is free software: you can redistribute it and/or modify
                              8 ;;  it under the terms of the GNU Lesser General Public License as published by
                              9 ;;  the Free Software Foundation, either version 3 of the License, or
                             10 ;;  (at your option) any later version.
                             11 ;;
                             12 ;;  This program is distributed in the hope that it will be useful,
                             13 ;;  but WITHOUT ANY WARRANTY; without even the implied warranty of
                             14 ;;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                             15 ;;  GNU Lesser General Public License for more details.
                             16 ;;
                             17 ;;  You should have received a copy of the GNU Lesser General Public License
                             18 ;;  along with this program.  If not, see <http://www.gnu.org/licenses/>.
                             19 ;;------------------------------------------------------------------------------
                             20 
                             21 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             22 ;;  CONSTANTS
                             23 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             24 
                             25 
                             26 
                             27 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             28 ;;  PUBLIC FUNCTIONS
                             29 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             30 
                             31 .globl sysAIInit
                             32 .globl sysAIUpdate
                             33 .globl sysAIMoveLeft
                             34 .globl sysAIEnemy1
                             35 .globl sysAIEnemy2
                             36 .globl sysAIEnemy3
                             37 .globl sysAIEnemy5_1
                             38 .globl sysAIEnemy5_2
                             39 .globl sysAIEnemy6_1
                             40 .globl sysAIEnemy6_2
                             41 .globl sysAIEnemy7_1
                             42 .globl sysAIEnemy7_2
                             43 .globl sysAIEnemyBullet
                             44 .globl sysAIExplosion
                             45 .globl sysAIExplosion2
                             46 
                             47 .globl sysAISetAICounter
                             48 .globl sysAISetSpeedAILeft
ASxxxx Assembler V02.00 + NoICE + SDCC mods  (Zilog Z80 / Hitachi HD64180), page 3.
Hexadecimal [16-Bits]



                             22 .include "../man/entity.h.s"
                              1 ;;-----------------------------LICENSE NOTICE------------------------------------
                              2 ;;  This file is part of Cosmic Gatlin: An Amstrad CPC Game 
                              3 ;;  Authors: 
                              4 ;;      Javier Botella Martínez (@javierbotella)
                              5 ;;      Francesc Martinez Torregrosa (@mellamofrancesc)
                              6 ;;
                              7 ;;  This program is free software: you can redistribute it and/or modify
                              8 ;;  it under the terms of the GNU Lesser General Public License as published by
                              9 ;;  the Free Software Foundation, either version 3 of the License, or
                             10 ;;  (at your option) any later version.
                             11 ;;
                             12 ;;  This program is distributed in the hope that it will be useful,
                             13 ;;  but WITHOUT ANY WARRANTY; without even the implied warranty of
                             14 ;;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                             15 ;;  GNU Lesser General Public License for more details.
                             16 ;;
                             17 ;;  You should have received a copy of the GNU Lesser General Public License
                             18 ;;  along with this program.  If not, see <http://www.gnu.org/licenses/>.
                             19 ;;------------------------------------------------------------------------------
                             20 
                             21 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             22 ;;  CONSTANTS
                             23 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             24 
                             25     ;; ENTITY INFO
                     001C    26 EntitySize=28 
                     0028    27 EntityArraySize=40
                     0460    28 EntityArrayBytesSize=EntitySize*EntityArraySize
                             29 
                     0028    30 Fila1=40
                     0050    31 Fila2=Fila1+40
                     0078    32 Fila3=Fila2+40
                             33 
                     000D    34 Offset=12+1
                             35 
                     001B    36 EFila1=Fila1-Offset
                     0043    37 EFila2=Fila2-Offset
                     006B    38 EFila3=Fila3-Offset
                             39 
                             40     ;; INDEX FOR IX/IY
                     0000    41 indType=0
                     0001    42 indX=1
                     0002    43 indY=2
                     0003    44 indVx=3
                     0004    45 indVy=4
                     0005    46 indWidth=5
                     0006    47 indHeight=6
                     0007    48 indAI2=7
                     0008    49 indAI1=8
                     0009    50 indColision2=9
                     000A    51 indColision1=10
                     000B    52 indPhysics2=11
                     000C    53 indPhysics1=12
                     000D    54 indSprite2=13
ASxxxx Assembler V02.00 + NoICE + SDCC mods  (Zilog Z80 / Hitachi HD64180), page 4.
Hexadecimal [16-Bits]



                     000E    55 indSprite1=14
                     000F    56 indPrevPos2=15
                     0010    57 indPrevPos1=16
                     0011    58 indScore=17
                     0012    59 indSubType=18
                     0013    60 indAnim2=19
                     0014    61 indAnim1=20
                     0015    62 indAnimCounter=21
                     0016    63 indAnimActual=22
                     0017    64 indActualPos2=23
                     0018    65 indActualPos1=24
                     0019    66 indAICounter=25
                     001A    67 indDelWitdh=26
                     001B    68 indDelHeight=27
                             69 
                             70     ;; ENTITY TYPES
                     0000    71 ETypeInvalid=0x00
                     0001    72 ETypeRenderable=0x01
                     0002    73 ETypeMovable=0x02
                     0004    74 ETypeInput=0x04
                     0008    75 ETypeAI=0x08
                     0010    76 ETypeColisionable=0x10
                     0020    77 ETypeColider=0x20
                     0040    78 ETypeAnimated=0x40
                     0080    79 ETypeDead=0x80
                     007F    80 ETypeDefault=0x7f
                             81 
                     0001    82 AITypeEnemy=0x01
                     0002    83 AITypePU=0x02
                     0004    84 AITypeBullet=0x04
                     0008    85 AITypeInmortal=0x08
                             86 
                     0010    87 RenderTypeStatic=0x10
                             88 
                             89 
                             90 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             91 ;;  PUBLIC FUNCTIONS
                             92 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             93 
                             94 .globl manEntityInit
                             95 .globl manEntityCreate
                             96 .globl manEntityDestroy
                             97 .globl manEntityMarkToDestroy
                             98 .globl manEntityDestroyDead
                             99 .globl manEntityForAll
                            100 .globl manEntityForAllMatching
                            101 .globl getFreeSpace
                            102 .globl getNextFreeEntity
ASxxxx Assembler V02.00 + NoICE + SDCC mods  (Zilog Z80 / Hitachi HD64180), page 5.
Hexadecimal [16-Bits]



                             23 .include "generator.h.s"
                              1 ;;-----------------------------LICENSE NOTICE------------------------------------
                              2 ;;  This file is part of Cosmic Gatlin: An Amstrad CPC Game 
                              3 ;;  Authors: 
                              4 ;;      Javier Botella Martínez (@javierbotella)
                              5 ;;      Francesc Martinez Torregrosa (@mellamofrancesc)
                              6 ;;
                              7 ;;  This program is free software: you can redistribute it and/or modify
                              8 ;;  it under the terms of the GNU Lesser General Public License as published by
                              9 ;;  the Free Software Foundation, either version 3 of the License, or
                             10 ;;  (at your option) any later version.
                             11 ;;
                             12 ;;  This program is distributed in the hope that it will be useful,
                             13 ;;  but WITHOUT ANY WARRANTY; without even the implied warranty of
                             14 ;;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                             15 ;;  GNU Lesser General Public License for more details.
                             16 ;;
                             17 ;;  You should have received a copy of the GNU Lesser General Public License
                             18 ;;  along with this program.  If not, see <http://www.gnu.org/licenses/>.
                             19 ;;------------------------------------------------------------------------------
                             20 
                             21 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             22 ;;  CONSTANTS
                             23 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             24 
                     0019    25 InitMaxTime2Generate=25
                     0014    26 MinTime2Generate=20
                             27 
                     000A    28 InitMinNumberEnemies=10
                     0032    29 MaxNumberEnemies=50
                             30 
                     0001    31 SubTime2Generate=1
                     0005    32 AddNumberEnemies=5
                             33 
                     0014    34 SpeedUp1=20
                     0028    35 SpeedUp2=40
                             36 
                             37 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             38 ;;  PUBLIC FUNCTIONS
                             39 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             40 
                             41 .globl sysGeneratorInit
                             42 .globl sysGeneratorInitGame
                             43 .globl sysGeneratorInitGameOver
                             44 .globl sysGeneratorInitGameOver2
                             45 .globl sysGeneratorInitMenu2
                             46 .globl sysGeneratorInitMenu
                             47 .globl sysGeneratorInitMenuCredit
                             48 .globl sysGeneratorMenuErase
                             49 .globl sysGeneratorMenuSpace
                             50 .globl sysGeneratorMenuInsertCoin
                             51 .globl sysGeneratorUpdate
                             52 .globl sysGeneratorBulletCreator
                             53 .globl sysGeneratorPU
                             54 .globl sysGeneratorExp1
ASxxxx Assembler V02.00 + NoICE + SDCC mods  (Zilog Z80 / Hitachi HD64180), page 6.
Hexadecimal [16-Bits]



                             55 .globl sysGeneratorExp2
                             56 .globl sysGeneratorExp3
                             57 .globl sysGeneratorExp4
                             58 .globl sysGeneratorStar
                             59 
                             60 .globl sysGeneratorSetEnemy1
                             61 .globl sysGeneratorSetEnemy2
                             62 .globl sysGeneratorSetEnemy3
                             63 .globl sysGeneratorSetEnemy3Full
                             64 .globl sysGeneratorSetBoolEnemy3Full
                             65 
                             66 .globl _spr_idle
                             67 .globl _spr_idle2
                             68 .globl _spr_down1
                             69 .globl _spr_down2
                             70 .globl _spr_up1
                             71 .globl _spr_up2
                             72 
                             73 .globl _spr_jetpack1
                             74 .globl _spr_jetpack2
                             75 .globl _spr_jetpack3
                             76 
                             77 .globl _spr_robo
                             78 .globl _spr_robo2
                             79 .globl _spr_robo3
                             80 
                             81 .globl _spr_octo
                             82 .globl _spr_octo2
                             83 
                             84 .globl _spr_drone
                             85 .globl _spr_drone2
                             86 
                             87 .globl _spr_newdrone1
                             88 .globl _spr_newdrone2
                             89 .globl _spr_newdrone3
                             90 
                             91 .globl _spr_knight1
                             92 .globl _spr_knight2
                             93 .globl _spr_knight3
                             94 
                             95 .globl _spr_newrobot1
                             96 .globl _spr_newrobot2
                             97 .globl _spr_newrobot3
                             98 .globl _spr_newrobot4
                             99 
                            100 .globl _spr_ffirehs
                            101 .globl _spr_ffirehs2
                            102 
                            103 .globl _spr_doblescore1
                            104 .globl _spr_doblescore2
                            105 
                            106 .globl _spr_powerup1
                            107 .globl _spr_powerup2
                            108 .globl _spr_powerup3
                            109 .globl _spr_powerup4
ASxxxx Assembler V02.00 + NoICE + SDCC mods  (Zilog Z80 / Hitachi HD64180), page 7.
Hexadecimal [16-Bits]



                            110 .globl _spr_powerup5
                            111 .globl _spr_powerup6
                            112 .globl _spr_powerup7
                            113 .globl _spr_powerup8
                            114 
                            115 .globl _spr_floor1
                            116 .globl _spr_floor2
                            117 .globl _spr_floor3
                            118 
                            119 .globl _spr_floor11
                            120 .globl _spr_floor22
                            121 .globl _spr_floor33
                            122 
                            123 .globl _spr_rainbow
                            124 .globl _spr_wobniar
                            125 
                            126 .globl _spr_hud_0
                            127 .globl _spr_hud_1
                            128 .globl _spr_hud_2
                            129 .globl _spr_hud_3
                            130 
                            131 .globl _spr_stars0
                            132 .globl _spr_stars1
                            133 .globl _spr_stars2
                            134 .globl _spr_stars3
                            135 
                            136 .globl _spr_explosion10
                            137 .globl _spr_explosion11
                            138 .globl _spr_explosion12
                            139 .globl _spr_explosion13
                            140 .globl _spr_explosion14
                            141 
                            142 .globl _spr_explosion20
                            143 .globl _spr_explosion21
                            144 .globl _spr_explosion22
                            145 .globl _spr_explosion23
                            146 .globl _spr_explosion24
                            147 
                            148 .globl _spr_explosion30
                            149 .globl _spr_explosion31
                            150 .globl _spr_explosion32
                            151 .globl _spr_explosion33
                            152 .globl _spr_explosion34
                            153 
                            154 .globl _spr_explosion40
                            155 .globl _spr_explosion41
                            156 .globl _spr_explosion42
                            157 .globl _spr_explosion43
                            158 .globl _spr_explosion44
                            159 
                            160 .globl _spr_marcoleft
                            161 .globl _spr_marcoright 
                            162 .globl _spr_marcobot_0
                            163 .globl _spr_marcotop_0
                            164 .globl _spr_marcobot_1
ASxxxx Assembler V02.00 + NoICE + SDCC mods  (Zilog Z80 / Hitachi HD64180), page 8.
Hexadecimal [16-Bits]



                            165 .globl _spr_marcotop_1
                            166 
                            167 .globl _spr_cosmic1
                            168 .globl _spr_gatlin
                            169 .globl _spr_hashtag
                            170 .globl _spr_highscore
                            171 .globl _spr_francesc
                            172 .globl _spr_javier
                            173 .globl _spr_insert
                            174 .globl _spr_credit0
                            175 .globl _spr_credit1
                            176 
                            177 .globl _spr_continue
                            178 .globl _spr_gameover
                            179 .globl _spr_space
                            180 .globl _spr_star
                            181 .globl _spr_star2
                            182 .globl _spr_star3
                            183 
                            184 
                            185 
                            186 .globl initStars
                            187 .globl initEnemy1
                            188 .globl initEnemy2
                            189 .globl initEnemy3
                            190 .globl initEnemy4
                            191 .globl initEnemy5
                            192 .globl initEnemy6
                            193 .globl initEnemy7
ASxxxx Assembler V02.00 + NoICE + SDCC mods  (Zilog Z80 / Hitachi HD64180), page 9.
Hexadecimal [16-Bits]



                             24 .include "animations.h.s"
                              1 ;;-----------------------------LICENSE NOTICE------------------------------------
                              2 ;;  This file is part of Cosmic Gatlin: An Amstrad CPC Game 
                              3 ;;  Authors: 
                              4 ;;      Javier Botella Martínez (@javierbotella)
                              5 ;;      Francesc Martinez Torregrosa (@mellamofrancesc)
                              6 ;;
                              7 ;;  This program is free software: you can redistribute it and/or modify
                              8 ;;  it under the terms of the GNU Lesser General Public License as published by
                              9 ;;  the Free Software Foundation, either version 3 of the License, or
                             10 ;;  (at your option) any later version.
                             11 ;;
                             12 ;;  This program is distributed in the hope that it will be useful,
                             13 ;;  but WITHOUT ANY WARRANTY; without even the implied warranty of
                             14 ;;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
                             15 ;;  GNU Lesser General Public License for more details.
                             16 ;;
                             17 ;;  You should have received a copy of the GNU Lesser General Public License
                             18 ;;  along with this program.  If not, see <http://www.gnu.org/licenses/>.
                             19 ;;------------------------------------------------------------------------------
                             20 
                             21 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             22 ;;  CONSTANTS
                             23 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             24 
                     0003    25 AnimSize=3
                             26 
                     0002    27 SpeedFloor1=2
                     0002    28 SpeedFloor11=2
                     0003    29 SpeedExp=3
                             30 
                             31 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             32 ;;  PUBLIC FUNCTIONS
                             33 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             34 
                             35 .globl sysAnimationsUpdate
                             36 .globl animationPlayer
                             37 .globl animationPlayerDown
                             38 .globl animationPlayerUp
                             39 .globl animationPlayerJetpack
                             40 .globl animationEnemy1
                             41 .globl animationEnemy2
                             42 .globl animationEnemy3
                             43 .globl animationEnemy4
                             44 .globl animationEnemy5_1
                             45 .globl animationEnemy5_2
                             46 .globl animationEnemy6_1
                             47 .globl animationEnemy6_2
                             48 .globl animationEnemy7
                             49 .globl animationPUScore
                             50 .globl animationPUBullet
                             51 .globl animationFloor1
                             52 .globl animationFloor11
                             53 .globl animationExplosion1
                             54 .globl animationExplosion2
ASxxxx Assembler V02.00 + NoICE + SDCC mods  (Zilog Z80 / Hitachi HD64180), page 10.
Hexadecimal [16-Bits]



                             55 .globl animationExplosion3
                             56 .globl animationExplosion4
ASxxxx Assembler V02.00 + NoICE + SDCC mods  (Zilog Z80 / Hitachi HD64180), page 11.
Hexadecimal [16-Bits]



                             25 
                             26 
   8089                      27 speedAILeft:
   8089 FF                   28     .db #-1
                             29 
   808A                      30 aiCounter:
   808A 01                   31     .db #1
                             32 
                             33 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             34 ;;      sysAIInit
                             35 ;; Requisitos:
                             36 ;;      -
                             37 ;; Return:
                             38 ;;      -
                             39 ;; Descripcion:
                             40 ;;      -
                             41 ;;
   808B                      42 sysAIInit::
                             43 
   808B 3E 01         [ 7]   44     ld a, #1
   808D 32 8A 80      [13]   45     ld (aiCounter), a
                             46 
   8090 3E FF         [ 7]   47     ld a, #-1
   8092 32 89 80      [13]   48     ld (speedAILeft), a
                             49 
   8095 C9            [10]   50 ret
                             51 
                             52 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             53 ;;      sysAIUpdateOne
                             54 ;; Requisitos:
                             55 ;;      -
                             56 ;; Return:
                             57 ;;      -
                             58 ;; Descripcion:
                             59 ;;      -
                             60 ;;
   8096                      61 sysAIUpdateOne:
                             62 
   8096 DD 66 08      [19]   63     ld h, indAI1(ix)
   8099 DD 6E 07      [19]   64     ld l, indAI2(ix)
                             65 
   809C 01 A1 80      [10]   66     ld bc, #salirAI
   809F C5            [11]   67     push bc
                             68 
   80A0 E9            [ 4]   69     jp (hl)
                             70 
   80A1                      71     salirAI:
                             72 
   80A1 C9            [10]   73 ret
                             74 
                             75 
                             76 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             77 ;;      sysAIMoveLeft
                             78 ;; Requisitos:
                             79 ;;      -
ASxxxx Assembler V02.00 + NoICE + SDCC mods  (Zilog Z80 / Hitachi HD64180), page 12.
Hexadecimal [16-Bits]



                             80 ;; Return:
                             81 ;;      -
                             82 ;; Descripcion:
                             83 ;;      -
                             84 ;;
   80A2                      85 sysAIMoveLeft::
                             86 
   80A2 3A 89 80      [13]   87     ld a, (#speedAILeft)
   80A5 DD 77 03      [19]   88     ld indVx(ix), a
                             89     
   80A8 C9            [10]   90 ret
                             91 
                             92 
                             93 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                             94 ;;      sysAIEnemy
                             95 ;; Requisitos:
                             96 ;;      -
                             97 ;; Return:
                             98 ;;      -
                             99 ;; Descripcion:
                            100 ;;      -
                            101 ;;
   80A9                     102 sysAIEnemy:
                            103 
   80A9 DD 36 03 00   [19]  104     ld indVx(ix), #0
   80AD CD A1 81      [17]  105     call sysAICheckCounter
                            106 
   80B0 C9            [10]  107 ret
                            108 
                            109 
                            110 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                            111 ;;      sysAIEnemy1
                            112 ;; Requisitos:
                            113 ;;      -
                            114 ;; Return:
                            115 ;;      -
                            116 ;; Descripcion:
                            117 ;;      -
                            118 ;;
   80B1                     119 sysAIEnemy1::
                            120 
   80B1 CD A9 80      [17]  121     call sysAIEnemy
                            122 
   80B4 C9            [10]  123 ret
                            124 
                            125 
                            126 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                            127 ;;      sysAIEnemy2
                            128 ;; Requisitos:
                            129 ;;      -
                            130 ;; Return:
                            131 ;;      -
                            132 ;; Descripcion:
                            133 ;;      -
                            134 ;;
ASxxxx Assembler V02.00 + NoICE + SDCC mods  (Zilog Z80 / Hitachi HD64180), page 13.
Hexadecimal [16-Bits]



   80B5                     135 sysAIEnemy2::
                            136 
   80B5 CD A9 80      [17]  137     call sysAIEnemy
                            138 
   80B8 C9            [10]  139 ret
                            140 
                            141 
                            142 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                            143 ;;      sysAIEnemy3
                            144 ;; Requisitos:
                            145 ;;      -
                            146 ;; Return:
                            147 ;;      -
                            148 ;; Descripcion:
                            149 ;;      -
                            150 ;;
   80B9                     151 sysAIEnemy3::
                            152 
   80B9 CD A9 80      [17]  153     call sysAIEnemy
                            154 
   80BC C9            [10]  155 ret
                            156 
                            157 
                            158 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                            159 ;;      sysAIEnemy5_1
                            160 ;; Requisitos:
                            161 ;;      -
                            162 ;; Return:
                            163 ;;      -
                            164 ;; Descripcion:
                            165 ;;      -
                            166 ;;
   80BD                     167 sysAIEnemy5_1::
                            168 
   80BD 3E FF         [ 7]  169     ld a, #-1
   80BF DD 77 03      [19]  170     ld indVx(ix), a
                            171 
   80C2 21 D1 80      [10]  172     ld hl, #sysAIEnemy5_2
   80C5 11 3C 82      [10]  173     ld de, #animationEnemy5_2
   80C8 01 FE 06      [10]  174     ld bc, #_spr_knight1
   80CB 3E 0A         [ 7]  175     ld a, #10
   80CD CD E5 80      [17]  176     call sysAIEnemy5Counter
                            177 
   80D0 C9            [10]  178 ret
                            179 
                            180 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                            181 ;;      sysAIEnemy5_2
                            182 ;; Requisitos:
                            183 ;;      -
                            184 ;; Return:
                            185 ;;      -
                            186 ;; Descripcion:
                            187 ;;      -
                            188 ;;
   80D1                     189 sysAIEnemy5_2::
ASxxxx Assembler V02.00 + NoICE + SDCC mods  (Zilog Z80 / Hitachi HD64180), page 14.
Hexadecimal [16-Bits]



                            190 
   80D1 3E 00         [ 7]  191     ld a, #0
   80D3 DD 77 03      [19]  192     ld indVx(ix), a
                            193 
                            194     
   80D6 21 BD 80      [10]  195     ld hl, #sysAIEnemy5_1
   80D9 11 33 82      [10]  196     ld de, #animationEnemy5_1
   80DC 01 9E 06      [10]  197     ld bc, #_spr_knight2
   80DF 3E 14         [ 7]  198     ld a, #20
   80E1 CD E5 80      [17]  199     call sysAIEnemy5Counter
                            200 
   80E4 C9            [10]  201 ret
                            202 
                            203 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                            204 ;;      sysAIEnemy5Counter
                            205 ;; Requisitos:
                            206 ;;      -
                            207 ;; Return:
                            208 ;;      -
                            209 ;; Descripcion:
                            210 ;;      -
                            211 ;;
   80E5                     212 sysAIEnemy5Counter:
                            213 
   80E5 F5            [11]  214     push af
   80E6 DD 7E 19      [19]  215     ld a, indAICounter(ix)
   80E9 B7            [ 4]  216     or a
                            217 
   80EA CA F3 80      [10]  218     jp z, changeEnemy5State
                            219 
   80ED 3D            [ 4]  220     dec a
   80EE DD 77 19      [19]  221     ld indAICounter(ix), a
   80F1 F1            [10]  222     pop af
                            223 
   80F2 C9            [10]  224     ret
                            225 
   80F3                     226 changeEnemy5State: 
   80F3 F1            [10]  227     pop af
   80F4 DD 77 19      [19]  228     ld indAICounter(ix), a
                            229 
   80F7 DD 74 08      [19]  230     ld indAI1(ix), h
   80FA DD 75 07      [19]  231     ld indAI2(ix), l
                            232 
   80FD DD 70 0E      [19]  233     ld indSprite1(ix), b
   8100 DD 71 0D      [19]  234     ld indSprite2(ix), c
                            235 
   8103 DD 72 14      [19]  236     ld indAnim1(ix), d
   8106 DD 73 13      [19]  237     ld indAnim2(ix), e
                            238 
   8109 3E 05         [ 7]  239     ld a, #5
   810B DD 77 15      [19]  240     ld indAnimCounter(ix), a
                            241 
   810E 3E 00         [ 7]  242     ld a, #0
   8110 DD 77 16      [19]  243     ld indAnimActual(ix), a
                            244 
ASxxxx Assembler V02.00 + NoICE + SDCC mods  (Zilog Z80 / Hitachi HD64180), page 15.
Hexadecimal [16-Bits]



   8113 DD 7E 12      [19]  245     ld a, indSubType(ix)
   8116 06 08         [ 7]  246     ld b, #AITypeInmortal
   8118 A8            [ 4]  247     xor a, b
   8119 DD 77 12      [19]  248     ld indSubType(ix), a
                            249 
   811C C9            [10]  250 ret
                            251 
                            252 
                            253 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                            254 ;;      sysAIEnemy6_1
                            255 ;; Requisitos:
                            256 ;;      -
                            257 ;; Return:
                            258 ;;      -
                            259 ;; Descripcion:
                            260 ;;      -
                            261 ;;
   811D                     262 sysAIEnemy6_1::
                            263 
   811D 3E FF         [ 7]  264     ld a, #-1
   811F DD 77 03      [19]  265     ld indVx(ix), a
                            266 
   8122 21 31 81      [10]  267     ld hl, #sysAIEnemy6_2
   8125 11 4E 82      [10]  268     ld de, #animationEnemy6_2
   8128 01 BE 04      [10]  269     ld bc, #_spr_newrobot4
   812B 3E 14         [ 7]  270     ld a, #20
   812D CD 45 81      [17]  271     call sysAIEnemy6Counter
                            272 
   8130 C9            [10]  273 ret
                            274 
                            275 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                            276 ;;      sysAIEnemy6_2
                            277 ;; Requisitos:
                            278 ;;      -
                            279 ;; Return:
                            280 ;;      -
                            281 ;; Descripcion:
                            282 ;;      -
                            283 ;;
   8131                     284 sysAIEnemy6_2::
                            285 
   8131 3E 00         [ 7]  286     ld a, #0
   8133 DD 77 03      [19]  287     ld indVx(ix), a
                            288     
   8136 21 1D 81      [10]  289     ld hl, #sysAIEnemy6_1
   8139 11 42 82      [10]  290     ld de, #animationEnemy6_1
   813C 01 DE 05      [10]  291     ld bc, #_spr_newrobot1
   813F 3E 14         [ 7]  292     ld a, #20
   8141 CD 45 81      [17]  293     call sysAIEnemy6Counter
                            294 
   8144 C9            [10]  295 ret
                            296 
                            297 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                            298 ;;      sysAIEnemy5Counter
                            299 ;; Requisitos:
ASxxxx Assembler V02.00 + NoICE + SDCC mods  (Zilog Z80 / Hitachi HD64180), page 16.
Hexadecimal [16-Bits]



                            300 ;;      -
                            301 ;; Return:
                            302 ;;      -
                            303 ;; Descripcion:
                            304 ;;      -
                            305 ;;
   8145                     306 sysAIEnemy6Counter:
                            307 
   8145 F5            [11]  308     push af
   8146 DD 7E 19      [19]  309     ld a, indAICounter(ix)
   8149 B7            [ 4]  310     or a
                            311 
   814A CA 53 81      [10]  312     jp z, changeEnemy6State
                            313 
   814D 3D            [ 4]  314     dec a
   814E DD 77 19      [19]  315     ld indAICounter(ix), a
   8151 F1            [10]  316     pop af
                            317 
   8152 C9            [10]  318     ret
                            319 
   8153                     320 changeEnemy6State: 
   8153 F1            [10]  321     pop af
   8154 DD 77 19      [19]  322     ld indAICounter(ix), a
                            323 
   8157 DD 74 08      [19]  324     ld indAI1(ix), h
   815A DD 75 07      [19]  325     ld indAI2(ix), l
                            326 
   815D DD 70 0E      [19]  327     ld indSprite1(ix), b
   8160 DD 71 0D      [19]  328     ld indSprite2(ix), c
                            329 
   8163 DD 72 14      [19]  330     ld indAnim1(ix), d
   8166 DD 73 13      [19]  331     ld indAnim2(ix), e
                            332 
   8169 3E 05         [ 7]  333     ld a, #5
   816B DD 77 15      [19]  334     ld indAnimCounter(ix), a
                            335 
   816E 3E 00         [ 7]  336     ld a, #0
   8170 DD 77 16      [19]  337     ld indAnimActual(ix), a
                            338 
   8173 DD 7E 00      [19]  339     ld a, indType(ix)
   8176 06 10         [ 7]  340     ld b, #ETypeColisionable
   8178 A8            [ 4]  341     xor a, b
   8179 DD 77 00      [19]  342     ld indType(ix), a
                            343 
                            344     
                            345 
   817C C9            [10]  346 ret
                            347 
                            348 
                            349 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                            350 ;;      sysAIEnemy7
                            351 ;; Requisitos:
                            352 ;;      -
                            353 ;; Return:
                            354 ;;      -
ASxxxx Assembler V02.00 + NoICE + SDCC mods  (Zilog Z80 / Hitachi HD64180), page 17.
Hexadecimal [16-Bits]



                            355 ;; Descripcion:
                            356 ;;      -
                            357 ;;
   817D                     358 sysAIEnemy7_1::
                            359 
   817D DD 36 03 FF   [19]  360     ld indVx(ix), #-1
                            361 
   8181 DD 7E 19      [19]  362     ld a, indAICounter(ix)
   8184 B7            [ 4]  363     or a
                            364 
   8185 CA 8D 81      [10]  365     jp z, changeEnemy7State
                            366 
   8188 3D            [ 4]  367     dec a
   8189 DD 77 19      [19]  368     ld indAICounter(ix), a
                            369 
   818C C9            [10]  370     ret
                            371 
   818D                     372 changeEnemy7State:
                            373 
   818D 21 97 81      [10]  374     ld hl, #sysAIEnemy7_2
                            375 
   8190 DD 74 08      [19]  376     ld indAI1(ix), h
   8193 DD 75 07      [19]  377     ld indAI2(ix), l
                            378 
   8196 C9            [10]  379 ret
                            380 
                            381 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                            382 ;;      sysAIEnemy7_2
                            383 ;; Requisitos:
                            384 ;;      -
                            385 ;; Return:
                            386 ;;      -
                            387 ;; Descripcion:
                            388 ;;      -
                            389 ;;
   8197                     390 sysAIEnemy7_2::
                            391 
   8197 DD 36 03 00   [19]  392     ld indVx(ix), #0
                            393 
   819B C9            [10]  394 ret
                            395 
                            396 
                            397 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                            398 ;;      sysAIEnemyBullet
                            399 ;; Requisitos:
                            400 ;;      -
                            401 ;; Return:
                            402 ;;      -
                            403 ;; Descripcion:
                            404 ;;      -
                            405 ;;
   819C                     406 sysAIEnemyBullet::
                            407 
   819C DD 36 03 FF   [19]  408     ld indVx(ix), #-1
                            409 
ASxxxx Assembler V02.00 + NoICE + SDCC mods  (Zilog Z80 / Hitachi HD64180), page 18.
Hexadecimal [16-Bits]



   81A0 C9            [10]  410 ret
                            411 
                            412 
                            413 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                            414 ;;      sysAICheckCounter
                            415 ;; Requisitos:
                            416 ;;      -
                            417 ;; Return:
                            418 ;;      -
                            419 ;; Descripcion:
                            420 ;;      -
                            421 ;;
   81A1                     422 sysAICheckCounter:
                            423 
   81A1 DD 7E 19      [19]  424     ld a, indAICounter(ix)
   81A4 B7            [ 4]  425     or a
                            426         
   81A5 CA AC 81      [10]  427     jp z, resetAICounter
                            428  
   81A8 DD 35 19      [23]  429     dec indAICounter(ix)
                            430 
   81AB C9            [10]  431     ret 
                            432 
   81AC                     433 resetAICounter:
                            434 
   81AC 3A 8A 80      [13]  435     ld a, (#aiCounter)
   81AF DD 77 19      [19]  436     ld indAICounter(ix), a
                            437 
   81B2 CD A2 80      [17]  438     call sysAIMoveLeft
                            439 
   81B5 C9            [10]  440 ret
                            441 
                            442 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                            443 ;;      sysAIExplosion
                            444 ;; Requisitos:
                            445 ;;      -
                            446 ;; Return:
                            447 ;;      -
                            448 ;; Descripcion:
                            449 ;;      -
                            450 ;;
   81B6                     451 sysAIExplosion::
                            452 
   81B6 DD 7E 19      [19]  453     ld a, indAICounter(ix)
   81B9 3D            [ 4]  454     dec a
                            455 
   81BA CA C1 81      [10]  456     jp z, sysAIExplosionDestroy
                            457 
   81BD DD 77 19      [19]  458     ld indAICounter(ix), a
                            459 
   81C0 C9            [10]  460     ret
                            461 
   81C1                     462 sysAIExplosionDestroy:
                            463 
   81C1 CD 1C 71      [17]  464     call manEntityMarkToDestroy
ASxxxx Assembler V02.00 + NoICE + SDCC mods  (Zilog Z80 / Hitachi HD64180), page 19.
Hexadecimal [16-Bits]



   81C4 CD D8 7F      [17]  465     call sysGeneratorPU
                            466 
   81C7 C9            [10]  467 ret
                            468 
                            469 
                            470 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                            471 ;;      sysAIExplosion2
                            472 ;; Requisitos:
                            473 ;;      -
                            474 ;; Return:
                            475 ;;      -
                            476 ;; Descripcion:
                            477 ;;      -
                            478 ;;
   81C8                     479 sysAIExplosion2::
                            480 
   81C8 DD 7E 19      [19]  481     ld a, indAICounter(ix)
   81CB 3D            [ 4]  482     dec a
                            483 
   81CC CA D3 81      [10]  484     jp z, sysAIExplosionDestroy2
                            485 
   81CF DD 77 19      [19]  486     ld indAICounter(ix), a
                            487 
   81D2 C9            [10]  488     ret
                            489 
   81D3                     490 sysAIExplosionDestroy2:
                            491 
   81D3 CD 1C 71      [17]  492     call manEntityMarkToDestroy
                            493 
   81D6 C9            [10]  494 ret
                            495 
                            496 
                            497 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                            498 ;; sysPhysicsUpdate
                            499 ;; Requisitos:
                            500 ;;    -
                            501 ;; Return:
                            502 ;;    -
                            503 ;; Descripcion:
                            504 ;;    Inversion de control para la modificacion de posicion de todas las entidades.
                            505 ;;
   81D7                     506 sysAIUpdate::
                            507 
   81D7 21 96 80      [10]  508     ld hl, #sysAIUpdateOne
   81DA 3E 08         [ 7]  509     ld a, #ETypeAI
   81DC CD 2F 71      [17]  510     call manEntityForAll
                            511 
   81DF C9            [10]  512 ret
                            513 
                            514 
                            515 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                            516 ;; sysAISetAICounter
                            517 ;; Requisitos:
                            518 ;;      a -> New ai counter
                            519 ;; Return:
ASxxxx Assembler V02.00 + NoICE + SDCC mods  (Zilog Z80 / Hitachi HD64180), page 20.
Hexadecimal [16-Bits]



                            520 ;;      -
                            521 ;; Descripcion:
                            522 ;;      -
                            523 ;;
   81E0                     524 sysAISetAICounter::
                            525 
   81E0 32 8A 80      [13]  526     ld (aiCounter), a
                            527 
   81E3 C9            [10]  528 ret
                            529 
                            530 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                            531 ;; sysAISetAICounter
                            532 ;; Requisitos:
                            533 ;;      a -> New ai counter
                            534 ;; Return:
                            535 ;;      -
                            536 ;; Descripcion:
                            537 ;;      -
                            538 ;;
   81E4                     539 sysAISetSpeedAILeft::
                            540 
   81E4 32 89 80      [13]  541     ld (speedAILeft), a
                            542 
   81E7 C9            [10]  543 ret
