RISC OS Open
Safeguarding the past, present and future of RISC OS for everyone
ROOL
Home | News | Downloads | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account
Forums → Announcements →

Tabs gadget now open source

Subscribe to Tabs gadget now open source 9 posts, 3 voices

 
Jan 21, 2022 11:34am
Avatar Rik Griffin (98) 264 posts

Hi all,

My plan is to release as open source some old RISC OS software which I no longer have the time to maintain myself.

To start with I’ve put the source code for the Tabs Toolbox gadget onto github here: https://github.com/rikgriffin/TabsGadget

This is my first time with github, I may have messed it up, please let me know if I have!

To compile the source you’ll need a couple of utility programs which I’ll upload ASAP, or I’m sure industrious people can work around it.

The code is released under a BSD style licence, which basically says “do what you want but acknowledge me as the original author”. If someone decides to incorporate this code into the ROOL source tree, or any other RISC OS distro, that’s cool with me. I’m posting here because I have an account on these forums, not intending to show any favouritism towards one or another branch of RISC OS.

 
Jan 21, 2022 2:43pm
Avatar Paolo Fabio Zaino (28) 1415 posts

@ Rik,

Great job sir, I was trying to contact you to see if it was possible to release the code as Open Source, I am using it in my PowerFiler and would like to have everything open sourced (to make sure people can keep maintaining the whole thing even if I get bored of working on it).

Thank you very much :)

 
Jan 21, 2022 3:44pm
Avatar David Pitt (3386) 1248 posts

A build shows there are two missing files that were dependencies outside the main source.

Norcroft RISC OS Arm C vsn 5.88 [27 Oct 2021]
cmhg -32bit -p -d h.Header cmhg.Header o.Header
"cmhg.Header", line 3: Serious error: #include file "Rikslib:Services.h" wouldn't open
cmhg.Header: 0 warnings, 0 errors, 1 serious error
AMU: *** exit (1) ***

There is a further RiksLib:Services.h include in c.Main.

It is just that one file from RiksLib that is needed.

However also in c.Main is an include for C:RMEnsure.h

Update A copy of RiksLib was found on RiscWorld CD inside Popcorn. That’s Services.h found.

Update2 That old file was insufficient. A file of Service calls is in the DDE, AcornC/C++.Export.APCS-32.C.Global.h.Services, except that is missing Service_RedrawingWindow

Update3 Found it, use Verma to look at the built module.

#define Service_RedrawingWindow                  (0x44EC6)
 
Jan 21, 2022 5:15pm
Avatar Rik Griffin (98) 264 posts

Thanks for the testing!

My intention is to update the sources I upload to github so that they will build without special dependencies like that.

As you might guess, “RiksLib” is a personal collection of all sorts of crap I’ve thrown together over the years, any released version will be way out of date. I had forgotten about Popcorn!

“rmensure.h” is part of “glib” which as far as I remember, was something Acorn released to help people write Toolbox modules. I assumed it was still available as part of the ROOL source. The source files of the copy I have list the authors as “IDJ” and “rlougher”, no copyright notices. Not sure if I have the right to upload that.

 
Jan 22, 2022 10:44am
Avatar David Pitt (3386) 1248 posts

“rmensure.h” is part of “glib” which as far as I remember, was something Acorn released to help people write Toolbox modules.

There is no “glib” entity now but glib.h and rmensure.h files are in ROOL’s Builder environment, but not in the DDE.

 
Jan 24, 2022 10:17am
Avatar Rik Griffin (98) 264 posts

I’ve just updated the code on github, hopefully the new version will build without needing external stuff.

The dependencies on “glib” have been removed – I’ve included the files from the RISC OS source in Tabs – they are Apache licensed so I think this is OK. This means you don’t have to have the RISC OS sources installed to be able to build Tabs.

Ideally someone will do a proper job on this but this quick fix should allow the module to be built.

 
Jan 24, 2022 12:21pm
Avatar David Pitt (3386) 1248 posts

There is still a Rikslib: include in cmhg.Header

Apart from that it does build with the DDE.

Many thanks.

 
Jan 24, 2022 5:46pm
Avatar David Pitt (3386) 1248 posts

There is one further small issue. Three service call defines have been added to c.Main, these would be better in h.Version as they are required for cmhg.Header.

It is now also building using the shared MakeFiles.

Ideally someone will do a proper job on this but this quick fix should allow the module to be built.

Someone proper would be good. The “quick fix” is complete source so good to go.

 
Jan 25, 2022 8:07am
Avatar Rik Griffin (98) 264 posts

Another day, another commit.

Thanks David for pointing out the mistakes, I’ve uploaded another version which should really get rid of those external dependencies.

I’ve also added “bin2c” to the Utilities repo, and reinstated Tabs’ use of it during the build. This utility is used to create “Sprites.c”, which is just a sprite file packaged up as a C array.

Reply

To post replies, please first log in.

Forums → Announcements →

Search forums

Social

Follow us on and

ROOL Store

Buy RISC OS Open merchandise here, including SD cards for Raspberry Pi and more.

Donate! Why?

Help ROOL make things happen – please consider donating!

RISC OS IPR

RISC OS is an Open Source operating system owned by RISC OS Developments Ltd and licensed primarily under the Apache 2.0 license.

Description

Announce and discuss new hardware and software releases.

Voices

  • Rik Griffin (98)
  • Paolo Fabio Zaino (28)
  • David Pitt (3386)

Options

  • Forums
  • Login
Site design © RISC OS Open Limited 2018 except where indicated
The RISC OS Open Beast theme is based on Beast's default layout

Valid XHTML 1.0  |  Valid CSS

Powered by Beast © 2006 Josh Goebel and Rick Olson
This site runs on Rails

Hosted by Arachsys