Tide
Posts: 93
Joined: Wed Sep 14, 2011 11:21 am

Re: SWI documentation/info

Sat Feb 09, 2013 4:42 pm

There's also AppBasic for the BASIC coder and
Dr. Wimp C for those preferring C. Both certainly worth a look.

dr_d_gee
Posts: 84
Joined: Fri Jan 04, 2013 1:30 pm

Re: SWI documentation/info

Sat Feb 09, 2013 7:21 pm

Even then, for creating GUI applications *none* of these tools is as easy to use as something like QtCreator. Or Lazarus. Or...
Realy, then I assume that you have never used !WinEd?[/quote]

Like many others I would guess, while I'd heard of RISC OS before I'd never had such a machine—when they were new they were too expensive and, later on, it was obvious that RISC OS was in a state of terminal decline (or so it seemed, until the Pi came along, and gave it another chance).

So I've never heard of !WinEd, whatever it is—and Google doesn't turn up anything relevant either. Linux can be inefficient—maybe Wayland (replacing X) may help, though probably not. Linux and most of its applications have got increasingly bloated; while it is still more efficient than Windows, it used to run on machines with 64MB of memory; now, on the Pi, it's inclined to struggle at times.

But IDEs can be a time-saver, even if they are far from perfect (see Charles Petzold's article "Does Visual Studio rot the mind?" for some particulars of that tool—although some of these features are a VS speciality, as it were): http://www.charlespetzold.com/etc/doesv ... emind.html

And they don't HAVE to be bloated—like other software, they've just got that way over the years. Both Delphi and earlier versions of VC++ ran on much less powerful machines than the Pi.

The fact is that RISC OS needs to attract developers, and that's difficult these days; a manor open source project like the GNOME desktop is apparently down to less than 20, according to one recent article—most of those being funded by Red Hat.

User avatar
DavidS
Posts: 3240
Joined: Thu Dec 15, 2011 6:39 am
Location: USA
Contact: Website

Re: SWI documentation/info

Sat Feb 09, 2013 8:46 pm

dr_d_gee wrote:Like many others I would guess, while I'd heard of RISC OS before I'd never had such a machine—when they were new they were too expensive and, later on, it was obvious that RISC OS was in a state of terminal decline (or so it seemed, until the Pi came along, and gave it another chance).
I can understand this. Thank you for taking the time to use RISC OS, I feel now that the user base is once again increasing that many of the things that are wanted by many and not yet available will finaly begin to get filled in.

Unfortunately for a long time RISC OS was only known in the UK, with very few users elsewhere (like myself, I have been using it since Aurthor OS in the United States of Amarica). Now RISC OS finaly has the opertunity to make its world wide debut as it were, and it seems to be picking up use quite rapidly (there have even been a few significant presentations in California here in the US).

So I've never heard of !WinEd, whatever it is—and Google doesn't turn up anything relevant either. Linux can be inefficient—maybe Wayland (replacing X) may help, though probably not. Linux and most of its applications have got increasingly bloated; while it is still more efficient than Windows, it used to run on machines with 64MB of memory; now, on the Pi, it's inclined to struggle at times.
!WinEd is one of the better known Templte Editors for creating Template files for easily creating Windows and there Icons. In RISC OS the term Icon is used to describe Buttons, Text Feilds, Static Graphics, etc so the usefulness of a Template Editor such as !WinEd or !TemplEd is very helpful. I do not know if any one still uses !TemplED or if it will run on the RPi, though for WinEd see:
http://www.snowstone.org.uk/riscos/realh/index.html
It will be the third item listed.
But IDEs can be a time-saver, even if they are far from perfect (see Charles Petzold's article "Does Visual Studio rot the mind?" for some particulars of that tool—although some of these features are a VS speciality, as it were): http://www.charlespetzold.com/etc/doesv ... emind.html
Yes this is true with most other OSes. As you are new to RISC OS I can understand your view on this. Though I believe that for most of us that have been using RISC OS for some time and are accustomed to the drag and drop (definitely for me) implementations, it is vey intuitive and much more productive than a modern IDE, so there has not been any need for this.

I can understand extending a Text Editor to provide syntax based help on the lnguage beng used and the SWIs, OSBytes, OSWords, etc in order to provide some extra aid in developing aplications (So long as it does not get in the way and can be EASILY dissabled when it is likely to be in the way).
Save power, use fewer cycles total. Assembly Language forever :) .

AMcS
Posts: 184
Joined: Sun Jan 06, 2013 11:23 am
Location: Dublin, Ireland

Re: SWI documentation/info

Sat Feb 09, 2013 9:24 pm

dr_d_gee wrote: Like many others I would guess, while I'd heard of RISC OS before I'd never had such a machine—when they were new they were too expensive and, later on, it was obvious that RISC OS was in a state of terminal decline (or so it seemed, until the Pi came along, and gave it another chance).
Agreed, I really thought RISC OS was destined to a death of a 1,000 cuts - but it now does seem to be bouncing back
dr_d_gee wrote: Linux and most of its applications have got increasingly bloated; while it is still more efficient than Windows, it used to run on machines with 64MB of memory; now, on the Pi, it's inclined to struggle at times.
Which is a real pity, I could always rely on (in the past) being able to put Linux onto a box that wasn't up to the latest Windows and have it doing "something", not now though which is a real pity.
dr_d_gee wrote: But IDEs can be a time-saver, even if they are far from perfect (see Charles Petzold's article "Does Visual Studio rot the mind?" for some particulars of that tool—although some of these features are a VS speciality, as it were): http://www.charlespetzold.com/etc/doesv ... emind.html
Yes IDEs definitely save time - and saved time allows people to get more stuff done.

I use VS 2010 quite a bit and can see nothing wrong with it (at this point I prefer it to Delphi - but both are good) - and I can't say I've seen any "mind rot" set in - though some of my "friends" might disagree :D )
dr_d_gee wrote: The fact is that RISC OS needs to attract developers, and that's difficult these days
That's true, but Raspberry Pi allows RISC OS to reach a larger audience.

Someone who *already* has a Pi just needs to repurpose an SDHC card and install RISC OS to try it out. Seeing RO up on a big 40" screen is a sight - it's crisp and is responsive - if enough people see this it maybe might just get some more developers interested in supporting it. In Linux-land there are few enough unexploited places left - not so in RISC OS. A developer moving to RISC OS has options and space and a chance to make a significant impact more than they might on another platform.

Hopefully that will be sufficient to encourage them to give it a try. When they get there the more conveniences (like an IDE) they find the better.

timrowledge
Posts: 1139
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: SWI documentation/info

Sun Feb 10, 2013 12:22 am

I use the Acorn C/C++ DDE stuff (and have done for a scary 25+ years) and mostly like it. There is, nonetheless an immense amount that could be done to improve things.

A couple of fairly trivial suggestions, just for starters.
a) the compiler puts out a lot of text and uses throwback - but *doesn't damn well throw it all*.
b) the text output window is not cleared or automatically removed when you do another compile, so you too easily get cluttered up

Somebody that wants to be a hero could likely fix both of those quite simply. Make a little applet that combines a text window that shows what the compiler/linker/librarian/objasm/rink/blahblah prints, with a throwback window and perhaps as many as two buttons. One would fire off the makefile (which I guess one would drop on the app) and the other would make coffee. Or perhaps clear the text/throwback windows.

So, to work on a fairly typical C project (yes, there are other languages, but let's keep the discussion focussed for a moment) I would drop my makefile in place (or d-click it I guess?) and fire off the build. Text would appear to let me know how well it is all going until - oh no! - a bug. Click on the throwback line (which now includes linker complaints of course) and the relevant file opens in the right place. Fix the problem, save the file, hit the 'fire' button again.

I'm aware that StrongEd has some stuff that goes some way towards this but I've never yet made it work. And not everyone likes StrongEd (I know, weird, huh).
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

User avatar
MonitorMan
Posts: 22
Joined: Tue Jan 03, 2012 1:31 am
Contact: Website

Re: SWI documentation/info

Sun Feb 10, 2013 8:36 am

Raspberry Pi RISC OS System Programming Book
Thought it might be beneficial at this point to mention I am currently working on a my next book in the “Hands On Guide” series, provisionally titled, “Raspberry Pi RISC OS System Programming.” My aim in this title is not to replace the PRMs (they are still an excellence resource), but to provider a wrapper around them for using RISC OS and provide enough information to make it a lot easier to use the PRMs. To a degree – as much as I can research – this will include additional material that has been updated since the PRMs (filing systems for instance). It will also show how to deal with programming issues that have changed significantly the advent of a full 32-bit ARM and CPSR, interfacing etc.

I would be keen to get feedback from forumites about what people would like to see in the book. I would also been keen to include for any new material that users might be able to contribute. No point in doing the research twice!

What does everyone think? If there is interest then perhaps we can start a new “book thread” and I can include an active contents list regarding what is in and out? I am very keen to continue to promote RISC OS for the RPi and am actively trying to support it with a series of publications, so input and help would be greatly appreciated.
Raspberry Pi Assembly Language now available in book and eBook formats.
For details, go to www.brucesmith.info - examples and programming hints and tips.
Check out the Raspberry Pi Resources page on the website for more information.

Steve Drain
Posts: 87
Joined: Tue Oct 30, 2012 2:08 pm
Location: Exeter UK

Re: SWI documentation/info

Sun Feb 10, 2013 10:32 am

I think it is about time to mention the Style Guide and the User Interface Toolbox (the Toolbox).

The Style guide is ancient now, but it still has a good deal of relevance to how applications should be designed and operate. It is part of the suite of documents available online.

The Toolbox is partway to an IDE, and it is built into to the OS. Its principal tool is the RedEd application, which allows desktop interfaces to be designed and tested before the program code is written. It is object oriented, with classes for various desktop objects and window gadgets, a level of abstraction above the control offered by the raw Wimp SWIs, and returns its own events rather than Wimp events. It is operated by its own SWIs, but there is C support to hide that and in BASIC you can use AppBasic, already mentioned, or my own Basalt module.

Application development can be quick and easy with the Toolbox. :)

AMcS
Posts: 184
Joined: Sun Jan 06, 2013 11:23 am
Location: Dublin, Ireland

Re: SWI documentation/info

Sun Feb 10, 2013 11:30 am

MonitorMan wrote:Raspberry Pi RISC OS System Programming Book
Thought it might be beneficial at this point to mention I am currently working on a my next book in the “Hands On Guide” series, provisionally titled, “Raspberry Pi RISC OS System Programming.”
That's good news Bruce, if there is extensive (and current) information on programming RISC OS available this may encourage former developers to return and we may even see new ones join.
MonitorMan wrote:To a degree – as much as I can research – this will include additional material that has been updated since the PRMs (filing systems for instance). It will also show how to deal with programming issues that have changed significantly the advent of a full 32-bit ARM and CPSR, interfacing etc.
While the latter is important, as people may start joining from "outside" the traditional RISC OS developer community, it may be better to start first with how it's done now (32bit style) and maybe in a separate "boxed off" section then show how it was done in the 26bit variants (at least then previous developers will have the information to update their code - without presenting new developers with it upfront when it may/will have little relevance to them)?

MonitorMan wrote:I would be keen to get feedback from forumites about what people would like to see in the book. I would also been keen to include for any new material that users might be able to contribute. No point in doing the research twice!
May be no harm sounding out people over at ROOL (and on their forum too) as they're actively involved in developing the OS and may be have information us mere mortals don't have access to :D
MonitorMan wrote:What does everyone think? If there is interest then perhaps we can start a new “book thread” and I can include an active contents list regarding what is in and out?
Probably best to start a new thread at this point and then it'll give us all a better idea of the direction your book is going in - and also give you valuable feedback.

Best of luck with your endeavour.

SEDev
Posts: 34
Joined: Thu Aug 02, 2012 10:55 pm

Re: SWI documentation/info

Sun Feb 10, 2013 12:17 pm

DavidS wrote:I can understand extending a Text Editor to provide syntax based help on the lnguage beng used and the SWIs, OSBytes, OSWords, etc in order to provide some extra aid in developing aplications
There's no real need to extend an editor for that, just use StrongHelp. Most modes in Zap/StrongED already provide help for SWIs, just place the cursor in the SWI name and press c-H (Zap) or F1 (StrongED). This will bring up a StrongHelp page describing the SWI, assuming the right manuals are installed.
timrowledge wrote:A couple of fairly trivial suggestions, just for starters.
a) the compiler puts out a lot of text and uses throwback - but *doesn't damn well throw it all*.
b) the text output window is not cleared or automatically removed when you do another compile, so you too easily get cluttered up
A compiler (or any other tool that uses throwback) will only throw those things that can be led back to a filename + linenumber. Anything else would be useless.

The throwback window itself is owned by the throwback server (usually your editor) and it's up to that how new throwback sessions are handled. StrongED for example uses either one window for all or a new window for each session.
timrowledge wrote:I'm aware that StrongEd has some stuff that goes some way towards this but I've never yet made it work. And not everyone likes StrongEd (I know, weird, huh).
Well, if you need any help getting StrongED stuff to work then by all means ask.
As for folks not liking StrongED, yeah that a weird one as it's the only editor that's still being actively developped.
Steve Drain wrote:Application development can be quick and easy with the Toolbox.
I'd very much like to re-iterate Steve's point. Using the Toolbox with AppBasic/Basalt is probably the quickest way to create a user interface and allows you to focus on the business end of your application. StrongED even provides autocompletion for AppBasic calls.

NigelJK
Posts: 65
Joined: Wed Sep 05, 2012 1:44 pm

Re: SWI documentation/info

Mon Feb 11, 2013 3:42 pm

I've now managed to get my 'shelved' project working on my Pi. It's an IDE similar to those you find on other platforms. There are some differences as originally it was intended to augment what was already present and supplied by Acorn, such as the template editor. As such these items are not integrated.
So in practice what you do is create a template file, drop it on !Ads (A development system), and this then allows you to open the windows and click on objects in the window and create code behind it (a la VB etc). Then when you're ready you can click the build button and it stitches it all together and writes out the wimp_poll loop.

Before you get all excited there is still some work to be done before it's usable in the wider community (for instance it needs a GUI for the menu generator - currently top of my ToDo list).

I'm now in a quandary however, having got it this far I'm a bit reluctant to just release it into the wild and hope for the best. If I were to release it as open source I'd feel I was losing some control at a critical time. However, if I hang on to it I don't get a great deal of time to spend in it, as currently I'm a full time developer at work and I'm working on a different, commercially viable, application in what I laughingly call my 'free time'.

Any thoughts?

timrowledge
Posts: 1139
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: SWI documentation/info

Mon Feb 11, 2013 9:02 pm

Open source does *not* mean you have to lose control. It simply means you make the source available under a license that allows someone else to run with it and make their own version(s). It doesn't even prevent you from making a packaged up version and selling it, or selling support.
Typically open source projects that interest people result in an ad hoc community forming that tries to offer support, ideas, bug-fixes etc.
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

microbitsuk
Posts: 33
Joined: Fri Sep 09, 2011 10:04 am
Location: Perth WA
Contact: Website

Re: SWI documentation/info

Tue Feb 12, 2013 8:19 am

Sometime you have to just let your babies stand on the own

NigelJK
Posts: 65
Joined: Wed Sep 05, 2012 1:44 pm

Re: SWI documentation/info

Tue Feb 12, 2013 2:29 pm

I was leaning this way, how do you go about setting it up?

timrowledge
Posts: 1139
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: SWI documentation/info

Tue Feb 12, 2013 7:24 pm

One plausible place is http://www.riscos.info/index.php/Source ... s_overview where they appear to offer a Subversion repository for your code with a RISC OS accent. Another good place might be www.sourceforge.net
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

Markodius
Posts: 134
Joined: Fri Jan 04, 2013 11:14 pm

Re: SWI documentation/info

Tue Feb 12, 2013 9:30 pm

Of the pro's..

Technical support is a key issue to creating stable soft wares. It's great to have a forum where that support is forthcoming and not constantly changing as other OS's seem to. It's like sitting down for a chat with Angela Rippon after sharing a cell with Sid Vicious. One slight drawback may be that the amount of technical support given can be bewildering, or at too low a level to be readily assimilated - but - what a wonderful drawback! Like many I could not afford a RISC machine when they were launched but it's great to finally get my hands on one (that fits in my jacket pocket!). I remember the time they appeared though and I salivated over them. I worked in broking at the time and our IT grand poobah asked me what machines I would like to see as part of the modernisation. I readily replied Acorn's and gave him a breakdown on why they were 'the' machine to get. Then he told me 'shame - we're getting PC's' and what a pile of platysaurus poop they were. Power supplies constantly blinking out. General protection errors by the cartload and no competent programming language onboard (unless you count DOS batch (which I don't count) and MSQB which was the best of a poor bunch). It's great to see RiscOS returning.

Whoops! Posted in the wrong topic. Curse my dithering wits.
“In the modern age, to call a man unelectable means he cannot be bought”

timrowledge
Posts: 1139
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: SWI documentation/info

Wed Feb 13, 2013 2:13 am

General protection errors by the cartload
Just who is this General Protection Error and why is he reading my disk?
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

User avatar
Burngate
Posts: 5474
Joined: Thu Sep 29, 2011 4:34 pm
Location: Berkshire UK
Contact: Website

Re: SWI documentation/info

Wed Feb 13, 2013 11:17 am

timrowledge wrote:... who is this General Protection Error ...
Kernel Bogey's brother?

Markodius
Posts: 134
Joined: Fri Jan 04, 2013 11:14 pm

Re: SWI documentation/info

Wed Feb 13, 2013 10:15 pm

General protection error was a bucket term for otherwise undefined errors - although it's so long ago that i might well be using the wrong term. Yes GPF rings a bell so fault rather than error. Blummin' irritating he was.
“In the modern age, to call a man unelectable means he cannot be bought”

Markodius
Posts: 134
Joined: Fri Jan 04, 2013 11:14 pm

Re: SWI documentation/info

Thu Feb 14, 2013 7:50 pm

Are there Stronghelp compatible versions of the PRM's?
“In the modern age, to call a man unelectable means he cannot be bought”

SEDev
Posts: 34
Joined: Thu Aug 02, 2012 10:55 pm

Re: SWI documentation/info

Thu Feb 14, 2013 8:39 pm

Markodius wrote:Are there Stronghelp compatible versions of the PRM's?
There are StrongHelp manuals that are similar to the PRMs that describe the APIs. They don't contain the background information that is in the PRMs, but they're a great, and quick, reference once you know the background stuff. See my earlier reply in this thread on how to use them from Zap/StrongED.

You can find them here: http://www.riscos.info/downloads/stronghelp/manuals/

I'd certainly recommend getting the OS and Wimp manuals first and then adding others as required. Being able to quickly check what parameters a SWI takes, is invaluable and often there are useful notes on usage as well.

Markodius
Posts: 134
Joined: Fri Jan 04, 2013 11:14 pm

Re: SWI documentation/info

Thu Feb 14, 2013 9:00 pm

Ooh! Treasure! :) Thanks SEDev!
“In the modern age, to call a man unelectable means he cannot be bought”

Return to “RISCOS”