Thursday, 17 May 2012

Old Times

How can it be May already?   This year is truly flying past!

Sadly the TBA revival has come to a halt as we've all had other priorities - many of which have resembled a crisis' in one form or another!!   Thankfully we are all still here (!) and life is moving forwards, but the time to get stuck into some ARM assembly language isn't there.   I've recently moved into a serviced office in Bristol and have put the Acorn set-up in the corner attracting curious glances through the window....!

Some weeks back I had a great catch up with Martin when he visited the UK, the first time we've seen each other going-back almost to the old TBA days.  Some reminiscing about old times took place, all those crazy rushes before Acorn World finishing products - camped in some flat in London coding until 3am each day for a couple of weeks....

It's curious we both have a Chinese wife and have followed some similar paths.   It goes right back to when we attended the same pre-school but then his family moved away to different area.  Some 7-8 years later at secondary school we found ourselves sat next to each other in the same tutor group - not realising we knew each other for some weeks...!....Life is just full of coincidences...

As it is, Martin works leading the development of security software, based in Singapore but travelling around the world.  His experience in software development and the games industry is immense, but the computer gaming industry is in such a state it's tricky to pursue it as a career any longer.

My profession is as an IT Director specialising in developing software systems and intellectual property relating to business critical multi-channel communications.  This year has seen a big opportunity develop in one of the worlds largest organisations, so I'm rather busy making sure that goes in the right direction and turns into something concrete.

One day I'd love to apply all this experience back into the world of RISC OS but I suspect that's going to be difficult.   Last year I concluded RISC OS might best be developed so it can run in some kind of Virtual Machine, using the multi-tasking engine and such like of a host Microkernel/Hypervisor.  Compatibility would be achieved using the new-world/old-world piece I described before.  This approach minimises having to keep developing drivers for new hardware, and also avoids getting bogged down in licensing restrictions as none of the underlying OS code has to be linked into RISC OS.

This is no easy task in itself and will take considerable effort.  Without some kind of commercial application or some maverick who fancies sponsoring it all (one day hey?), it's not really going to happen....

All I can promise is that I'll keep an eye on the whole RISC OS world and contribute when I can...

Alan

Wednesday, 25 January 2012

Looking ahead in 2012

So here we are in 2012, and belatedly I wish everyone a Happy New Year.  Indeed that should be a Happy Chinese New Year as well - celebrated in at least two of the TBA staff households!

Recently life has taken over again, so there has been little time to undertake any further development.   Frustrating for sure as there is so much to do, but then we all have to pay the bills, look after the family, and ensure the career is heading in the right direction.   In the next few weeks I should know a little more about what the rest of this year holds as some key decisions are being made.

Hopefully as the year goes on there will be a chance to get some further work done on one or two things for RISC OS.  In particular I'd like to finish some work on TAG32, and get one or two of the old titles up and running again.  I'd also like to spend some time refreshing my C/C++ development skills as writing code in assembler, while enjoyable, isn't ideal when you have limited time available for all sorts of reasons.

Hopefully the bit of momentum built up last year will continue, and the RISC OS Open project will attract some further developers and supporters.

Friday, 11 November 2011

TBAFS 32bit 1.03 Released

A new version of TBAFS 32bit has been released for download.   This fixes a bug in the TBA (Fast) decompression code that was introduced when it was converted to 32bit.

Thursday, 10 November 2011

Bristol RISC OS Users Group

I've just got back from an enjoyable evening with a few members of the Bristol RISC OS Users Group at the King William in King St.  A short 2 mins walk from my Bristol flat it was a most convenient location.  It was an evening of talking about everything computing, and lots of interesting opinions about what is good and bad about RISC OS, Windows, Linux, Printers, Nuclear power (!), and much more...

While my work as an IT Director has lead me to use Windows and Microsoft .NET for systems development, it was great to hear some enthusiasm for RISC OS and the simplicity of the Acorn computer.   The pragmatist in me knows that RISC OS is unlikely to get the kind of development it needs to bring it up to date, but we can all dream a bit and think what could or might have been...

Some thoughts....

RISC OS occupies a fairly unique space in that it is a native ARM operating system, and isn't Linux.  It has the potential to attract many developers and enthusiasts from the Open Source community who would like to work on something with a lot more potential for improvement.  Regular sustained publicity is the key to this and nobody would suggest its an easy thing to achieve.

From a development perspective my view is pretty clear on the main thing that is needed for RISC OS.  In my opinion this surpasses all others as it is critical for using modern hardware and porting applications.

The kernel needs a pre-emptive multi-tasking system, allowing a typical mix of processes, threads, synchronisation objects, memory management, and security.  This is the "new world" that is essential for dealing with modern multi-core ARM hardware.  The "old world" would then run in a single thread bound to a single processor core with interfaces to communicate with the "new world".   After initial fixes have been made to the core OS code (SWI handler, interrupt handlers, WIMP task and memory management, etc), each module would be flagged as "new world" when it has been re-written (preferably in a higher level language such as C++) and is thread-safe.  The result is RISC OS initially still running largely from existing code, allowing the subsequent re-engineering process to take place piece by piece.

Writing the multi-tasking Kernel code and APIs is something I could do myself with a bit of technical assistance relating to the latest ARM hardware.  I have a lot of experience in writing multi-threaded code at a Win32 level in C, and in the managed environment of .NET.   However, making the existing RISC OS code work with it would require a major team effort, and unless that team approach is organised properly it just won't get off the ground.

As with everything of this kind, it's a massive job and one that is likely to need more highly skilled developers then we currently have to complete it.  Right now many other people will have other development priorities, may not agree with me (!!), and will flag up all manner of headaches in the workings of the OS that would make this difficult.

Just my thoughts after an interesting evening of discussions.   I'm as outspoken as usual, no doubt.. :-)

Monday, 10 October 2011

TBAFS 26bit Version Released

At the request of a number of people, we've released the original 26bit version of TBAFS for download.

This is version 1.01 as released in 1996.  It has been tested up to RISC OS 3.7 only, although should work on any 26bit version of RISC OS.  The only pre-requisite for older versions of RISC OS is the Acorn toolbox modules.

Sunday, 2 October 2011

BASIC VFP Assembler 0.06

An updated release of the BASIC VFP assembler with fixes for bugs reported by Jeffrey Lee:

  • Fixed VLDM/VSTM 16 double register limit
  • Fixed VLD1/VST1 offset options incorrect
  • Fixed VADD.<integer> double word register support
  • Fixed corrupt VFPLib in TBAFS archive
  • Fixed VLDx/VSTx offsets not applied to instruction

Wednesday, 28 September 2011

Back online

After a couple of months off we're finally back to it...    and I have started with a problem.   The "hard disc" on the BB XM that is a USB flash drive has suddenly started corrupting files when saving.  Thankfully I have a backup of most things (and more are being taken!)   My first thought is to switch to a more traditional external USB laptop hard disc instead of the pen drive, but I don't know if this will help as the drivers would be the same.

The last release of the assembler was affected with VFPLib (the basic source for generating the lookup tables) corrupted within the TBAFS archive.

Hopefully I can figure out what is going on as this is the worst kind of problem to have.  I guess it's just a side-effect of running a development version of an operating system and drivers...