Commit 1432808a authored by Mike Stephens's avatar Mike Stephens
Browse files

mjs macros switch on HAL for calling video code in HAL/pseudo HAL cases...

mjs macros switch on HAL for calling video code in HAL/pseudo HAL cases vduhint code even more almost ready to move to HAL

Version 5.35, 4.79.2.6. Tagged as 'Kernel-5_35-4_79_2_6'
parent a18a8de5
master Cortex Customer_M_Demo HAL RISC_OS-5_26 RISC_OS-5_28 RISC_OS-5_30 RPi SMP alees_Kernel_dev alees_Kernel_dev_bp SMP_bp RPi_merge RPi_bp RO_5_07 Kernel-6_70 Kernel-6_70-2 Kernel-6_70-1 Kernel-6_69 Kernel-6_68 Kernel-6_67 Kernel-6_67-1 Kernel-6_65 Kernel-6_64 Kernel-6_63 Kernel-6_62 Kernel-6_61 Kernel-6_60 Kernel-6_59 Kernel-6_58 Kernel-6_57 Kernel-6_56 Kernel-6_55 Kernel-6_54 Kernel-6_53 Kernel-6_52 Kernel-6_51 Kernel-6_50 Kernel-6_49 Kernel-6_48 Kernel-6_47 Kernel-6_46 Kernel-6_45 Kernel-6_44 Kernel-6_43 Kernel-6_43-3 Kernel-6_43-2 Kernel-6_43-1 Kernel-6_42 Kernel-6_41 Kernel-6_40 Kernel-6_39 Kernel-6_38 Kernel-6_37 Kernel-6_36 Kernel-6_35 Kernel-6_34 Kernel-6_33 Kernel-6_32 Kernel-6_31 Kernel-6_30 Kernel-6_29 Kernel-6_28 Kernel-6_27 Kernel-6_26 Kernel-6_25 Kernel-6_24 Kernel-6_23 Kernel-6_22 Kernel-6_21 Kernel-6_20 Kernel-6_19 Kernel-6_18 Kernel-6_17 Kernel-6_16 Kernel-6_15 Kernel-6_14 Kernel-6_13 Kernel-6_12 Kernel-6_11 Kernel-6_10 Kernel-6_09 Kernel-6_08 Kernel-6_08-4_129_2_10 Kernel-6_08-4_129_2_9 Kernel-6_07 Kernel-6_06 Kernel-6_05 Kernel-6_05-4_129_2_8 Kernel-6_04 Kernel-6_03 Kernel-6_02 Kernel-6_01 Kernel-6_01-3 Kernel-6_01-2 Kernel-6_01-1 Kernel-6_00 Kernel-5_99 Kernel-5_98 Kernel-5_97 Kernel-5_97-4_129_2_7 Kernel-5_96 Kernel-5_95 Kernel-5_94 Kernel-5_93 Kernel-5_92 Kernel-5_91 Kernel-5_90 Kernel-5_89 Kernel-5_89-4_129_2_6 Kernel-5_88 Kernel-5_88-4_129_2_5 Kernel-5_88-4_129_2_4 Kernel-5_87 Kernel-5_86 Kernel-5_86-4_129_2_3 Kernel-5_86-4_129_2_2 Kernel-5_86-4_129_2_1 Kernel-5_85 Kernel-5_84 Kernel-5_83 Kernel-5_82 Kernel-5_81 Kernel-5_80 Kernel-5_79 Kernel-5_78 Kernel-5_77 Kernel-5_76 Kernel-5_75 Kernel-5_74 Kernel-5_73 Kernel-5_72 Kernel-5_71 Kernel-5_70 Kernel-5_69 Kernel-5_68 Kernel-5_67 Kernel-5_66 Kernel-5_65 Kernel-5_64 Kernel-5_63 Kernel-5_62 Kernel-5_61 Kernel-5_60 Kernel-5_59 Kernel-5_58 Kernel-5_57 Kernel-5_56 Kernel-5_55 Kernel-5_54 Kernel-5_54-1 Kernel-5_53 Kernel-5_52 Kernel-5_51 Kernel-5_50 Kernel-5_49 Kernel-5_48 Kernel-5_35-4_79_2_327 Kernel-5_35-4_79_2_326 Kernel-5_35-4_79_2_325 Kernel-5_35-4_79_2_324 Kernel-5_35-4_79_2_323 Kernel-5_35-4_79_2_322 Kernel-5_35-4_79_2_321 Kernel-5_35-4_79_2_320 Kernel-5_35-4_79_2_319 Kernel-5_35-4_79_2_318 Kernel-5_35-4_79_2_317 Kernel-5_35-4_79_2_316 Kernel-5_35-4_79_2_315 Kernel-5_35-4_79_2_314 Kernel-5_35-4_79_2_313 Kernel-5_35-4_79_2_312 Kernel-5_35-4_79_2_311 Kernel-5_35-4_79_2_310 Kernel-5_35-4_79_2_309 Kernel-5_35-4_79_2_308 Kernel-5_35-4_79_2_307 Kernel-5_35-4_79_2_306 Kernel-5_35-4_79_2_305 Kernel-5_35-4_79_2_304 Kernel-5_35-4_79_2_303 Kernel-5_35-4_79_2_302 Kernel-5_35-4_79_2_301 Kernel-5_35-4_79_2_300 Kernel-5_35-4_79_2_299 Kernel-5_35-4_79_2_298 Kernel-5_35-4_79_2_297 Kernel-5_35-4_79_2_296 Kernel-5_35-4_79_2_295 Kernel-5_35-4_79_2_294 Kernel-5_35-4_79_2_293 Kernel-5_35-4_79_2_292 Kernel-5_35-4_79_2_291 Kernel-5_35-4_79_2_290 Kernel-5_35-4_79_2_289 Kernel-5_35-4_79_2_288 Kernel-5_35-4_79_2_287 Kernel-5_35-4_79_2_286 Kernel-5_35-4_79_2_285 Kernel-5_35-4_79_2_284 Kernel-5_35-4_79_2_283 Kernel-5_35-4_79_2_282 Kernel-5_35-4_79_2_281 Kernel-5_35-4_79_2_280 Kernel-5_35-4_79_2_279 Kernel-5_35-4_79_2_278 Kernel-5_35-4_79_2_277 Kernel-5_35-4_79_2_276 Kernel-5_35-4_79_2_275 Kernel-5_35-4_79_2_274 Kernel-5_35-4_79_2_273 Kernel-5_35-4_79_2_272 Kernel-5_35-4_79_2_271 Kernel-5_35-4_79_2_270 Kernel-5_35-4_79_2_269 Kernel-5_35-4_79_2_268 Kernel-5_35-4_79_2_267 Kernel-5_35-4_79_2_266 Kernel-5_35-4_79_2_265 Kernel-5_35-4_79_2_264 Kernel-5_35-4_79_2_263 Kernel-5_35-4_79_2_262 Kernel-5_35-4_79_2_261 Kernel-5_35-4_79_2_260 Kernel-5_35-4_79_2_259 Kernel-5_35-4_79_2_258 Kernel-5_35-4_79_2_257 Kernel-5_35-4_79_2_256 Kernel-5_35-4_79_2_255 Kernel-5_35-4_79_2_254 Kernel-5_35-4_79_2_253 Kernel-5_35-4_79_2_252 Kernel-5_35-4_79_2_251 Kernel-5_35-4_79_2_250 Kernel-5_35-4_79_2_249 Kernel-5_35-4_79_2_248 Kernel-5_35-4_79_2_247 Kernel-5_35-4_79_2_246 Kernel-5_35-4_79_2_245 Kernel-5_35-4_79_2_244 Kernel-5_35-4_79_2_243 Kernel-5_35-4_79_2_242 Kernel-5_35-4_79_2_241 Kernel-5_35-4_79_2_240 Kernel-5_35-4_79_2_239 Kernel-5_35-4_79_2_238 Kernel-5_35-4_79_2_237 Kernel-5_35-4_79_2_236 Kernel-5_35-4_79_2_235 Kernel-5_35-4_79_2_234 Kernel-5_35-4_79_2_233 Kernel-5_35-4_79_2_232 Kernel-5_35-4_79_2_231 Kernel-5_35-4_79_2_230 Kernel-5_35-4_79_2_229 Kernel-5_35-4_79_2_228 Kernel-5_35-4_79_2_227 Kernel-5_35-4_79_2_226 Kernel-5_35-4_79_2_225 Kernel-5_35-4_79_2_224 Kernel-5_35-4_79_2_223 Kernel-5_35-4_79_2_222 Kernel-5_35-4_79_2_221 Kernel-5_35-4_79_2_220 Kernel-5_35-4_79_2_219 Kernel-5_35-4_79_2_218 Kernel-5_35-4_79_2_217 Kernel-5_35-4_79_2_216 Kernel-5_35-4_79_2_215 Kernel-5_35-4_79_2_214 Kernel-5_35-4_79_2_213 Kernel-5_35-4_79_2_212 Kernel-5_35-4_79_2_211 Kernel-5_35-4_79_2_210 Kernel-5_35-4_79_2_209 Kernel-5_35-4_79_2_208 Kernel-5_35-4_79_2_207 Kernel-5_35-4_79_2_206 Kernel-5_35-4_79_2_205 Kernel-5_35-4_79_2_204 Kernel-5_35-4_79_2_203 Kernel-5_35-4_79_2_202 Kernel-5_35-4_79_2_201 Kernel-5_35-4_79_2_200 Kernel-5_35-4_79_2_199 Kernel-5_35-4_79_2_198 Kernel-5_35-4_79_2_197 Kernel-5_35-4_79_2_196 Kernel-5_35-4_79_2_195 Kernel-5_35-4_79_2_194 Kernel-5_35-4_79_2_193 Kernel-5_35-4_79_2_192 Kernel-5_35-4_79_2_191 Kernel-5_35-4_79_2_190 Kernel-5_35-4_79_2_189 Kernel-5_35-4_79_2_188 Kernel-5_35-4_79_2_187 Kernel-5_35-4_79_2_186 Kernel-5_35-4_79_2_185 Kernel-5_35-4_79_2_184 Kernel-5_35-4_79_2_183 Kernel-5_35-4_79_2_182 Kernel-5_35-4_79_2_181 Kernel-5_35-4_79_2_180 Kernel-5_35-4_79_2_179 Kernel-5_35-4_79_2_178 Kernel-5_35-4_79_2_177 Kernel-5_35-4_79_2_176 Kernel-5_35-4_79_2_175 Kernel-5_35-4_79_2_174 Kernel-5_35-4_79_2_173 Kernel-5_35-4_79_2_172 Kernel-5_35-4_79_2_171 Kernel-5_35-4_79_2_170 Kernel-5_35-4_79_2_169 Kernel-5_35-4_79_2_168 Kernel-5_35-4_79_2_167 Kernel-5_35-4_79_2_166 Kernel-5_35-4_79_2_165 Kernel-5_35-4_79_2_164 Kernel-5_35-4_79_2_163 Kernel-5_35-4_79_2_162 Kernel-5_35-4_79_2_161 Kernel-5_35-4_79_2_160 Kernel-5_35-4_79_2_159 Kernel-5_35-4_79_2_158 Kernel-5_35-4_79_2_157 Kernel-5_35-4_79_2_156 Kernel-5_35-4_79_2_155 Kernel-5_35-4_79_2_154 Kernel-5_35-4_79_2_153 Kernel-5_35-4_79_2_152 Kernel-5_35-4_79_2_151 Kernel-5_35-4_79_2_150 Kernel-5_35-4_79_2_149 Kernel-5_35-4_79_2_148 Kernel-5_35-4_79_2_147_2_23 Kernel-5_35-4_79_2_147_2_22 Kernel-5_35-4_79_2_147_2_21 Kernel-5_35-4_79_2_147_2_20 Kernel-5_35-4_79_2_147_2_19 Kernel-5_35-4_79_2_147_2_18 Kernel-5_35-4_79_2_147_2_17 Kernel-5_35-4_79_2_147_2_16 Kernel-5_35-4_79_2_147_2_15 Kernel-5_35-4_79_2_147_2_14 Kernel-5_35-4_79_2_147_2_13 Kernel-5_35-4_79_2_147_2_12 Kernel-5_35-4_79_2_147_2_11 Kernel-5_35-4_79_2_147_2_10 Kernel-5_35-4_79_2_147_2_9 Kernel-5_35-4_79_2_147_2_8 Kernel-5_35-4_79_2_147_2_7 Kernel-5_35-4_79_2_147_2_6 Kernel-5_35-4_79_2_147_2_5 Kernel-5_35-4_79_2_147_2_4 Kernel-5_35-4_79_2_147_2_3 Kernel-5_35-4_79_2_147_2_2 Kernel-5_35-4_79_2_147_2_1 Kernel-5_35-4_79_2_147 Kernel-5_35-4_79_2_146 Kernel-5_35-4_79_2_145 Kernel-5_35-4_79_2_144 Kernel-5_35-4_79_2_143 Kernel-5_35-4_79_2_142 Kernel-5_35-4_79_2_141 Kernel-5_35-4_79_2_140 Kernel-5_35-4_79_2_139 Kernel-5_35-4_79_2_138 Kernel-5_35-4_79_2_137 Kernel-5_35-4_79_2_136 Kernel-5_35-4_79_2_135 Kernel-5_35-4_79_2_134 Kernel-5_35-4_79_2_133 Kernel-5_35-4_79_2_132 Kernel-5_35-4_79_2_131 Kernel-5_35-4_79_2_130 Kernel-5_35-4_79_2_129 Kernel-5_35-4_79_2_128 Kernel-5_35-4_79_2_127 Kernel-5_35-4_79_2_126 Kernel-5_35-4_79_2_125 Kernel-5_35-4_79_2_124 Kernel-5_35-4_79_2_123 Kernel-5_35-4_79_2_122 Kernel-5_35-4_79_2_121 Kernel-5_35-4_79_2_120 Kernel-5_35-4_79_2_119 Kernel-5_35-4_79_2_118 Kernel-5_35-4_79_2_117 Kernel-5_35-4_79_2_116 Kernel-5_35-4_79_2_115 Kernel-5_35-4_79_2_114 Kernel-5_35-4_79_2_113 Kernel-5_35-4_79_2_112 Kernel-5_35-4_79_2_111 Kernel-5_35-4_79_2_110 Kernel-5_35-4_79_2_109 Kernel-5_35-4_79_2_108 Kernel-5_35-4_79_2_107 Kernel-5_35-4_79_2_106 Kernel-5_35-4_79_2_105 Kernel-5_35-4_79_2_104 Kernel-5_35-4_79_2_103 Kernel-5_35-4_79_2_102 Kernel-5_35-4_79_2_101 Kernel-5_35-4_79_2_100 Kernel-5_35-4_79_2_99 Kernel-5_35-4_79_2_98_2_54 Kernel-5_35-4_79_2_98_2_53 Kernel-5_35-4_79_2_98_2_52_2_1 Kernel-5_35-4_79_2_98_2_52 Kernel-5_35-4_79_2_98_2_51 Kernel-5_35-4_79_2_98_2_50 Kernel-5_35-4_79_2_98_2_49 Kernel-5_35-4_79_2_98_2_48 Kernel-5_35-4_79_2_98_2_47 Kernel-5_35-4_79_2_98_2_46 Kernel-5_35-4_79_2_98_2_45 Kernel-5_35-4_79_2_98_2_44 Kernel-5_35-4_79_2_98_2_43 Kernel-5_35-4_79_2_98_2_42 Kernel-5_35-4_79_2_98_2_41 Kernel-5_35-4_79_2_98_2_40 Kernel-5_35-4_79_2_98_2_39 Kernel-5_35-4_79_2_98_2_38 Kernel-5_35-4_79_2_98_2_37 Kernel-5_35-4_79_2_98_2_36 Kernel-5_35-4_79_2_98_2_35 Kernel-5_35-4_79_2_98_2_34 Kernel-5_35-4_79_2_98_2_33 Kernel-5_35-4_79_2_98_2_32 Kernel-5_35-4_79_2_98_2_31 Kernel-5_35-4_79_2_98_2_30 Kernel-5_35-4_79_2_98_2_29 Kernel-5_35-4_79_2_98_2_28 Kernel-5_35-4_79_2_98_2_27 Kernel-5_35-4_79_2_98_2_26 Kernel-5_35-4_79_2_98_2_25 Kernel-5_35-4_79_2_98_2_24 Kernel-5_35-4_79_2_98_2_23 Kernel-5_35-4_79_2_98_2_22 Kernel-5_35-4_79_2_98_2_21 Kernel-5_35-4_79_2_98_2_20 Kernel-5_35-4_79_2_98_2_19 Kernel-5_35-4_79_2_98_2_18 Kernel-5_35-4_79_2_98_2_17 Kernel-5_35-4_79_2_98_2_16 Kernel-5_35-4_79_2_98_2_15 Kernel-5_35-4_79_2_98_2_14 Kernel-5_35-4_79_2_98_2_13 Kernel-5_35-4_79_2_98_2_12 Kernel-5_35-4_79_2_98_2_11 Kernel-5_35-4_79_2_98_2_10 Kernel-5_35-4_79_2_98_2_9 Kernel-5_35-4_79_2_98_2_8 Kernel-5_35-4_79_2_98_2_7 Kernel-5_35-4_79_2_98_2_6 Kernel-5_35-4_79_2_98_2_5 Kernel-5_35-4_79_2_98_2_4 Kernel-5_35-4_79_2_98_2_3 Kernel-5_35-4_79_2_98_2_2 Kernel-5_35-4_79_2_98_2_1 Kernel-5_35-4_79_2_98 Kernel-5_35-4_79_2_97 Kernel-5_35-4_79_2_96 Kernel-5_35-4_79_2_95 Kernel-5_35-4_79_2_94 Kernel-5_35-4_79_2_93 Kernel-5_35-4_79_2_92 Kernel-5_35-4_79_2_91 Kernel-5_35-4_79_2_90 Kernel-5_35-4_79_2_89 Kernel-5_35-4_79_2_88 Kernel-5_35-4_79_2_87 Kernel-5_35-4_79_2_86 Kernel-5_35-4_79_2_85 Kernel-5_35-4_79_2_84 Kernel-5_35-4_79_2_83 Kernel-5_35-4_79_2_82 Kernel-5_35-4_79_2_81 Kernel-5_35-4_79_2_80 Kernel-5_35-4_79_2_79 Kernel-5_35-4_79_2_78 Kernel-5_35-4_79_2_77 Kernel-5_35-4_79_2_76 Kernel-5_35-4_79_2_75 Kernel-5_35-4_79_2_74 Kernel-5_35-4_79_2_73 Kernel-5_35-4_79_2_72 Kernel-5_35-4_79_2_71 Kernel-5_35-4_79_2_70 Kernel-5_35-4_79_2_69 Kernel-5_35-4_79_2_68 Kernel-5_35-4_79_2_67 Kernel-5_35-4_79_2_66 Kernel-5_35-4_79_2_65 Kernel-5_35-4_79_2_64 Kernel-5_35-4_79_2_63 Kernel-5_35-4_79_2_62 Kernel-5_35-4_79_2_61 Kernel-5_35-4_79_2_60 Kernel-5_35-4_79_2_59 Kernel-5_35-4_79_2_58 Kernel-5_35-4_79_2_57 Kernel-5_35-4_79_2_56 Kernel-5_35-4_79_2_55 Kernel-5_35-4_79_2_54 Kernel-5_35-4_79_2_53 Kernel-5_35-4_79_2_52 Kernel-5_35-4_79_2_51 Kernel-5_35-4_79_2_50 Kernel-5_35-4_79_2_49 Kernel-5_35-4_79_2_48 Kernel-5_35-4_79_2_47 Kernel-5_35-4_79_2_46 Kernel-5_35-4_79_2_45 Kernel-5_35-4_79_2_44 Kernel-5_35-4_79_2_43 Kernel-5_35-4_79_2_42 Kernel-5_35-4_79_2_41 Kernel-5_35-4_79_2_40 Kernel-5_35-4_79_2_39 Kernel-5_35-4_79_2_38 Kernel-5_35-4_79_2_37 Kernel-5_35-4_79_2_36 Kernel-5_35-4_79_2_35 Kernel-5_35-4_79_2_34 Kernel-5_35-4_79_2_33 Kernel-5_35-4_79_2_32 Kernel-5_35-4_79_2_31 Kernel-5_35-4_79_2_30 Kernel-5_35-4_79_2_29 Kernel-5_35-4_79_2_28 Kernel-5_35-4_79_2_27 Kernel-5_35-4_79_2_26 Kernel-5_35-4_79_2_25_2_2 Kernel-5_35-4_79_2_25_2_1 Kernel-5_35-4_79_2_25 Kernel-5_35-4_79_2_24 Kernel-5_35-4_79_2_23 Kernel-5_35-4_79_2_22 Kernel-5_35-4_79_2_21 Kernel-5_35-4_79_2_20 Kernel-5_35-4_79_2_19 Kernel-5_35-4_79_2_18 Kernel-5_35-4_79_2_17 Kernel-5_35-4_79_2_16 Kernel-5_35-4_79_2_15 Kernel-5_35-4_79_2_14 Kernel-5_35-4_79_2_13 Kernel-5_35-4_79_2_12 Kernel-5_35-4_79_2_11 Kernel-5_35-4_79_2_10 Kernel-5_35-4_79_2_9 Kernel-5_35-4_79_2_8 Kernel-5_35-4_79_2_7 Kernel-5_35-4_79_2_6 HAL_merge Cortex_merge Cortex_bp
No related merge requests found
......@@ -11,10 +11,10 @@
GBLS Module_HelpVersion
Module_MajorVersion SETS "5.35"
Module_Version SETA 535
Module_MinorVersion SETS "4.79.2.5"
Module_MinorVersion SETS "4.79.2.6"
Module_Date SETS "05 Oct 2000"
Module_ApplicationDate2 SETS "05-Oct-00"
Module_ApplicationDate4 SETS "05-Oct-2000"
Module_FullVersion SETS "5.35 (4.79.2.5)"
Module_HelpVersion SETS "5.35 (05 Oct 2000) 4.79.2.5"
Module_FullVersion SETS "5.35 (4.79.2.6)"
Module_HelpVersion SETS "5.35 (05 Oct 2000) 4.79.2.6"
END
......@@ -4,16 +4,16 @@
*
*/
#define Module_MajorVersion_CMHG 5.35
#define Module_MinorVersion_CMHG 4.79.2.5
#define Module_MinorVersion_CMHG 4.79.2.6
#define Module_Date_CMHG 05 Oct 2000
#define Module_MajorVersion "5.35"
#define Module_Version 535
#define Module_MinorVersion "4.79.2.5"
#define Module_MinorVersion "4.79.2.6"
#define Module_Date "05 Oct 2000"
#define Module_ApplicationDate2 "05-Oct-00"
#define Module_ApplicationDate4 "05-Oct-2000"
#define Module_FullVersion "5.35 (4.79.2.5)"
#define Module_HelpVersion "5.35 (05 Oct 2000) (4.79.2.5)"
#define Module_FullVersion "5.35 (4.79.2.6)"
#define Module_HelpVersion "5.35 (05 Oct 2000) (4.79.2.6)"
......@@ -1268,7 +1268,8 @@ ChocolateMSBlocks # 4 ; -> array of blocks for module SWI hash n
! 0, "ChocolateMRBlocks at ":CC::STR:(ChocolateMRBlocks)
! 0, "ChocolateMABlocks at ":CC::STR:(ChocolateMABlocks)
! 0, "ChocolateMSBlocks at ":CC::STR:(ChocolateMSBlocks)
[ {TRUE}
[ :LNOT: HAL
mjs_tempHALworkspace # 4 ; required only temporarily for semi-HALised code still in RO kernel
! 0, "*** mjs_tempHALworkspace should be removed when kernel/HAL split permits"
; !!!! Free Space (36 bytes)
......@@ -1277,6 +1278,7 @@ OldSWIHashspace # 9*4
; !!!! Free Space (40 bytes)
OldSWIHashspace # 10*4
]
|
; !!!! Free Space (64 bytes)
OldSWIHashspace # 16*4
......
......@@ -571,14 +571,8 @@ SSETMEMC ROUT
MOVEQ r0, #1 ; blank (video DMA disable)
MOVNE r0, #0 ; unblank (video DMA enable)
MOV r1, #0 ; no funny business with DPMS
;;;
;;;mjsHAL my temporary macros aren't defined early enough!
;;; mjsAddressHAL
;;; mjsCallHAL HAL_Video_SetBlank
LDR r9, =mjs_tempHALworkspace
LDR r9, [r9]
BL HAL_Video_SetBlank
;;;
mjsAddressHAL
mjsCallHAL HAL_Video_SetBlank
Pull "r0-r3, r9, r14"
WritePSRc SVC_mode+I_bit, r11
......
......@@ -16,6 +16,44 @@
SUBT Arthur Variables
OPT 4
; -----------------------------------------------------------------------------
;
; mjs Oct 2000 kernel/HAL split
;
; macros that can be switched between doing real HAL calls and pseudo
; HAL calls with r9-> mjs pseudo HAL workspace
;
; these have been handy for interim HALising of kernel code in-situ
; (particularly used for video stuff), but can probably disappear later
;
[ HAL
MACRO
mjsAddressHAL
AddressHAL
MEND
MACRO
mjsCallHAL $rout
CallHAL $rout
MEND
|
MACRO
mjsAddressHAL
LDR r9, =mjs_tempHALworkspace
LDR r9, [r9] ; sb -> pseudo HAL workspace
MEND
MACRO
mjsCallHAL $rout
BL $rout
MEND
] ;HAL
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; handy macros:
; +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
......
......@@ -207,14 +207,17 @@ VduInit ROUT
MOV R2, #7 ; copy 7 pages
BL DoResetFont
; mjsHAL - temporary workspace while semi HALised code still in kernel
;
[ :LNOT: HAL
;
; mjsHAL - temporary workspace while semi HALised code still in kernel
;
MOV r3, #mjs_thalwk_size
BL ClaimSysHeapNode ; this had better succeed!
LDR r4, =mjs_tempHALworkspace
STR r2, [r4, #0]
BL mjs_tempHALworkspace_init
;
;
]
;initialise the 6 pointer shape pointers and blocks
;(shape buffers are 6 * &100 starting at CursorData)
......
......@@ -28,7 +28,10 @@
; eventually, vduhint should either have any veneer code/defns or
; should disappear altogether
; temp mjs versions of macros to call HAL routines
; temp mjs versions of macros to call HAL routines are
; defined in s.Kernel
;
; mjsAddressHAL and mjsCallHAL
;
; the HAL calls will be ARM ATPCS compliant (HAL API defined in C)
; for calls from kernel assembler code this means:
......@@ -50,18 +53,16 @@
; temporarily in kernel, but simulate the same register usage
;
;
MACRO
mjsAddressHAL
LDR r9, =mjs_tempHALworkspace
LDR r9, [r9] ; sb -> HAL workspace
MEND
MACRO
mjsCallHAL $rout
; note, real macro will corrupt r12 (ip), but target HAL routine
; can do that anyway
BL $rout
MEND
[ HAL
;;; nothing at all here so far in HAL case!
! 0, "vdu.vduhint compiles as empty in HAL case"
|
;;; non-HAL case, pseudo HAL code
; -----------------------------------------------------------------------------------
......@@ -72,6 +73,8 @@
^ 0
mjs_thalwk_start # 0
VIDC_Address # 4 ; so code doesn't need a compile-time constant if in HAL
IOMD_Address # 4 ; so code doesn't need a compile-time constant if in HAL
VIDC_NextPaletteIndex # 4 ; last index used in setting normal palette entry
VIDC_SoftPalette0 # 4 ; soft copy of BBGGRRSS for normal palette entry 0
; (used to support ReadPaletteEntry)
......@@ -94,6 +97,10 @@ mjs_tempHALworkspace_init ROUT
Push "r0, lr"
LDR r0, =mjs_tempHALworkspace
LDR r0, [r0, #0]
MOV lr, #VIDC
STR lr, [r0, #VIDC_Address]
MOV lr, #IOMD_Base
STR lr, [r0, #IOMD_Address]
MOV lr, #-1
STR lr, [r0, #VIDC_NextPaletteIndex] ; init to invalid
MOV lr, #0
......@@ -444,7 +451,7 @@ FIFOLoadTable
; now make sure video DMA enabled
;
MOV r7, #IOMD_Base
LDR r7, [r9, #IOMD_Address]
LDRB r8, [r7, #IOMD_VIDCR]
AND r8, r8, #&7F ; knock out IOMD_VIDCR_Dup
ORR r8, r8, #IOMD_VIDCR_Enable ; enable video DMA
......@@ -470,7 +477,7 @@ ProgramVIDC20Regs ROUT
MOVNE R4, #CR_Interlace
MOV R7, R0 ; keep copy in R7 in case we go wrong
MOV R3, #VIDC ; R3 -> VIDC20 h/w
LDR R3, [R9, #VIDC_Address] ; R3 -> VIDC20 h/w
18
MOV R1, #(128-PseudoRegisters)*4 ; number of bytes to do (don't program pseudo-registers!)
20
......@@ -567,7 +574,7 @@ ProgramVIDC20Regs ROUT
BIC R8, R8, #&FF000000
SUB R10, R8, R10
ADD R10, R10, #1 ; vidc parms are n-2, we want n-1
MOV R8, #IOMD_Base
LDR R8, [R9, #IOMD_Address]
STRB R10, [R8, #IOMD_FSIZE]
LDR R14, [R9, #VIDC_PointerHAdjust] ; R14 = horiz display start (-18)
......@@ -862,7 +869,7 @@ ComputeModuli Entry "r2-r12", ComputeModuliStack
; index = index of entry (0..255 for normal, 0 for border, 0..3 for pointer)
; note that RISC OS only uses 1..3 for pointer (0 is assumed to be transparent)
;
; r9 is workspace pointer, may corrupt r0..r2, r12
; r9 is workspace pointer, may corrupt r0..r3, r12
;
HAL_Video_WritePaletteEntry ROUT
......@@ -870,7 +877,7 @@ HAL_Video_WritePaletteEntry ROUT
MOV r1, r1, LSR #8 ; 00BBGGRR
ORR r1, r1, r12, LSL #20 ; 0SBBGGRR
MOV r12, #VIDC
LDR r12, [r9, #VIDC_Address]
CMP r0, #1
BLO HV_WritePaletteEntry_type0
......@@ -952,7 +959,7 @@ HAL_Video_WritePaletteEntries ROUT
;
; type 0, try to be efficient
;
MOV r12, #VIDC
LDR r12, [r9, #VIDC_Address]
CMP r2, #0
......@@ -1052,12 +1059,12 @@ HV_ReadPaletteEntry_not_type0
HAL_Video_SetInterlace ROUT
LDR r1, [R9, #VIDC_ControlSoftCopy]
LDR r1, [r9, #VIDC_ControlSoftCopy]
BIC r1, r1, #CR_Interlace
TST r0, #1
ORRNE r1, r1, #CR_Interlace ; zero => no interlace
MOV r0, #VIDC
LDR r0, [r9, #VIDC_Address]
STR r1, [r0] ; program VIDC
MOV pc, lr
......@@ -1077,7 +1084,7 @@ HAL_Video_SetInterlace ROUT
HAL_Video_SetBlank ROUT
MOV r3, #VIDC
LDR r3, [r9, #VIDC_Address]
TEQ r0, #0
BEQ %FT50
......@@ -1092,7 +1099,7 @@ HAL_Video_SetBlank ROUT
LDRNE r2, =VertiSyncWidth + ((1:SHL:13) -1) ; maximum value in v.sync width register
STRNE r2, [r3]
LDR r2, [R9, #VIDC_ExternalSoftCopy]
LDR r2, [r9, #VIDC_ExternalSoftCopy]
AND r1, r1, #3
TEQ r1, #3 ; if both syncs off
BICEQ r2, r2, #Ext_HSYNCbits :OR: Ext_VSYNCbits
......@@ -1100,7 +1107,7 @@ HAL_Video_SetBlank ROUT
BIC r2, r2, #Ext_DACsOn ; turn off the DACs
STR r2, [r3]
MOV r0, #IOMD_Base
LDR r0, [r9, #IOMD_Address]
LDRB r1, [r0, #IOMD_VIDCR]
BIC r1, r1, #IOMD_VIDCR_Enable ; disable video DMA
STRB r1, [r0, #IOMD_VIDCR]
......@@ -1109,18 +1116,18 @@ HAL_Video_SetBlank ROUT
;
; unblanking
;
50 LDR r2, [R9, #VIDC_ExternalSoftCopy]
50 LDR r2, [r9, #VIDC_ExternalSoftCopy]
STR r2, [r3] ; restore DACs and sync type
TST r1, #1 ; if hsyncs were turned off,
LDRNE r2, [R9, #VIDC_HSWRSoftCopy] ; then restore from soft copy
LDRNE r2, [r9, #VIDC_HSWRSoftCopy] ; then restore from soft copy
STRNE r2, [r3]
TST r1, #2 ; if vsyncs were turned off,
LDRNE r2, [R9, #VIDC_VSWRSoftCopy] ; then restore from soft copy
STRNE r2, [r3]
MOV r0, #IOMD_Base
LDR r0, [r9, #IOMD_Address]
LDRB r1, [r0, #IOMD_VIDCR]
ORR r1, r1, #IOMD_VIDCR_Enable ; enable video DMA
STRB r1, [r0, #IOMD_VIDCR]
......@@ -1135,7 +1142,7 @@ HAL_Video_SetBlank ROUT
HAL_Video_SetPowerSave ROUT
MOV r1, #VIDC
LDR r1, [r9, #VIDC_Address]
TEQ r0, #0
BEQ %FT50
......@@ -1230,7 +1237,7 @@ HAL_Video_UpdatePointer
Push "r4, r5, lr"
MOV r14, #VIDC
LDR r14, [r9, #VIDC_Address]
TST r0, #1
BEQ %FT90 ; pointer off
......@@ -1280,7 +1287,7 @@ HAL_Video_UpdatePointer
ORR r1, r2, #VertiCursorEnd
STR r1, [r14]
MOV r14, #IOMD_Base
LDR r14, [r9, #IOMD_Address]
STR r5, [r14, #IOMD_CURSINIT]
Pull "r4, r5, pc"
......@@ -1328,7 +1335,7 @@ HAL_Video_UpdatePointer
HAL_Video_SetDAG ROUT
MOV r12, #IOMD_Base
LDR r12, [r9, #IOMD_Address]
CMP r0, #1
BEQ %FT20
......@@ -1386,4 +1393,6 @@ HAL_Video_VetMode ROUT
; -------------------------------------------------------------------------
] ; big HAL if/else switch around whole file
END
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment