Bush Internet box IBX-100



This document is graphically intensive.
(it loads 620K of JPEGs; and to fully render requires ~1Mb (Fresco), ~1Mb (Browse, damned fast!), or stupid amounts (Oregano))
(PS: If your Fresco takes 6.5Mb to render this, try altering display.jpeg in the ...!Fresco.Config file to be 3 (it will currently be '2'))




Pace designed an 'Internet box', which was most prolifically marketed by Bush for their Internet service. It is a set-top-box that provides access to the internet via dialup to the predefined service.
It is easy to set up, one cable plugs into the TV, one cable plugs into the phone line, and one cable plugs into a standard mains socket. Switch it on, highlight the 'Connect to Internet' icon, and sign up.

That, basically, is all there is to it.


This document was written from the results of hackery. Basically, I fiddled around with the Bush box. I did not visit any other websites relating to the IBX-100 for assistance, because, dammit, I'm a hacker. I can figure this one out... :-)
I have, since writing this, visited several IBX-100 sources of information and I'm pleased to notice I've not missed anything blindingly obvious. Gnarly.



Getting going...

You plug the unit in, press the yellow Internet icon (with the keyboard closed), and the TV should automatically switch to the unit, showing you the main menu...
The main screen

Highlight the "World Wide Web", option, if it isn't already, press the SELECT button, and you'll be connected...


Once you've connected and registered yourself with Bush, it might be worth looking around the options to see what may be configured to suit your personal tastes.

The options screen


There is no way to save web pages (even with the hidden facility to attach a Zip drive), your only option is to print the pages. Consider this my first gripe...

Setting up your printer

...two Canon printers and a Lexmark? Purleeeease!

Why not something like:

These options would be a lot more useful to most people (my second gripe).
(examining the ROM dump, it suggests that adding additional printers shouldn't be too traumatic provided the printer software can cope and the printer settings are easily accessible...)


Then we reach my third gripe. The web page formatting has three sizes of text, and an option to auto-resize the pages to fit the screen width. Why not, for advanced users, other options such as:

JPEG; 8K   JPEG; 7K   JPEG; 7K
Examples of large, medium, and small text



Going on-line...

This is simple. Choose the "World Wide Web" option from the main screen...

This is where my next gripe comes. It isn't a big thing though. The unit is silent!

As a person who is used to flashing lights for Rx, Tx, CS, TR, CD, AA, and loads of other two-letter acronyms, and also used to burr-bee-bih-burr-bee, followed by a blast of noise, I find the Bush box very disconcerting.
There is NO noise. The only indicators are the status messages (usually Dialling..., Connecting..., Verifying...) and a single red ON LINE indicator!

That said, there is no noise at all. It won't play embedded WAVs or MIDI, nor can it play MP3's. Though it was been said that the RISC OS desktop machine with the same processor fitted is not fast enough to cope with most MP3s, despite the on-board floating point. And, who in their right mind would fetch a 1-2Mb MP3 just to play on a web box? :-)

Recently, on comp.sys.acorn.misc, somebody reported getting sound from their IBX-100 by patching in the required components from the 16 bit sound card (used in the older generation of RiscPCs) and then softloading the sound modules. It is possible, and there is space on the motherboard for it...

When connected, you will be taken to the Bush website (advertised on the packaging as being produced by Virgin, but appears to be 'produced' by ITV digital now), however it is simple to call up the toolbar to enter another URL...

Going to another URL

Hit the Enter button, and off you go!

Visiting my website

If the page provides embedded information, you can use the Info option to view this additional information. It'll work with this page, so why not try it in your browser?

Viewing page information
(I wonder why it says encoding Windows 1252
when I've set the charset to ISO 8859/1?)

You will notice cog wheels on the bottom right (no, not in these pictures, if you are using the Bush box). This is your indicator that the unit is still fetching web pages and resources. The unit appears to be much slower than my RiscPC, because I do not normally fetch images.
However I gave it a whirl, using Fresco with images, as the systems are about the same: ARM710 vs ARM7500FP, Fresco vs NCFresco, 33k6 vs 33k6. Honestly, it seemed about the same. But if you're a need for speed freak, you may find yourself held up by the images!

Anyhow, time to try a friend's site. But, it is fairly easy to mistype on the little keyboard.

Who can't spell?!

So, call up the GO TO option again, so you can enter the correct URL. It'd be nice if the unit did this for you, placing the previous (failed) URL in the icon. It is a pain retyping a URL for a one-letter mistake! Still, it isn't that bad, but you must watch the screen in case you miss any letters - this can happen due to interference with the infra-red link, or obstructions, or weak batteries, or the user being a moron (that's my option, that!)...


Now, we have this box so we might as well make use of it. What better than to check out the news?
Actually, this shows up a small problem. There is no option to kill the colours set up in the document and use defaults. This becomes necessary when we visit Fox News...

(I love the way the image has been snipped:
"Passenger Jailed in Salt Lake
Man used lavatory before landing
Oh no! How heinous! Panic! Panic!)
Half of it is just unreadable - dark blue on black. However, Fresco and Browse both showed the exact same problem. I am guessing either an incomplete set of colour tags, or a very bizarre implementation of style sheets are being used.

But, in the spirit of competition, if one news source is hard to read, just find another!

JPEG; 24K   JPEG; 20K
http://www.cnn.com/ and http://www.bbc.co.uk/news/


After the news comes the weather report...

(I prefer to look at the satellite images)


We've seen that it copes with tables (from my site). Time, now, to see how it copes with frames.

The short answer is Yes. And, even better, when you come to print it will ask you which frame you would like to print from.
Printing from a framed document
I guess it'd be logical to print the entire page as-seen, but due to the nature of frames very few browsers bother to implement such a facility (you lose information, ending up with what is essentially a copy of the screen!).


The next test is for Flash...

Sadly, the box does not support Flash.
Neither, does it support Java, although hooks are provided, if, say, you boot from Zip disc or suchlike.


Overall, the display quality is good. Some sites may require you to bump up the text size for ease of reading, but this is not a problem - the options are available on-line.

Alyson (in willow)
The above image is, sadly, a little bit misleading. Firstly, it is connected to the computer digitiser with composite video rather than RGB, and the digitiser can only store one field (that's every other line of the TV picture). On my 14 inch television, via SCART, the picture is clearer. Actually, the RISC OS font renderer along with other tricks and tweaks makes the box extremely usable on a television. You'll notice the gold text isn't that bad, but the fuchsia is really blurry. That is most likely a fault of the digitising, not of the box...


So, you 'surf' around until you find something that interests you, and then you carry on. Using the Bush internet box is rather like using a library book. You can look at it, but you can't keep it.

You can look at ingenious ways to water your plants when you are hundreds of miles away...


You can read shooting scripts for your favourite episodes of Buffy the Vampire Slayer...

This is Anya's infamous speech from the series five episode 'The Body'.


The browser itself seems quite stable, it is not riddled with JavaScript errors (like Fresco 2.13). There is some debate about the strength of the SSL provided. Well, I can clear this up once and for all...

Choose the SSL check option for instant results.
Yes, the standard Bush box IBX-100 is only 40 bit SSL, which has been classed by many as about as secure as taking your private message and sticking it in an envelope (as opposed to writing it on a postcard (no SSL) or encrypting it (RC4-128 bit SSL)).
This means, in effect, that several on-line services that require an HTTPS link may refuse to accept you. Certainly, one UK building society was offering their customers upgrades because they thought the 40 bit SSL was, well, a bit lame.


The modem is reliable, it keeps the connection until you hang up (or it times out). Note, however, that pressing the yellow "Internet" button to send the unit into standby does not break the connection. You must physically hang up.
Another thing to note, keep your eye on the red ON LINE indicator. Unfavourable conditions can cause the line to be dropped and the only warning you get is the ON LINE indicator goes out; whether it be from line noise or, in my case, pulling the phone connector out. It'd be nice if you got a warning and an option to redial or cancel.



Offline Tricks

From the main screen, you can type a few interesting things...


This is designed to allow automated testing. The unit will dial 101.


One girl, fifteen guys...

Who dunnit


This clears the screen and redraws the main screen. Behind the scenes, it replaced your printer selection with the magic option to enable booting from Zip disc (the older 100Mb type, Argo format). It's a bit more complicated than that, but it's a start...


This is a special access key that should work on the IBX-100 series, and it provides very usefully the following...

Setting it to your favourite ISP
The next screen is much more interesting...
Setting it to your favourite ISP

I guess it is time to let you in on the little secret. I wasn't calling into Bush Internet for the majority of these piccies. Glenn has a spare phone line and a spare modem and a spare serial port on his netbsd box... so he's set up a serial connection to pppd. Yup, a one-line ISP!
Anyway, the IBX-100 quite happily accepted the new settings and connected to Glenn's system perfectly. Things were a little slower, as Glenn's modem is a 28800bps, but not so bad (as the box's modem is 33600bps); and resolving and fetching were both as effortless as I would expect.



Online Tricks

When you are on-line, you can call up the URL bar to type in a few 'special' URLs...


This opens a brief status document. You can then reload it, or go 'Previous' (function - 2).

The 'Managed Access Status Page'


This opens a document detailing memory use, how much, where, and what. Again, you can then reload it, or go 'Previous' (function - 2).

Memory information - obviously for geeks to read!


This is the it doesn't work option. I think it would if the file specified pointed to a valid HTML file, maybe in file:/cache:/ (that doesn't work either!). Annoyingly, it does not appear that Fresco will list directory contents if you give it a directory path instead of a file path, and it wouldn't open the !Boot.!Run file. Hmmm...
They've made the thing disturbingly drool-proof! :-)


Here comes the 'exploit'...

There's always one, isn't there?
This doesn't seem to crash your box properly, so the watchdog doesn't kick in. Instead, the cog wheels freeze and the creamy yellow background (of the cog wheels) flashes white and cream like mad. The only way I've found to get out of this is to pull the plug...



Blatant hacking

How do you get a RISC OS box to boot to the command line?

It's dead easy. You hold down Shift, and maybe '*' if the language is set to Desktop. Well, the language isn't Desktop on the IBX-100 box, so you just hold down Shift...

Here's how to get to BASIC:

  1. The unit is unplugged, right?
  2. Open the keypad and hold down the big Shift, on the left. Keep it held down.
  3. Plug in the unit, making sure it can detect the Shift keypress (ie, point the remote at the box).
  4. Keep holding shift for a few seconds, then let go.
  5. Close the keypad, and press the yellow Internet button to enable the display.
  6. Open the keypad and press Enter a few times. You should see something 'not found' error.
  7. Hold Ctrl and tap V, release Ctrl. Hold Ctrl and tap L, release Ctrl. We are now in MODE 12, which is much easier to work with on a 14 inch television.
  8. Type 'basic' and press Enter.
That's it! Do not type *desktop, as you'll get the pointer and nothing else. Bits are missing from the desktop sequence, so it won't get itself going. This is fixable... but first I cobbled up a BASIC program to rip all the modules to Zip disc, then do a ROM dump. :-)

JPEG; 11K   JPEG; 16K
A really BASIC program! (note the UtilityModule version)


If the magic string to call up the ISP configuration does not work, you will need to interrogate your box to find out what the required code is. In BASIC, the program to do this is...

  DIM buffy% 255
  SYS "NVRAM_Read", "ISPCAccessPassword", buffy%, 255 TO ,mycode$
  PRINT mycode$
The code printed is the code to use. If yours is something other than '39d8sk43k2', please let me know what type of box it is, and what the code is, so I can note it down here...



Getting a desktop

The desktop - on the IBX-100!
Click image for full size image - 768x576, 96K GIF

The picture is in 2:4 resolution because it can afford the standard 50Hz refresh rate. It is possible to have a much-nicer 2:2 resolution, but it needs to be interlaced in order to appear properly (25Hz, erk!).
The display is set up with the mode files as normal, so it should be simple to load a new mode file in your startup - I'm just not too sure how the daughterboard video hardware would cope with SVGA in 16 million colours at the fastest refresh rate the ARM7500FE can spit out. :-)

The display is only 256 colours because, well, that is all I had space for on the Zip disc.
It is a screenshot rather than a video grab so you can see it better. Actually, the real excuse is I couldn't be bothered to faff around with the video cables and getting the digitiser going, 'cos it was enough swapping the Zip drive leads around all the time...

Okay, the picture, clockwise...


Wanna do this?

You'll need an Iomega Zip drive (the 100Mb parallel port type) and the Argo drivers. If you cannot lay your hands on these, give up now.

Next, you'll need a machine running RISC OS 3.6 or later. If you are advanced, you can download a copy of the RISC OS 3.7 ROMs (no, I'm not saying where from!) and pull the modules out by hand.

Next, some patience. What we are going to do is to softload the bits and pieces that RISC OS is missing to boot the desktop proper.

You'll need some sort of utility to 'fake' the mouse pointer. I knocked up something appalling, but later discovered 'keyrat' on Chris Sawer's site; I think the URL is http://www.sawer.uklinux.net/. The KeyRat module is much nicer.

What we need to do is rip the stuff we want from out donor machine (preferably RISC OS 3.7), and set it onto the zip disc to be softloaded prior to invoking the Desktop. Confused yet? :-)

  1. If you've not already done it, do the zipdebugging thing in the main options screen.
  2. On your Zip disc, create a directory "Resources", and one called "Modules".
  3. At a command line, enter *Filer_OpenDir Resources:$.Resources and then return to the Desktop (if you left it).
  4. You'll see a whole bunch of directories. Copy... into the 'Resources' directory on your Zip disc.
  5. Copy the Wimp directory across too - Sprites, Sprites22, and Tools at the very least.
  6. Save the modules... from memory to the 'Modules' directory of your Zip disc.
    I used a utility called 'RMsave', but you can do it just as easily with Zap.
  7. Pop 'KeyRat' into the 'Modules' directory.


You now want to create an Obey file called "Auto" which contains the following:

| Set the resource paths
Set Filer$Path          IZipFS:$.Resources.Filer.
Set ResFiler$Path       IZipFS:$.Resources.ResFiler.
Set DisplayManager$Path IZipFS:$.Resources.Display.
Set Pinboard$Path       IZipFS:$.Resources.Pinboard.
Set Switcher$Path       IZipFS:$.Resources.Switcher.
Set TaskWinRes$Path     IZipFS:$.Resources.TaskWindow.

| Load the modules
RMLoad IZipFS:$.Modules.FilerSWIs
RMLoad IZipFS:$.Modules.Filer
RMLoad IZipFS:$.Modules.ResourceFi
RMLoad IZipFS:$.Modules.DragASpr
RMLoad IZipFS:$.Modules.DisplayMan
RMLoad IZipFS:$.Modules.TaskMan
RMLoad IZipFS:$.Modules.Pinboard
RMLoad IZipFS:$.Modules.TaskWindow

| If you don't have KeyRat, comment out the next line
RMLoad IZipFS:$.Modules.KeyRat

| Load the usual WIMPy icons
IconSprites IZipFS:$.Resources.Wimp.Sprites
ToolSprites IZipFS:$.Resources.Wimp.Tools

| Drop into the desktop
Desktop -file IZipFS:$._DeskStart


Now create a Desktop (type &FEA) file called "_DeskStart" which contains something like:

WimpMode 15

%Set Edit$Options f9 b8 l2 m2 h12 w12

Filer_Boot IZipFS:$.Apps.!Paint
Filer_Boot IZipFS:$.Apps.!Draw

Filer_Run  IZipFS:$.Apps.!Edit
Filer_Run  IZipFS:$.Apps.!CloseUp
Filer_Run  IZipFS:$.Resources.!FreeMem

Backdrop -tile IZipFS:$.willow21

Filer_OpenDir IZipFS:$


That is pretty much it. Try it out on your IBX-100.

There is a hell of a lot of room for experimentation. For a start, you'll be wanting some applications to use. Create yourself an Apps directory and put some stuff in it. I would suggest Edit, Paint, and Draw.
Can't find them in ROM? Don't worry, just find yourself the RISC OS 3.5 versions. You might already have them - try looking in !Boot.RO350Hook.Apps.

Want a nicer set of templates for DisplayManager?
Try looking in !Boot.RO370Hook.Res.


There is, by standard, no sound in the IBX-100 so you can't load up the ARM7500 MP3 player and play MP3s off of the Zip disc. Sorry about that!

Once you've done this, you might be left with the distinct idea that using the thing as a serious desktop machine simply ain't gonna happen. Well, for a start you ain't a hacker if that's how you look at it. And secondly, any which way you cut it, you got yourself a box that runs RISC OS and you paid what for it? Twenty quid? Fifteen?




So far, lots of guesswork...
CPU and ROMs
Possibly the most interesting picture (!), there are several things of note here. In the very front of the picture is an 8Mb SIMM. As your web fetches are stored in CacheFS in memory (think of a smart resizable RAMdisc designed for storing web stuff), more memory might be a benefit, but 8Mb is a pretty impressive starting figure!

Middle left. The big square thing is an ARM7500FE. This piece of silicon contains an ARM7500 macrocell (basically an ARM7), hardware floating point (barely used by the box!), IOMD, and the VIDC2, and can access EDO style memory.

Middle right. The two ROMs for RISC OS-NC. It should be mostly compatible with a RiscPC version of RISC OS, but the hardware is sufficiently different that swapping ROMs simply wouldn't work. JPEG; 10K
Top right (behind the cable bundle). The IIC NVRAM. There is no RTC, so RISC OS will always think it is January 1970. A little module sets up the standard 'CMOS RAM' options at each boot up, and restores other stuff. That's why you can't configure different mice, or unplug modules, and how it remember any of it.
The NVRAM is a 4096 x 8 device. This holds your dial-up settings, and the 'favourites'. The space is finite, so adding a new favourite without enough space will cause the first favourite to be discarded. Moral: use favourites wisely.

Top left. Can you see SMC? Yes? That looks familiar! Let's zoom in a little...

This is an FDC37C669. If that doesn't seem familiar after all, you maybe have not read the document on hardware interfacing yet. This is an ISA 'combo' chip, similar to the one used in the RiscPC (FDC37C665) or the RiscStation (FDC37C666). It provides here the parallel port, and also the interface to the keyboard - I guess that is why they used the chip with the on-board infra-red gubbins.

I'm not sure if the modem is addressed directly, or if communication is done via serial which is routed to the modem hardware. Yeah, it sounds yucky to use serial but it'd offer the quickest path (else you'd need to twiddle stuff to hook the serial data and translate it to modemese).
Maybe I shouldn't mention the 37C669 also offers a floppy disc interface, an IDE harddisc interface, another serial port, and some other nice stuff. :-)


Looking to the left...

The modem
The 33,600bps modem is implemented as a podule, and is fitted directly onto the motherboard.

And, finally, to the right...

Video and power
The power supply does not consist of much. The plug-in box is a switchmode power supply that will output a regulated 6V (2.5A, 15W), so not much needs to be done internally. The power unit will work on anything from 100V to 240V. The IBX-100 box itself only requires 6W. :-)
The video circuitry is on a seperate board, sharing space with the power circuitry. I suspect the final video stuff is seperate as it would be easier to alter things for different television systems - simply make a different video board instead of altering the motherboard.




I have been informed that the IBX-100 is a hack by the manufacturers (not Pace, the actual manufacturers of the motherboard) which was achieved by combining the motherboard, some video hardware, and a seperate power supply unit. As such, it has been suggested that the display quality is not all it can be, although I have not really noticed this in operation - maybe it isn't such an effect on smaller televisions like my 14 inch?

The later versions (the 2x0 range) have a better design. These come in a box that looks different, so can be easily told apart. However I've not seen one so I cannot comment.
The main difference in the 2xx range is the 200 is a 'cost reduced' board, where the 250 has the same motherboard as used in the IBX-100 ... albeit in a bigger casing.

There is an IBX-101 which is basically the same as the IBX-100, but it has been preprogrammed to connect to FreeServe instead of Bush Internet.

And, finally, let us not forget the television. You have the standard 14" telly with built-in Internet, and more recently a rather nice looking widescreen telly with built-in Internet. I'm not sure what the hardware in these is, but since most of the IBX models use the same motherboard, I'd go out on a limb and suggest maybe.....


There are apparently two ROM versions: the original (I guess, 1.0) which offers the browser and 40 bit SSL; and the later (1.1?) which offers 128 bit SSL. There are other differences, but more internal stuff.
Rumour has it that a national building society (Nationwide?) is offering 128 bit SSL ROMs to their customers using the Bush box (for £30ish) so that they may access the on-line stuff using their Bush box.
I'm not aware of this upgrade available for general sale. Maybe the building society is subsidising the cost? If anybody knows different, please contact me!


Likewise, if you have any more details, please contact me!



Summing up

I'm not sure I would have bought one originally, as my way of using the internet is more involved than the box can provide. It is a great shame that there does not seem to be any form of Save option, besides hardcopy. It could be really good with a Zip drive fitted, and an off-line mode to browse stuff stored on the Zip disc. You could then plug the Zip drive into your main RISC OS machine and access the stuff you stored.

However, having one for twenty pounds (from Toys-R-Us) isn't something I'd turn my nose up at. Okay, it isn't a proper computer, but it runs RISC OS and it is hackable. That is a start!

So, I might set this machine up for mom. She's kinda computer-phobic, and this box is a good entry-level way to get onto the Internet and research and stuff. It has a few notable omissions, but by and large it copes. In fact it copes so well it is rather mind-bending to discover the thing has Fresco inside. My God, where's a nice version of Fresco like that for us Argo subscribers?

It is hard to give a final points-out-of-ten for this, because my needs and methods are so very different to the market that this box is aiming for. So I'll let mom loose and ask her for her opinions.


As far as it goes for me. The box is bloody solid. It's a plastic front panel, but besides that the entire thing is cased in metal. It is quite a nice sexy silver colour. The circuitry is built to the exacting standard you expect of Pace, with much surface mount, socketed ROMs, and a generally nice finish (except the final video circuitry which is simpler).
There is another version kicking around, besides the IBX models already mentioned, because if you look really closely at the front panel, you'll see a place that could be made into a cut-out for a smart card kind of thing...
The unit has a very basic back panel with telephone, video, printer, and power. The front panel has three indicators. There is no fluff, what is necessary is right there.
The keyboard shows a similar design. You can close it, hold it longways, and use the internet by following links; or you can open it, hold it lengthways, and type more. The system knows which way up the keyboard is, and it alters the direction of the movement buttons accordingly. Clever!







You know, I'd been thinking for a while what sort of things the IBX-100 would be ideally suited for, if not web browsing.
And I've got it.

The retail sector.

That's right. Sales. You could create (or get somebody to create?) some sort of rolling demo, maybe with software like NoticeBoard by The Really Good Software Company. You can plug the thing into a television, boot from the Zip disc. With a bit of careful planning (or maybe RAMFS) you should be able to boot several in turn using the same Zip disc, then leave the disc unattached and the box(es?) running to loop the demo forever. The box consumes, what, 9W? That pales in comparison to most TVs. You could run one for less power than an energy saving light bulb. :-)



And finally...

Some people have asked... How does this page fare on a Bush box itself?

It looks okay. The screenshots, by and large, are too small to read easily on a 14 inch TV. The page renders well - pretty much like the Fresco it was designed with!

Here are the nerdy stats (created 2002/02/16)...

Entity                  Before   After   Difference

CacheFS workspace         448K   1104K   +656K
Fresco data               512K    916K   +404K
Fresco heap               468K    428K   + 40K
JPEG workspace             32K     44K   + 12K

Free memory available    3904K   2872K  -1032K

Start time               Sat,16 Feb 2002.02:24:06
HTML fetched, rendered   Sat,16 Feb 2002.02:24:17
All images, finished     Sat,16 Feb 2002.02:29:46
                                       Total 5:40

HTML data                 36,224 bytes
JPEG data                624,903 bytes

Return to main index
Copyright © 2002 Richard Murray