h6. [[Hardware Abstraction Layer]] h6(. » [[Other HAL related documentation|Other documentation]] h6((. » [[OS_Hardware]] h6(((. » OS_Hardware 0 h2. OS_Hardware 0 h5. (SWI &7A) |_<^{width:4em}. Entry | | |<^. R0-R7 |<^. Parameters for hardware routine | |<^. R8 |<^. 0 | |<^. R9 |<^. [[HAL entry points by number|Hardware call number]] | |_<^{width:4em}. Exit | | |<^. R0-R3 |<^. Updated by call | |<^. R4-R9 |<^. Preserved | h4. Use This SWI calls a HAL routine. HAL routines internally are ATPCS, so R0-R3 are passed in as a1-a4, and R4-R7 are pushed on to the stack. The a1-a4 on exit from the routine are passed back in R0-R3. If the HAL routine is not available, an error is returned. Actual HAL routines do not return RISC OS errors - any possible failure will be indicated in a call-specific manner. h4. Notes Error &6C1 (Hardware call not available) is returned if the requested call is unknown by this kernel/HAL version, or is a null entry (Null offset in the HAL entry table). Entries which are present but do nothing (i.e. implemented as 'MOV pc,lr') do not return an error. h4. See also * [[OS_Hardware]] * [[OS_Hardware 1]]