- 29 Apr, 2018 1 commit
-
-
Robert Sprowson authored
The logic to detect if SWP is available relies on being able to write the procecssor vectors, which isn't possible on OS 3.50/3.60 directly. Since anything that ran those OS versions certainly has SWP, just skip the check. Tested on OS 3.60, no longer aborts. Version 0.19. Tagged as 'CallASWI-0_19'
-
- 27 Aug, 2017 1 commit
-
-
Robert Sprowson authored
OS_ConvertVariform 15 outputs 128b numbers per RFC4122. From Kernel-5_88. Version 0.18. Tagged as 'CallASWI-0_18'
-
- 09 Feb, 2017 1 commit
-
-
Robert Sprowson authored
Except on all 26 bit CPUs there's no need, so we just return 0 for compatibility. Version 0.17. Tagged as 'CallASWI-0_17'
-
- 30 Jun, 2016 1 commit
-
-
Robert Sprowson authored
On 26 bit systems this calls SWI OS_ReadLine internally, and thus pushes R14. However, on popping the carry flag isn't transferred for SLVK to give back to the user, so pressing Escape returns with C undefined. After the pop, transfer C into the returned flags. Version 0.16. Tagged as 'CallASWI-0_16'
-
- 28 May, 2016 1 commit
-
-
Jeffrey Lee authored
Detail: s/CallASWI - Copy & paste error led to a key LDR going missing in the pre-RISC OS 3.7 code path of the module init, resulting in incorrect patching of some SWIs. Admin: Tested PlingSystem build under RISC OS 3.1 Version 0.15. Tagged as 'CallASWI-0_15'
-
- 24 May, 2016 1 commit
-
-
Jeffrey Lee authored
Add OS_PlatformFeatures 34 implementation. Fix unknown OS_PlatformFeatures reason codes always raising an error. Detail: s/CPUFeatures - A copy of the kernel's s/CPUFeatures, to provide the OS_PlatformFeatures 34 implementation s/CallASWI: - Adjust OS_PlatformFeatures implementation so that it can be used on all OS versions supported by the module, instead of just pre-3.7 - For 3.8+ allow unknown OS_PlatformFeatures reason codes to be passed on to the OS, otherwise generate our own error (and also fix bug in the error generation that would have resulted in the X bit being ignored, the same bug that was present in the kernel). - Hook up OS_PlatformFeatures 34, and indicate in OS_PlatformFeatures 0 that the error generation bug has been fixed. Admin: Tested on ARM2/250/3 RISC OS 3.1 (emulated) + StrongARM RISC OS 3.7 (native) Requires Kernel-5_35-4_79_2_325 Version 0.14. Tagged as 'CallASWI-0_14'
-
- 26 Apr, 2016 1 commit
-
-
Jeffrey Lee authored
Detail: s/CallASWI - SWP detection rewritten to directly poke a replacement handler into the undefined instruction vector. This avoids: (a) SWP [sp] trashing the error handler pointer (Not an issue for CLib since it used an ascending stack in its SWP detection code) (b) If the SWP aborted, the XOS_EnterOS was corrupting the SVC stack before we're able to restore SP (CLib has the advantage that the SVC stack is empty) (c) A bug in FPEmulator versions 4.12-4.31 which prevents us from using OS_ChangeEnvironment to replace the undefined instruction handler Admin: Tested on RISC OS 3.1 running under ArcEm, ARM2 & ARM250 emulation (Admittedly, after fixing ArcEm's ARM2 emulation to abort on SWP) Version 0.13. Tagged as 'CallASWI-0_13'
-
- 23 Apr, 2016 1 commit
-
-
Robert Sprowson authored
On startup, try a SWP instruction and if it aborts it must be pre ARMv2a, so set CPUFlag_NoSWP in the OS_PlatformFeatures 0 flags. Version 0.12. Tagged as 'CallASWI-0_12'
-
- 14 Oct, 2012 1 commit
-
-
Robert Sprowson authored
The Service_Reset code called OS_Byte without preserving the calling registers so anyone downstream wouldn't see the right service call. Also, don't create a loop on OS_FSControl with an non fatal finalisation by checking the copy of the old caller isn't actually Our_FSControl again. Version 0.11. Tagged as 'CallASWI-0_11'
-
- 24 Apr, 2012 1 commit
-
-
Jeffrey Lee authored
Detail: s/CallASWI - OS_LeaveOS was clearing the bottom four bits of LR, as if it held the 32bit PSR. But on all released 26bit OS versions LR contains the 26bit PSR+return address, so depending on the alignment of the instruction OS_LeaveOS could end up returning to a point several instructions before the SWI, resulting in a crash or infinite loop. Admin: Tested on RISC OS 3.1 Version 0.10. Tagged as 'CallASWI-0_10'
-
- 27 Nov, 2011 4 commits
-
-
Robert Sprowson authored
Version 0.09. Tagged as 'CallASWI-0_09'
-
Robert Sprowson authored
Magic macros. Version 0.08. Tagged as 'CallASWI-0_08'
-
Robert Sprowson authored
Version 0.07. Tagged as 'CallASWI-0_07'
-
Robert Sprowson authored
Version 0.06. Tagged as 'CallASWI-0_06'
-
- 27 May, 2010 1 commit
-
-
Robert Sprowson authored
Mirrors change in Kernel-5_35-4_79_2_99, the non-internationalised error text is used because the ROM messages file wouldn't contain the error text for a SWI that wasn't implemented of course. Version 0.05. Tagged as 'CallASWI-0_05'
-
- 12 Aug, 2005 1 commit
-
-
Steve Revill authored
Detail: There was no LF at the end of the makefile so the first (only) dynamic dependency ended up on the end of the comment line. Admin: No code change. Version 0.04. Tagged as 'CallASWI-0_04'
-
- 20 Dec, 2002 3 commits
-
-
Robert Sprowson authored
Addition of OS_HeapSort32,OS_SubstituteArgs32,OS_ReadLine32,OS_LeaveOS for people with pre RISC OS 5.These get patched in to all pre 5.00 versions whereas the older 4 SWIs only get added if pre 3.70. Tested on 4.02,3.80,3.70 (see test program) Docs updated. Version 0.03. Tagged as 'CallASWI-0_03'
-
Robert Sprowson authored
Version 0.02 02-Oct-2000 Version 0.02. Tagged as 'CallASWI-0_02'
-
Robert Sprowson authored
-