OSLib 6.20 Released

Tom Hughes tom at compton.nu
Sun Dec 17 12:45:40 GMT 2000


In message <58060c2e4a.druck at druck.freeuk.net>
          David J. Ruck <druck at freeuk.com> wrote:

> On 14 Dec 2000 Tony van der Hoff <OSLib at mk-net.demon.co.uk> wrote:
>
> > The latest version OSLib, the all-encompassing type-safe API library for
> > RISC OS is now available at
> >
> > The main changes are:
> >  - The inclusion of a 32-bit compatible version of the library.
>
> I cant beleive you've missed out the new 32bit SharedCLibrary defines!

Attached is a patch to add these new SharedCLibrary SWIs.

I've also attached an OSModule patch to add details of the new
flags word and the 32 bit compatible flag for module headers.

Tom

-- 
Tom Hughes (tom at compton.nu)
http://www.compton.nu/
...Outlaw junk mail, and save the trees!
-------------- next part --------------
Index: OSModule
===================================================================
RCS file: /home/cvs/riscos/oslib/Source/Core/OSModule,v
retrieving revision 1.1.1.1
diff -c -r1.1.1.1 OSModule
*** OSModule	2000/02/14 22:36:10	1.1.1.1
--- OSModule	2000/12/17 12:39:55
***************
*** 16,21 ****
--- 16,22 ----
  CONST OSModule_EntryNameTable   = .Int: 36 "Offset to SWI name table";
  CONST OSModule_EntryNameCode    = .Int: 40 "Offset to SWI name code";
  CONST OSModule_EntryMessageFile = .Int: 44 "Offset to messages file name - RISC O S 3.6+";
+ CONST OSModule_EntryFlagsOffset = .Int: 48 "Offset to flag word(s)";
  
  CONST OSModule_SWIChunkSize = .Int: 64;
  
***************
*** 48,53 ****
--- 49,58 ----
     OSModule_InfoConfiguration = OSModule_InfoFlags: %1000000,
     OSModule_InfoHelp          = OSModule_InfoFlags: %100000,
     OSModule_InfoLookupStrings = OSModule_InfoFlags: %10000 "RISC O S 3.6+";
+ 
+ TYPE OSModule_Flags = .Bits;
+ CONST
+    OSModule_32BitCompatible = OSModule_Flags: %1;
  
  CONST
     //OSModule errors
-------------- next part --------------
Index: SharedCLibrary
===================================================================
RCS file: /home/cvs/riscos/oslib/Source/Core/SharedCLibrary,v
retrieving revision 1.1.1.1
diff -c -r1.1.1.1 SharedCLibrary
*** SharedCLibrary	2000/02/14 22:36:10	1.1.1.1
--- SharedCLibrary	2000/12/17 11:10:27
***************
*** 24,30 ****
     );
  
  SWI SharedCLibrary_LibInitAPCS_R =
!    (  NUMBER 0x80681 "Interfaces an application with the Shared C Library",
        ENTRY
        (  R0 -> SharedCLibrary_StubList: stub_list,
           R1 = .Ref Void: workspace,
--- 24,31 ----
     );
  
  SWI SharedCLibrary_LibInitAPCS_R =
!    (  NUMBER 0x80681 "Interfaces an application using A P C S-R
!             with the Shared C Library",
        ENTRY
        (  R0 -> SharedCLibrary_StubList: stub_list,
           R1 = .Ref Void: workspace,
***************
*** 42,48 ****
     )  );
  
  SWI SharedCLibrary_LibInitModule =
!    (  NUMBER 0x80682 "Interfaces a module with the Shared C Library",
        ENTRY
        (  R0 -> SharedCLibrary_StubList: stub_list,
           R1 = .Ref Void: workspace,
--- 43,88 ----
     )  );
  
  SWI SharedCLibrary_LibInitModule =
!    (  NUMBER 0x80682 "Interfaces a module using A P C S-R
!             with the Shared C Library",
!       ENTRY
!       (  R0 -> SharedCLibrary_StubList: stub_list,
!          R1 = .Ref Void: workspace,
!          R2 = .Ref Void: workspace_limit,
!          R3 = .Ref .Data: clear,
!          R4 -> .Data: static_data,
!          R5 = .Ref .Data: static_data_limit,
!          R6 = .Int: shifted_root_stack_size
!       ),
!       EXIT
!       (  R0?,
!          R1 -> .Data: stack,
!          R2 = .Ref .Data: stack_limit,
!          R6 = .Int: version
!    )  );
! 
! SWI SharedCLibrary_LibInitAPCS_32 =
!    (  NUMBER 0x80683 "Interfaces an application using A P C S-32
!             with the Shared C Library",
!       ENTRY
!       (  R0 -> SharedCLibrary_StubList: stub_list,
!          R1 = .Ref Void: workspace,
!          R2 = .Ref Void: workspace_limit,
!          R3 # -1,
!          R4 # 0,
!          R5 # -1,
!          R6 = .Int: shifted_root_stack_size
!       ),
!       EXIT
!       (  R0?,
!          R1 -> .Data: stack,
!          R2 = .Ref .Data: stack_limit,
!          R6 = .Int: version
!    )  );
! 
! SWI SharedCLibrary_LibInitModuleAPCS_32 =
!    (  NUMBER 0x80684 "Interfaces a module using A P C S-32
!             with the Shared C Library",
        ENTRY
        (  R0 -> SharedCLibrary_StubList: stub_list,
           R1 = .Ref Void: workspace,


More information about the oslib-team mailing list