1INCLUDE "config_private.inc" 2 3IF (__CLIB_OPT_UNROLL & 0xc0) 4 SECTION smc_clib 5 SECTION smc_l 6ELSE 7 SECTION code_clib 8 SECTION code_l 9ENDIF 10 11PUBLIC l_outi 12 13IF __SMS 14 15 EXTERN asm_SMSlib_outi_block 16 defc l_outi = asm_SMSlib_outi_block 17 18 ; other outi entries defined in asm_SMSlib_outi_block 19 20ELSE 21 22PUBLIC l_outi_256 23PUBLIC l_outi_128 24PUBLIC l_outi_64 25PUBLIC l_outi_32 26PUBLIC l_outi_16 27PUBLIC l_outi_8 28PUBLIC l_outi_4 29PUBLIC l_outi_2 30PUBLIC l_outi_1 31 32defc l_outi_32 = l_outi_64 + 64 33defc l_outi_16 = l_outi_32 + 32 34defc l_outi_8 = l_outi_16 + 16 35defc l_outi_4 = l_outi_8 + 8 36defc l_outi_2 = l_outi_4 + 4 37defc l_outi_1 = l_outi_2 + 2 38 39l_outi_256: 40 41 call l_outi_128 42 43l_outi_128: 44 45 call l_outi_64 46 47IF (__CLIB_OPT_UNROLL & 0xc0) 48 49 jp l_outi_64 50 51sub_14: 52 53 or a 54 jp z, l_outi_256 55 56 otir 57 ret 58 59PUBLIC l_outi_loop_smc 60 61l_outi_loop_smc: 62 63 ld a,b 64 65 cp 14 66 jp c, sub_14 67 68 add a,a 69 call c, l_outi_128 70 71 add a,a 72 call c, l_outi_64 73 74 ret z 75 76enter_loop: 77 78 xor a 79 sub b 80 and $3f 81 add a,a 82 83 ld (active_jr + 1),a 84 85active_jr: 86 87 jr 0 88 89ENDIF 90 91l_outi_64: 92 93 outi 94 outi 95 outi 96 outi 97 outi 98 outi 99 outi 100 outi 101 102 outi 103 outi 104 outi 105 outi 106 outi 107 outi 108 outi 109 outi 110 111 outi 112 outi 113 outi 114 outi 115 outi 116 outi 117 outi 118 outi 119 120 outi 121 outi 122 outi 123 outi 124 outi 125 outi 126 outi 127 outi 128 129 outi 130 outi 131 outi 132 outi 133 outi 134 outi 135 outi 136 outi 137 138 outi 139 outi 140 outi 141 outi 142 outi 143 outi 144 outi 145 outi 146 147 outi 148 outi 149 outi 150 outi 151 outi 152 outi 153 outi 154 outi 155 156 outi 157 outi 158 outi 159 outi 160 outi 161 outi 162 outi 163 outi 164 165l_outi: 166 167 ret 168 169ENDIF 170