From 81b079e8520d1dd830210f06789effdc26c81251 Mon Sep 17 00:00:00 2001 From: ROOL <code@riscosopen.org> Date: Mon, 24 Feb 2020 17:21:18 +0000 Subject: [PATCH] Record various numbers used in other strands of RISC OS and compatible systems Detail: * various low-numbered dynamic areas used by RISC OS 6 and Pyromaniac * OS_ReadSysInfo 8 host platform classes for VirtualRPC, A9Home, Pyromaniac * OS_Byte 0,<not 0> MosVer values for various systems since the BBC micro * OS_Byte 129,0,255 (BASIC INKEY -256) values for various RISC OS systems Admin: Discovered that these weren't really recorded anywhere during recent allocation request. Some information gleaned from http://beebwiki.mdfs.net Version 6.34. Not tagged --- VersionASM | 6 +++--- VersionNum | 8 ++++---- hdr/OSMem | 14 ++++++++++++++ s/Middle | 3 +++ s/PMF/osbyte | 39 +++++++++++++++++++++++++++++++++++++++ 5 files changed, 63 insertions(+), 7 deletions(-) diff --git a/VersionASM b/VersionASM index e97b93f..63194de 100644 --- a/VersionASM +++ b/VersionASM @@ -12,9 +12,9 @@ Module_MajorVersion SETS "6.34" Module_Version SETA 634 Module_MinorVersion SETS "" -Module_Date SETS "27 Feb 2020" -Module_ApplicationDate SETS "27-Feb-20" +Module_Date SETS "02 Mar 2020" +Module_ApplicationDate SETS "02-Mar-20" Module_ComponentName SETS "Kernel" Module_FullVersion SETS "6.34" -Module_HelpVersion SETS "6.34 (27 Feb 2020)" +Module_HelpVersion SETS "6.34 (02 Mar 2020)" END diff --git a/VersionNum b/VersionNum index 3fdd6f5..4e79423 100644 --- a/VersionNum +++ b/VersionNum @@ -5,17 +5,17 @@ */ #define Module_MajorVersion_CMHG 6.34 #define Module_MinorVersion_CMHG -#define Module_Date_CMHG 27 Feb 2020 +#define Module_Date_CMHG 02 Mar 2020 #define Module_MajorVersion "6.34" #define Module_Version 634 #define Module_MinorVersion "" -#define Module_Date "27 Feb 2020" +#define Module_Date "02 Mar 2020" -#define Module_ApplicationDate "27-Feb-20" +#define Module_ApplicationDate "02-Mar-20" #define Module_ComponentName "Kernel" #define Module_FullVersion "6.34" -#define Module_HelpVersion "6.34 (27 Feb 2020)" +#define Module_HelpVersion "6.34 (02 Mar 2020)" #define Module_LibraryVersionInfo "6:34" diff --git a/hdr/OSMem b/hdr/OSMem index dc97667..913a9a9 100644 --- a/hdr/OSMem +++ b/hdr/OSMem @@ -26,6 +26,20 @@ ChangeDyn_FontArea # 1 ; 4 ChangeDyn_RamFS # 1 ; 5 ChangeDyn_FreePool # 1 ; 6 ChangeDyn_MaxArea # 0 ; For internal use by kernel +ChangeDyn_VRAMRescue # 1 ; 7 RISC OS 6 +ChangeDyn_KernelBuffers # 2 ; 8 RISC OS 6 +ChangeDyn_AbortSVCAndIRQStackCopy # 1 ; 10 RISC OS 6 +ChangeDyn_OperatingSystemROM # 1 ; 11 RISC OS 6 +ChangeDyn_SWIDispatchIRQWorkspace # 1 ; 12 RISC OS 6 +ChangeDyn_SVCStack # 1 ; 13 RISC OS 6 +ChangeDyn_IRQStack # 1 ; 14 RISC OS 6 +ChangeDyn_UNDStack # 1 ; 15 RISC OS 6 +ChangeDyn_Level2PageTables # 1 ; 16 RISC OS 6 +ChangeDyn_SoftCAM # 1 ; 17 RISC OS 6 +ChangeDyn_SystemInit # 1 ; 18 RISC OS 6 + ^ 48 +ChangeDyn_ZeroPage # 1 ; 48 Pyromaniac +ChangeDyn_HighVectors # 1 ; 49 Pyromaniac ReadDyn_ReturnMax * 128 ; OS_ReadDynamicArea flag to return max size of area in R2 (for areas 0 to 127 inclusive; other areas always return max size) ; OS_DynamicArea reason codes diff --git a/s/Middle b/s/Middle index 561593c..f3314f6 100644 --- a/s/Middle +++ b/s/Middle @@ -1618,6 +1618,9 @@ osri6_maxvalue * (.-4-osri6_table) :SHR: 2 ; 3 = Morris+ (currently returned for A7000+ only) ; 4 = Phoebe (currently returned for Risc PC 2 only) ; 5 = HAL (returned for machines running a HAL) +; 6 = VirtualRPC +; 7 = A9Home +; 16 = Pyromaniac ; all other values currently reserved ; r1 = 32 additional platform specifier flags (if defined) ; bits 0..31 = value of flags 0..31 if defined, 0 if undefined diff --git a/s/PMF/osbyte b/s/PMF/osbyte index a017b47..af38b42 100644 --- a/s/PMF/osbyte +++ b/s/PMF/osbyte @@ -231,6 +231,28 @@ TryInternational ; special ones in the middle ; R2 is Preserved +; MosVer values clients might expect to read are as follows: +; (ref: http://beebwiki.mdfs.net/OSBYTE_%2600 ) +; Volume Directory Extension +; Electron 0 \ +; BBC A/B 1 | +; BBC B+ 2 | +; Master 128 3 | :d. . / +; Master ET 4 | +; Master Compact 5 | +; Arthur/RISC OS 6 | +; Springboard 7 / +; Unix 8 \ +; 6809/6309 9 | N/A / . +; Mac OS X 10 / +; 6809/6309 17 :d. . / +; Commodore 64/128 28 \ +; TI calculator 29 | d: N/A . +; Amstrad CPC 30 | +; Sinclair ZX Spectrum 31 / +; DOS/Windows 32 \ d:\ \ . +; 6809/6309 39 / + Osbyte00 ROUT TEQ R1, #0 MOVNE R1, #MosVer @@ -981,6 +1003,23 @@ AdvalPositive ROUT ; ***************************************************************************** ; Perform INKEY operation + +; OSVersionID values clients might expect to read include the following: +; (ref: http://beebwiki.mdfs.net/OSBYTE_%2681 ) +; Arthur 1.20 &A0 +; RISC OS 2.00 &A1 +; RISC OS 2.01 &A2 +; RISC OS 3.0x &A3 +; RISC OS 3.1x &A4 +; RISC OS 3.50 &A5 +; RISC OS 3.60 &A6 +; RISC OS 3.7x &A7 +; RISC OS 4.0x &A8 +; RISC OS 4.3x &A9 +; RISC OS 5.xx &AA +; Pyromaniac &AE +; Springboard &AF + Osbyte81 ROUT TST R2, #&80 ; is it negative inkey ? BEQ %FT10 ; no, then not INKEY-256 -- GitLab