log in | register | forums
Show:
Go:
Forums
Username:

Password:

User accounts
Register new account
Forgot password
Forum stats
List of members
Search the forums

Advanced search
Recent discussions
- Updating RPCEmu to 5.28 (News:)
- Asigning and displaying memory on screen. Help please. (Prog:4)
- Messenger Pro hotmail settings (Gen:6)
- Jason Tribbeck talks sound to ROUGOL (News:2)
- Upgrading your RISC OS system to 5.28 (News:4)
- Gerph talks to Rougol online (News:2)
- Free online build service for RISC OS (News:1)
- PiHard 4.0 reviewed (News:2)
- Aemulor (Gen:39)
- Archive October/November edition reviewed (News:)
Related articles
- Games news
- RISC OS - the week in comments; episode 2
- RISC OS - the week in comments
- Wakey Wakey, it's show time again!
- RISC OS on TV take 2
- Rounding Up February
- Faster 1.8GHz RISCube Ultra
- 50,000 shares, Iyonix Select and a Belated Happy Birthday
- The Show *will* go on
- Free stuff!
Latest postings RSS Feeds
RSS 2.0 | 1.0 | 0.9
Atom 0.3
Misc RDF | CDF
Site Search
 
Article archives
The Icon Bar: News and features: RISC OS on x86 - A bad idea?
 

RISC OS on x86 - A bad idea?

Posted by Andrew Duffell on 15:18, 26/8/2005 | , ,
 
Pentium NaullsPeter Naulls has written an informative article on his blog as to why he thinks porting RISC OS to x86 architecture is not impossible, but is "a bad idea".

The article deals with common misconceptions, costs, timescales, and the fact that most of the applications that would benefit from the x86 architecture would have to be run under emulation anyway.

Link: Peter's Article
 

  RISC OS on x86 - A bad idea?
  tribbles (15:41 26/8/2005)
  rich (17:00 26/8/2005)
    sa110_mk (23:11 26/8/2005)
      pnaulls (09:11 27/8/2005)
        tribbles (10:19 27/8/2005)
          Hertzsprung (15:09 27/8/2005)
            andrew (20:25 27/8/2005)
              rpozz (23:23 27/8/2005)
                andrew (12:57 28/8/2005)
                  rpozz (13:14 28/8/2005)
                    Stoppers (13:14 28/8/2005)
                      SimonC (12:34 29/8/2005)
                        andrew (18:41 30/8/2005)
                          Loris (10:43 31/8/2005)
                            adamr (15:50 31/8/2005)
                              SimonC (23:02 1/9/2005)
                                mavhc (13:46 4/9/2005)
                                  Stoppers (18:21 4/9/2005)
                                    mavhc (14:35 5/9/2005)
                                      Stoppers (16:53 5/9/2005)
                                        jess (10:59 10/9/2005)
 
Jason Tribbeck Message #93804, posted by tribbles at 15:41, 26/8/2005
tribbles
Captain Helix

Posts: 929
I did my own extensions for the GCCSDK emulator a long time ago (can't remember what version it was, but it was probably 4 years) that implemented Wimp_Initialise, Wimp_CreateWindow, Wimp_OpenWindow and Wimp_Poll using GTK - just to see what's involved.

It's a lot - just for the one specific window I wanted to open, and ignoring all events being passed into it.

  ^[ Log in to reply ]
 
Richard Goodwin Message #93805, posted by rich at 17:00, 26/8/2005, in reply to message #93804
Rich
Webmaster
The Icon Bar

Posts: 6804
Yeah, we don't want RISC OS running on Intel chips... oh, wait... ;)
  ^[ Log in to reply ]
 
Paul Stewart Message #93806, posted by sa110_mk at 23:11, 26/8/2005, in reply to message #93805
Member
Posts: 144
Anyone remember the old Intel Outside badge someone created for the front of the RPC?
  ^[ Log in to reply ]
 
Peter Naulls Message #93807, posted by pnaulls at 09:11, 27/8/2005, in reply to message #93806
Member
Posts: 317
trib: I agree. But it can be done, and for the most part, it's not too hard - just time consuming. Note that the emulator you refer to is ARMulator, which is older and much slower.

If you wanted to dig up your stuff if you still have it, then we can take a look.

  ^[ Log in to reply ]
 
Jason Tribbeck Message #93808, posted by tribbles at 10:19, 27/8/2005, in reply to message #93807
tribbles
Captain Helix

Posts: 929
Unfortunately, the laptop I was doing it on died a long time ago; since I didn't get very far with it, I didn't make a copy of it before the machine was decomissioned.

I'm also not a GTK programmer, so the code was ... functional at best :)

The idea behind it was to have SWIs emulated using .so/.dll in chunks of 64 (so if you had written your own module in C, you could simply recompile it [assuming you didn't call other SWIs that hadn't been treated] with a different veneer to CMHG/cmunge), so all you needed was a "swi400c0.so" present in the library path to do the WIMP SWIs (for example). The modifications were to the SWI instruction, so it looked for the SWI chunk handler and called that.

Although you'd probably already thought of doing it that way :)

From memory, you could only set the window's size and title. And maybe the background colour. I really didn't get that far with it!

  ^[ Log in to reply ]
 
James Shaw Message #93809, posted by Hertzsprung at 15:09, 27/8/2005, in reply to message #93808
Hertzsprung
Ghost-like

Posts: 1746
That's a nice Pentium4 you've got there. If I didn't know better, I'd have said it was Peter Naulls.
  ^[ Log in to reply ]
 
Andrew Message #93810, posted by andrew at 20:25, 27/8/2005, in reply to message #93809
HandbagHandbag Boi
Posts: 3439
The whole concept has the feel of RISC OS on IBM-compatible PCs. Obviously this is what some people are pressing for.

What is it with some people? Are they of such feeble constitution that they can't bear to speak of having an architecture at home that is different to that of their peers? Be proud or if not that - *pleased* - there is an alternative platform which at least provides a foundation for independent innovation rather than catch-up and total ultimate convergence.

Given that there's a lobby that is constantly pressing for this, I'd say having Peter's blog is pretty crucial.

  ^[ Log in to reply ]
 
Richard Possnett Message #93811, posted by rpozz at 23:23, 27/8/2005, in reply to message #93810
Member
Posts: 2
Just to fan the flames a bit, here's an uninformed counter-argument:

1) RISC OS very badly needs to be modernised with a new back-end. This will require a lot of hard work and almost certainly break a load of software anyway, so it would be the best possible time to change architecture.

2) VRPC performance on a powerful x86 box is comparable to an ARM-based machine, and given that with a new architecture, only some applications (and not the whole OS) would be emulated, there should be some performance improvement. x86 is going multi-core while ARM almost certainly isn't, so the performance gap could very well increase over the next few years.

3) Drivers may not be such a problem if a new RISC OS back-end was to be based on an existing open source kernel (like Mac OS 9 -> Mac OS X), and at the very least it would be possible to look at (for example) Linux drivers in order to get x86 drivers for RISC OS. It's also worth noting that the selection of hardware for RISC OS is currently quite limited, so there would probably be an improvement even with a limited number of drivers.

  ^[ Log in to reply ]
 
Andrew Message #93812, posted by andrew at 12:57, 28/8/2005, in reply to message #93811
HandbagHandbag Boi
Posts: 3439
It's certainly counter, it's hardware convergence. I don't see the benefit - hardware developers would be forced to become box shifters and all the work that has gone into something like RISC OS Firefox would be totally pointless in the end.

As soon as the hardware is comparable to PCs, there'd be no point developing original software and any developers would be absorbed into the PC world or more accurately cease to use any of their spare time developing for RISC OS.

  ^[ Log in to reply ]
 
Richard Possnett Message #93813, posted by rpozz at 13:14, 28/8/2005, in reply to message #93812
Member
Posts: 2
Remember that people use RISC OS computers because they want to run RISC OS, just like people use Apple computers because they want to run OS X. The type of CPU really doesn't make a difference to the end user. As for hardware developers: while RISC OS would end up using the same processor as a regular PC, it doesn't mean that the rest of the hardware would have to be the same. For example, despite having an x86 processor, it could still be run from ROM.

There would still be point in developing original software, because quite simply nobody likes having to dual-boot and use an operating system they don't like (such as Windows) just to perform a particular task. Just look at the amount of work that has gone into Linux to achieve the same functionality as Windows.

Finally, unless a new version of RISC OS included built-in GTK/X Windows support, the work on Firefox wouldn't go to waste.

  ^[ Log in to reply ]
 
Simon Willcocks Message #93814, posted by Stoppers at 13:14, 28/8/2005, in reply to message #93813
Member
Posts: 293
I can't remember anyone suggesting porting the RISC OS code to C with modifications to deal with "standard PC" hardware in an entirely RISC OS way (using RO modules to interface to the hardware, etc.). Does anyone have a reference to such a suggestion?

Of course, debunking that idea is very easy indeed, since it doesn't make any sense. :-)

It makes much more sense to make use of the hundreds, if not thousands, of person-years of effort that has gone into a freely available OS to provide the guts of the operating system and add as many unique selling points of RISC OS (i.e. the GUI, maybe the font manager) as possible to it.

However, this idea (I'm assuming that was what was meant by the header "But it could run on an interface layer and talk to Linux drivers, etc") isn't described in any detail in the blog, nor are any references to such suggestions (and subsequent discussions) made. Describing previous discussion of an idea as "unfortunate hand-waving" to suggest that the idea is without merit doesn't actually seem to me to be a discussion of the problems, at all, much less debunk the idea.

In short, I think the article is short of references and detail and doesn't move any discussion forward, nor reduce any controversy. YMMV.

Andrew: I used to be proud of my Acorn A440/1 and later RiscPC (especially when I added the SA processor, which I'm still using in preference to anything else for day to day stuff). I was proud, not just because they were different, but also because they were equal to or better than the alternatives; there is now no chance of the native hardware catching up with the ever-moving mainstream hardware, and it looks as if Intel are working on removing the low power advantage of ARM processors, as well. If Apple and IBM can't keep up, what chance anyone else?

Simon

  ^[ Log in to reply ]
 
Simon Challands Message #93815, posted by SimonC at 12:34, 29/8/2005, in reply to message #93814
Elite
Right on, Commander!

Posts: 398
There's no point in being different for the sake of being different, even more so if that means that your computer costs more and has less processing power than the one next door. If your happy enough with slower speed computers then that's your decision, but I think most of us can think of areas where more speed would be nice, and others where there are things you just can't do without it. And without it we'll always remain behind.

The answer to that seems to be to dismiss applications as being unimportant, or to say that them going slow is fine, which seems to be a way of burying your head in the sand.

If it was easy to port RISC OS there I'm pretty certain it would've been done a long time ago.

  ^[ Log in to reply ]
 
Andrew Message #93816, posted by andrew at 18:41, 30/8/2005, in reply to message #93815
HandbagHandbag Boi
Posts: 3439
There's *every* point. Consensus and convergence stifles creativity.
  ^[ Log in to reply ]
 
Tony Haines Message #93817, posted by Loris at 10:43, 31/8/2005, in reply to message #93816
madbanHa ha, me mine, mwahahahaha
Posts: 1025
For the last few days the link has displayed the text "bandwidth exceeded", so I've not been able to read it.
A bit of poking around suggests that there is a 250Mb (or more) quota. So either the article is *huge* or there is considerable interest in it.
Peter, could you post your article somewhere else, or let the kon bar (or Drobe) host it?

From the comments here, and what you've said elsewhere, I have inferred that the badness of the idea is that it would be a lot of work for not much speed benefit. Is this correct?

  ^[ Log in to reply ]
 
Adam Message #93818, posted by adamr at 15:50, 31/8/2005, in reply to message #93817
Member
Posts: 112
"I have inferred that the badness of the idea is that it would be a lot of work for not much speed benefit. Is this correct?"

My, layman, understanding of it is that it is even more problematic than that: lots/all/most (dunno which!) software would stop working. Given the current state of the RISC OS market I don't think it could withstand such a decimation of the existing software base. It would be like trying to start a new OS from scratch.

Adam

  ^[ Log in to reply ]
 
Simon Challands Message #93819, posted by SimonC at 23:02, 1/9/2005, in reply to message #93818
Elite
Right on, Commander!

Posts: 398
Difference is fine when each platform has its strengths and weaknesses, but all being different is doing for RISC OS is leaving us with computers that people can't always do what they want on. The strengths of ARM aren't relevent to the machines we're talking about, and most of us from time to time have to use other computers. Sometimes that's for software reasons, which is a different issue, and sometimes for hardware - encoding MP3s to put onto my portable player is far too painful on RO, thanks to the hardware, especially if you want to use something a little nicer than Shine, for example.

Imagine RISC OS had never existed, and you'd come up with this idea for an OS which was much nicer to use than anything else (putting aside the issues where it's out of date) - you might not chose x86 to create it on, but if you wanted it to run on anything other than small handheld devices I'm pretty sure you wouldn't use ARM.

  ^[ Log in to reply ]
 
Mark Scholes Message #93820, posted by mavhc at 13:46, 4/9/2005, in reply to message #93819
Member
Posts: 660
> Difference is fine when each platform has its strengths and weaknesses, but all being different is doing for RISC OS is leaving us with computers that people can't always do what they want on.

Some people anyway.

> The strengths of ARM aren't relevent to the machines we're talking about

There are a class of machines where it's relevent.

> and most of us from time to time have to use other computers. Sometimes that's for software reasons, which is a different issue, and sometimes for hardware - encoding MP3s to put onto my portable player is far too painful on RO

Indeed.

> Imagine RISC OS had never existed, and you'd come up with this idea for an OS which was much nicer to use than anything else (putting aside the issues where it's out of date) - you might not chose x86 to create it on, but if you wanted it to run on anything other than small handheld devices I'm pretty sure you wouldn't use ARM.

You'd make it portable.

Which is why the future of RISC OS is twofold. One: Continue RISC OS on ARM for more portable devices. Two: Recreate the RISC OS experiance on an open source portable OS

  ^[ Log in to reply ]
 
Simon Willcocks Message #93821, posted by Stoppers at 18:21, 4/9/2005, in reply to message #93820
Member
Posts: 293
Recreate the RISC OS experiance on an open source portable OS

I do hope you've thought hard about this issue, and are not simply waving your hands!

The blog seems to be available again, by the way (and this time I've kept a copy).

Simon

  ^[ Log in to reply ]
 
Mark Scholes Message #93822, posted by mavhc at 14:35, 5/9/2005, in reply to message #93821
Member
Posts: 660
> > Recreate the RISC OS experiance on an open source portable OS

> I do hope you've thought hard about this issue, and are not simply waving your hands!

Well, I've thought a bit, you'd need a GUI, toolkit, there's already a BASIC port, command line commands would need to be reimplemented and you'd need a compatible shell. You should call it ROGUE: Risc OS Gui Unix Environment. An advantage is any one of these things would be good, you don't need a finished complete project to use it.

Once you got to that point you could write ROUGE apps, and any RISC OS stuff that was just BASIC or Obey files would run.

It would probably be a good idea to hook an emulator in so native ARM apps would run.

The implementation is left as an exercise to the reader, or you can wait until I know more about unix.

> The blog seems to be available again, by the way (and this time I've kept a copy).

New month, new bandwidth. Next time don't post to OSnews.com :-)

  ^[ Log in to reply ]
 
Simon Willcocks Message #93823, posted by Stoppers at 16:53, 5/9/2005, in reply to message #93822
Member
Posts: 293
ROGUE: Nice name, I was thinking of ROLF (RO Look & Feel), maybe with a bearded face in place of the task icon.

I think Peter's misconception is that people want RO applications running on non-ARM hardware; personally, there are few, if any, RO applications I couldn't do without, but I love the GUI.

All the RO applications I use run very nicely on a StrongARM RPC, and I don't need them to run faster (although I wouldn't complain). New programs, however, I'd like to run like the clappers!

I'd like to do digital video editing with the RO GUI, rip CDs (for personal use), etc. Other people might like to use Firefox and OpenOffice; these already work on Linux (obviously) and if it's too difficult to get them to look ROLF-native, they can still run as X programs.

I'd also like to use the latest (or at least only a few years old) hardware add-ons to do, say, DVB recording from satellite and terrestrial broadcasts, write DVDs, get movies from my camcorder over firewire, and probably other things.

Also, using Linux as a foundation means that the code can run on ARMs, PowerPCs and goodness knows what else as well as x86.

I don't know if anyone else would like that, but that's not really the point, is it?

  ^[ Log in to reply ]
 
jess hampshire Message #93824, posted by jess at 10:59, 10/9/2005, in reply to message #93823
Member
Posts: 20
I think what would be desirable would be a version of Linux with the ROX front end and the RISC OS emulator (supporting a subset of RISC OS SWIs). Maybe even with a cygwin version too.

The user experience when using compatible RO Apps and ROX apps would be like RISC OS, but there would always be the option of using plain linux apps (or even WiNE) if the need arose.

I don't think this would be a replacement for RISC OS, merely an alternative which would likely be of interest to those who have moved to Linux and as a second system for those for whom RISC OS does not provide a comlete answer.

If there were co-ordination between the set of SWIs provided by this and the java RISC OS emulator, it would (eventually) give application writers a much bigger potential audience.

  ^[ Log in to reply ]
 

The Icon Bar: News and features: RISC OS on x86 - A bad idea?