Archive

Posts Tagged ‘Aros’

The Amiga ARM project

April 19, 2018 15 comments

This has been quite the turbulent week. Without getting into all the details, a post that I made with thoughts and ideas for an Amiga inspired OS for ARM escaped the safe confines of our group, Amiga Disrupt, and took on a life of its own.
This led to a few critical posts being issued publicly, which all boiled down to a misunderstanding. Thankfully this has been resolved and things are back to normal.

The question on everyone’s lips now seem to be: did Jon mean what he said or was it just venting frustration? I thought I made my points clear in my previous post, but sadly Commodore USA formulated a title open for interpretation (which is understandable considering the mayhem at the time). So let’s go thrugh the ropes and put this to rest.

Am I making an ARM based Amiga inspired OS?

Hopefully I don’t have to. My initial post, the one posted to the Amiga Disrupt comment section (and mistaken for a project release note), had a couple of very clear criteria attached:

If nothing has been done to improve the Amiga situation [with regards to ARM or x86] by the time I finish Amibian.js (*), I will take matters into my own hand and create my own alternative.

(*) As you probably know, Amibian.js is a cloud implementation of Amiga OS, designed to bring Amiga to the browser. It is powered by a node.js application server; a server that can be hosted either locally (on the same machine as the html5 client) or remotely. It runs fine on popular embedded devices such as Tinkerboard and ODroid, and when run in a full-screen browser with no X or Windows desktop behind it – it is practically indistinguishable from the real thing.

We have customers who use our prototype to deliver cloud based learning for educational institutions. Shipping ready to use hardware units with pre-baked Amibian.js installed is perfect for schools, libraries, museums, routers and various kiosk projects.

smart_desktop

Amibian.js, here running Quake 3 at 60 fps in your browser

Note: This project started years before FriendOS, so we are not a clone of their work.

Obviously this is a large task for one person, but I have written the whole system in Smart Mobile Studio, which is a product our company started some 7 years ago, and that now has a team of six people behind it. In short it takes object pascal code such as Delphi and Freepascal, and compiles this to JavaScript. Suitable for both the browser and NodeJS. It gives you a full IDE with form designer, drag & drop visual components and a wast and rich RTL (run-time library) which naturally saves me a lot of time. So this gives me an edge over other companies working with similar technology. So while it’s a huge task, it’s leveraged considerably by the toolchain I made for it.

So am I making a native OS for ARM or x86? The short answer: I will if the situation havent dramatically improved by the time Amibian.js is finished.

Instead of wasting years trying to implement everything from scratch, Pascal Papara took the Linux kernel and ran with it. So Aeros boots by virtue of the Linux Kernel, but jumps straight into Aros once the drivers has loaded

If you are thinking “so what, who the hell do you think you are?” then perhaps you should take a closer look at my work and history.

I am an ex Quartex member, which was one of the most infamous hacking cartels in europe. I have 30 years of software development behind me, having worked as a professional developer since the age of 17. I have a history of taking on “impossible” projects and finding ways to deliver them. Smart Mobile Studio itself was deemed impossible by most Delphi developers; It was close to heresy, triggering an avalanche of criticism for even entertaining the idea that object pascal could be compiled to JavaScript. Let alone thrive on JSVM (JavaScript Virtual Machine).

assembler

Amibian.js runs javascript, but also bytecodes. Here showing the assembler prototype

You can imagine the uproar when our generated JavaScript code (compiled from object pascal) actually bested native code. I must admit we didn’t expect that at all, but it changed the way Delphi and object pascal developers looked at the world – for the better I might add.

What I am good at, is taking ordinary off the shelves parts and assembling them in new and exciting ways. Often ways the original authors never intended; in order to produce something unique. My faith is not in myself, but in the ability and innate capacity of human beings to find solutions. The biggest obstacle to progress is ultimately pride and fear of losing face. Something my Buddhist training beat our of me ages ago.

So this is not an ego trip, it’s simply a coder that is completely fed-up with the perpetual mismanagement that has held Amiga OS in captivity for two decades.

Amiga OS is a formula, and formulas are bulletproof

People love different aspects of the same thing – and the Amiga is no different. For some the Amiga is the games. Others love it for its excellent sound capabilities, while some love it for the ease of coding (the 68k is the most friendly cpu ever invented in my book). And perhaps all of us love the Amiga for the memories we have. A harmless yet valuable nostalgia of better times.

image3

Amiga OS 3.1 pimped up, running on Amibian [native] Raspberry PI 3b

But for me the love was always the OS itself. The architecture of Amiga OS is so elegant and dare I say, pure, compared to other systems. And I’m comparing against both legacy and contemporary systems here. Microsoft Windows (WinAPI) comes close, but the sheer brilliance of Amiga OS is yet to be rivaled.

We are talking about a design that delivers a multimedia driven, window based desktop 10 years before the competition. A desktop that would thrive in as little as 512 kb of ram, with fast and reliable pre-emptive multitasking.

I don’t think people realize or understand the true value of Amiga OS. It’s not in the games (although games is definitively a huge part of the experience), the hardware or the programs. The reason people have been fighting bitterly over Amiga OS for a lifetime, is because the operating system architecture or “formula” is unmatched to this very day.

Can you imagine what a system that thrives under 512 KB would do to the desktop market? Or even better, what it could bring to the table for embedded and server technology?

And this is where my frustration soars up. Even though we have OS 4.1, we have been forced to idly stand by and watch, as mistake after mistake is being made. opportunities that are ripe for the taking (some of them literally placed on the doorstep of Hyperion), have been thrown by the wayside time and time again.

And they are not alone. Aros and Morphos has likewise missed a lot of opportunities. Both opportunities to generate income and secure development as well as embracing new technology. Although I must stress that I sympatize with Aros since they lack any official funding. Morphos is doing much better using a normal, commerical license.

Frustration, the mother of invention

When the Raspberry PI was first released I jumped of joy. Finally a SBC (single board computer) with enough power to run a light version of Amiga OS 4.1, with a price tag that everyone can live with. I rushed over to Hyperion to see if they had issued a statement about the PI, but nothing could be found. The AEON site was likewise empty.

The PI version 2 came and went, still no sign that Hyperion would capitalize on the situation. I expected them to issue a “Amiga OS 4.1 light” edition for ARM, which would put them on the map and help them establish a user base. Without a user base and fresh blood there is no chance in hell of selling next generation machines in large enough quantities to justify future development. But once again, opportunity after oppertunity came and went.

Sexy, fast and modern: Amiga OS 4.1

Sexy, fast and modern: Amiga OS 4.1 would do wonders on ARM

Faster and better suited SBC’s started to turn up in droves: The ODroid, Beaglebone black, The Tinkerboard, The Banana PI – and many, many others. When the SnapDragon IV CPU’s shipped on a $120 SBC, which is the same processor used by Samsung Galaxy 6S, I was sure Hyperion would wake up and bring Amiga OS to the masses. But not a word.

Instead we were told to wait for the Amiga x5000 which is based on PPC. I have no problem with PPC, it’s a great platform and packs a serious punch. But since PPC no longer sell to mainstream computer companies like it used to, the price penalty would be nothing short of astronomical. There is also the question of longevity and being able to maintain a PPC based system for the forseeable future. Where exactly is PPC in 15 years?

Note: One of the reasons PPC was selected has to do with coding infrastructure. PPC has an established standard, something ARM lacked at the time (this was first established for ARM in 2014). PPC also has an established set of development platforms that you can build on, with libraries and pre-fab modules (pre fabricated modules, think components that you can use to quickly build what you need) that have been polished for two decades now. A developer who knows PPC from the Amiga days will naturally feel more at home with PPC. But sadly PPC is the past and modern development takes place almost exclusively on ARM and x86. Even x86 is said to have an expiration date now.

The only group that genuinely tried to bring Amiga OS to ARM has been the Aros team. They got their system compiled, implemented some rudimentary drivers (information on this has been thin to say the least) and had it booting natively on the Raspberry PI 3b. Sadly they lacked a USB stack (remember I mentioned pre-fab modules above? Well, this is a typical example. PPC devtools ship with modules like this out of the box) so things like mouse, keyboard and external peripherals wouldn’t work.

3

Aeros, the fastest Amiga you will ever play with. Running on the Raspberry PI 3b

And like always, which is the curse of Amiga, “something came up”, and the whole Raspberry PI / ARM initiative was left for dead. The details around this is sketchy, but the lead developer had a personal issue that forced him to set a new direction in life. And for some reason the other Aros developers have just continued with x86, even though a polished ARM version could have made them some money, and helped finance future development. It’s the same story, again and again.

But then something amazing happened! Out of the blue came Pascal Papara with a new take on Aros, namely AEROS. This is a distro after my own heart. Instead of wasting years trying to implement everything from scratch, Pascal took the Linux kernel and ran with it. So Aeros boots by virtue of the Linux Kernel, but jumps straight into Aros once the drivers has loaded. And the result? It is the fastest desktop you will ever experience on ARM. Seriously, it runs so fast and smooth on the Raspberry PI that you could easily mistake it for a $450 Intel i3.

Sadly Pascal has been more or less alone about this development. And truth be told he has molded it to suit his own needs rather than the consumer. Since his work includes a game machine and some Linux services, the whole Linux system is exposed to the Aros desktop. This is a huge mistake.

Using the Linux kernel to capitalize on the thousands of man hours invested in that, not to mention the linux driver database which is massive, is a great idea. It’s also the first thing that came into my mind when contemplating the issue.

But when running Aros on top of this, the Linux aspect of the system should be abstracted away. Much like what Apple did with Unix. You should hardly notice that Linux is there unless you open a shell and start to investigate. The Amiga filesystem should be the only filesystem you see when accessing things from the desktop, and a nice preferences option for showing / hiding mounted Linux drives.

My plans for an ARM based Amiga inspired OS

Building an OS is not a task for the faint of heart. Yes there is a lot of embedded / pre-fab based systems to pick from out there, but you also have to be sensible. You are not going to code a better kernel than Linus Torvalds, so instead of wasting years trying to catch up with something you cannot possibly catch up with – just grab the kernel and make it work for us.

The Linux kernel solves things such as process contexts, “userland” vs “kernel space” (giving the kernel the power to kill a task and reclaim resources), multitasking / threading, thread priorities, critical sections, mutexes and global event objects; it gives us IPC (inter process communication), disk IO, established and rock solid sound and graphics frameworks; and last but perhaps most important: free access to the millions of drivers in the Linux repository.

Screenshot

Early Amibian.js login dialog

You would have to be certified insane to ignore the Linux Kernel, thinking you will somehow be the guy (or group) that can teach Linus Torvalds a lesson. This is a man who has been writing kernel’s for 20+ years, and he does nothing else. He is surrounded by a proverbial army of developers that code, test, refactor and strive to deliver optimal performance, safety and quality assurance. So sorry if I push your buttons here, but you would be a moron to take him on. Instead, absorb the kernel and gain access to the benefits it has given Linux (technically the kernel is “Linux”, the rest is GNU – but you get what I mean).

With the Linux kernel as a foundation, as much as 50% of the work involved in writing our OS is finished already. You don’t have to invent a driver API. You dont have to invent a new executable format (or write your own ELF parser if you stick with the Linux executable). You can use established compilers like GCC / Clang and Freepascal. And you can even cherry pick some low-level packages for your own native API (like SDL, OpenGL and things that would take years to finish).

But while we want to build our house on rock, we don’t want it to be yet another Linux distro. So with the kernel in place and a significant part of our work done for us, that is also where the similarities end.

The end product is Amiga OS, which means that we need compatibility with the original Amiga rom libraries (read: api). Had we started from scratch that would have been a tremendous effort, which is also why Aros is so important. Because Aros gives us a blueprint of how they have implemented these API’s.

But our main source of inspiration is not Aros, but Amithlon. What we want to do is naturally to pipe as much as we can from the Amiga API’s back to the Linux kernel. Things like device detection, memory allocation, file IO, pipes, networking — our library files will be more thin wrappers that expose Amiga compatible calls; methods that calls the Linux Kernel to do the job. So our Amiga library files will be proxy objects whenever possible.

AmithlonQEmu

Amithlon, decades ahead of it’s time

The hard work is when we get to the window manager, or Intuition. Here we can’t cheat by pushing things back to Linux. We don’t want to install X either (although we can render our system into the X framebuffer if we like), so we have to code a window manager. This is not as simple as it sounds, because our system must operate with multiple cores, be multi threaded by design and tap into the grand scheme of things. Things like messages (which is used by applications to respond to input) must be established, and all the event codes from the original Amiga OS must be replicated.

So this work wont be easy, but with the Linux kernel as a foundation – the hardest task of all is taken care of. The magic of a kernel is that of process management and task switching. This is about as hard-core as you can get. Without that you can almost forget the rest. But since we base our system on the Linux kernel, we can focus 100% on the real task – namely to deliver a modern Amiga experience, one that is platform independent (read: conforms to standard Linux and can thus be recompiled and run anywhere Linux can run), preserves as much of the initial formula as possible – and can be successfully maintained far into the future.

By pushing as much of our work as possible into user-space (the process space where ordinary programs run, the kernel runs outside this space and is thus unaffected when a program crashes) and adhering to the Linux kernel beneath the bonnet, we have created a system that can be re-compiled anywhere Linux is. And it can be done so without any change to our codebase. Linux takes care of things like drivers, OpenGL, Sound — and presents to us a clean API that is identical on every platform. It doesn’t matter if it’s ARM, PPC, 68k, x86 or MIPS. As long as we follow the standards we are home free.

Last words

I hope all of this clears up the confusion that has surrounded the subject this week. Again, the misunderstanding that led to some unfortunate posts has been resolved. So there is no negativity, no drama and we are all on the same page.

amidesk

Early Amibian.js prototype, running 68k in the browser via uae.js optimized

Just remember that I have set some restrictions for my involvement here. I sincerely hope Hyperion and the Aros development group can focus on ARM, because the community needs this. While the Raspberry PI might seem too small a form-factor to run Aros, projects like Aeros have proven just how effective the Amiga formula is. I’m sure Hyperion could find a powerful ARM SOC in the price range of $120 and sell a complete package with profit for around $200.

What the Amiga community needs now, is not expensive hardware. The userbase has to be expanded horizontally across platforms. Amiga OS / Aros has much to offer the embedded market which today is dominated by overly complex Linux libraries. The Amiga can grow laterally as a more user-friendly alternative, much like Android did for the mobile market. Once the platform is growing and established – then custom hardware could be introduced. But right now that is not what we need.

I also hope that the Aros team drops whatever they are working on, fork Pascal Paparas codebase, and spend a few weeks polishing the system. Abstract away the Linux foundation like Apple have done, get those sexy 32 bit OS4 icons (Note: The icons used by Amiga OS 4 is available for free download from the designer’s website) and a nice theme that looks similar to OS 4 (but not too similar). Get Lazarus (the freepascal IDE) going and ship the system with a ready to use Pascal, C/C++ and Basic development environments. Bring back the fun in computing! The code is already there, use it!

page2-1036-full

Aeros interfaces directly with linux, I would propose a less direct approach

Just take something simple, like a compatible browser. It’s actually not that simple, both for reasons of complexity and how memory is handled by PPC. With a Linux foundation things like Chromium Embedded could be inked into the Amiga side of things and we would have a native, fast, established and up-to-date browser.

At the same time, since we have API level compatability, people can recompile their Aros and Morphos applications and they would run more or less unchanged.

I really hope that my little protest here, if nothing else, helps people realize that there are viable options readily at hand. Commodore is not coming back, and the only future this platform has – is the one we make. So people have to ask themselves how much they want a future.

If the OS gains momentum then there will be grounds for investors to look at custom hardware. They can then choose off the shelves parts that are inexpensive to cover the normal functionality you expect in a modern computer – which more resources can go into custom hardware that sets the system apart. But we cant start there. It has to be built up brick by brich, standing on the shoulders of giants.

OK, rant over 🙂

Aeros for Raspberry PI, a field test

January 23, 2016 1 comment

Wow, seems like I never have time to blog lately. We are super busy creating fantastic stuff at work, and the little free time I have these days are spent with my children and my girlfriend. But today I have managed to allocate a whole 5 hours just to relax and enjoy myself.

Long story short, I have been super interested in Aeros for a long time now. So let me start by writing a few words what that is.

What is Aeros?

Long story short, back in the early 90’s the Amiga home computer was going the way of the dinosaurs. It’s graphical excellence which once made PC’s look retarded and stupid, was failing to keep up with cheap and fast hardware. As such, the 15 year old Amiga chipset was beginning to show it’s age. It simply could not stand up against fast GPU’s, 3D accellerators and 16 bit sound-cards. So all of that, in combination with some spectacularly stupid decitions by the Amiga share-holders and decision makers, ultimately meant that the best home computer the world had ever seen, was about to die. And we all knew it. It was inevitable.

Now what makes the fate of the Amiga home computer even more sad, is that while the hardware and poor decision-making was ultimately what held it back, the software that made up the Amiga system was still very much ahead of the competition. We have to remember that even a year head-start in computing represents a massive advantage; To make it short: the operative system was just to good to let die out.

amiga (1)

Aros, The Amiga OS re-incarnated. Looks awesome!

An example of that is this: back in december 2014 I read that Apple had finally implemented full support for ReXX scripting in their OS. I had to smile because ReXX (or AREXX) was an integral part of Amiga OS over 20 years ago. And that’s just the tip of the iceberg. The Amiga had a full multi-tasking desktop decades before Microsoft could even get their mouse-pointer to stop flickering. So the Amiga really was an awesome system.

Where does Aeros fit into all this? Well back in the early 90’s a groups of Amiga users got together and tried to figure out how to save the operative system. The Amiga brand and intellectual property was being abused by non-other than its originators and investors, to the point of ridicule I might add. The brand name itself had been sold around so much that no serious investor would ever again touch it.

Amazingly, with no help from Commodore or the Amiga copyright holders, this team of passionate Amiga users decided to take matters into their own hands. Amiga Inc. could not be trusted, and as such they began to reverse engineer the whole bloody thing from scratch. Thats right – they decided to dedicate roughly 2 decades of their lives to saving an operative system. You know, people say we dont make computers like we used to? That is true. But no brand in the world, not even Apple, has followers this loyal (or fanatical, take your pick) as the Amiga.

Their goal? To reverse-engineer the Amiga operative system and get it working on x86 hardware.

The Raspberry PI

Fast forward nearly 20 years and a small british company releases what must be the cutest little computer you will ever see: the raspberry PI. It’s not very powerful, not much to look at, but it delivers enough juice to handle DIY projects, the odd Linux experiments – or your ultimate homebrew retro gaming platform.

But compared to the Amiga it at least 100 times faster. The ram alone is 1000 times what the Amiga had to play with, and if someone started to write an OS purely for RPI with the same attention to detail and efficiency as the Amiga, it would deliver a user experience en-par with a “fast” x86 PC today.

What the PI suffers from is that Linux, which is the only real desktop OS that runs on ARM processors (excluding QNX and Android) has grown rather heavy over the years. It’s become a fat, sluggish bastard to be more precise. It used to be that Linux could fit on a single floppy disk, but those days are gone and a modern ditribution is right up there with Windows and OS X. Weighing in at around four or six gigabytes.

Aeros

Kids today have no idea how efficient and fast the Amiga really was

Several flavours of Linux exists for the Raspberry PI, but no matter how slim or trim they pretend to be, they are ultimately to much for the little computer. Linux is just to complex and bloated, which is the sad fact of age and “one size fits all” mentality amongst the developers.

What we really need is an operative system written with the same philosophy like we did back in the 16-bit days; back when every byte counted. One that is powerful, offers silky smooth multi-tasking, a decent desktop environment, networking, a well stocked software library – and that is easy to use.

And this is where my interest in Aeros comes into play, because Aeros is the ARM version of Aros, the re-implementation of Amiga OS!

We have to remember that the original Amiga OS was designed to operate with only 512 kb of ram. Thats right, half a megabyte! And absurd as it sounds, with that half a megabyte it managed to run rings around microsoft for a whole decade. Imagine that. If nothing else, a testament to the ingenuity of its architects.

But why would this be interesting, I hear you say? Why go for a weid, esoteric (by modern standards) and outdated operative system when you can install Ubuntu or Debian Jessie?

I can give you several reasons:

  • Speed. Aros is exceedingly smaller and faster than any Linux window manager
  • Memory efficiency. Aros thrives with just 1 megabytes on a 68k Amiga machine; Imagine what code like that can do with 1000 times the memory!
  • Emulation. Aros supports 68k applications directly via built-in UAE emulation
  • Software. Nearly 30 years of software to enjoy. Also plenty of modern ports from Linux, like The Gimp, Open Office, Free Pascal, Webkit browser (to much to list here)
  • Simplicity. Amiga OS is simple to use, like all brilliant things in life.
  • Nostalgia. Amiga is a part of my history. It holds great value to me personally.

Well, today I decided to take the plunge! So I visited Ares’s website and paid for the premium Raspberry PI Aeros download. My first Amiga related purchase in.. at least over 20 years!

 What do I expect?

As I type this the Win32 Disk Imager application is burning the Aeros disk image to a 16 gigabyte SD card. What do I expect of AEROS? Not that much, all things considered.

I presume that paying 20 Euro gives me access to the premium build, which from what I understand is the native, non hosted version. Aeros has shipped with a purely linux driven foundation for quite some time; understandably ofcourse since that saves the authors the hazzle of having to write a ton of drivers — but the downside is that .. well, unless you are running full-screen without a window-manager, rendering directly to the framebuffer or the X viewport — you are neither an Amiga or a Linux box.

If Aeros is going to continue floating on Linux for foundation support, then at least follow Apple’s example and hide it well. My advice would be to have a special shell window, LShell, somewhere in the utillities folder. Starting that opens up a linux shell – giving you access. Linux should never show itself in the file-system, in the UI or any other part of the Amiga experience.

But what I expect is the following:

  • Being able to run 68k software directly (built-in emulation layer)
  • Enjoy a desktop looking like OS 4 (or some other Amiga’ish theme)
  • Enjoy hardware bashing games through UAE4All2 compiled for Raspberry PI2

And last but not least, I expect the distro to come loaded with the very best of ported and 68k programs. From BlitzBasic II and Amos basic, straight up to Deluxe Paint (or something similar).

So this is Aeros

First impression is important. And immediately on booting the Aeros disk image I was struck by something I did not expect: I was greeted by a fancy 3d animated logo of sorts, which morphed into a text advertising at the end. Wow, that was fancy I thought!

I should mention that this animation is persistent, meaning that you have to see it again, and again, and again (ad naseum). So I sincerly hope the author of Aeros either make an option for this in preferences, or write”true” to a file when it’s been shown – so we dont have to see it again. Things like that quickly get on your nerves.

Within seconds I was greeted by the Aeros desktop, and I must admit — i just went “wow!”. I have never seen an operative system boot up that fast since my Amiga 1200 all those years ago; and the warmth of the desktop color and Amiga like features brought me straight back to my teens. Hacking away at kuma seka assembler and blitzbasic 🙂

Some icons immediately cought my eye, and that was Skype and  Spotify. Thats odd I thought, those are not Linux. And absolutely not ARM Linux. I also noticed DOS Box, WinUAE and the more appropriate Uae4All2, which is a special build for Raspberry PI 2, taking advantage of the different cpu instructions and faster GPU (hardware accelerated graphics).

12400603_10153259775530906_3535886985993446158_n

Downloading FPC while playing a spot of Scumm VM 🙂

But the weird thing was that nothing happened when i double-clicked them. Actually, very little happened when i clicked a lot of those “odd” icons, the programs that just didnt belong on Linux — let alone an Amiga based operative system!

It was then that i remembered the e-mail I got, which said something about unlocking something. I had presumed it was for the product, the native Aeros product — but now I started to catch on. So i registered the product as the letter said, and voila – now i could start these alien programs!

Turns out the Aeros doesnt just come with UAE and 68k emulation built in, it also comes with x86 emulation (!). I must admit that for me, personally, this is completely useless. First of all the Raspberry PI is not powerful enough to run software at a reasonable speed; secondly, the whole setup began to annoy me: I had paid for Aros. I wanted the Amiga experience. Not the Linux experience, and absolutely not the Windows experience.

No choice

As I began to investigate the system I noticed that the theme for the windows were, well how shall i put it, abhorrent? Sort of grey, stripey — not at all what I expected or wanted. But thats ok — I’ll just pop into preferences and change that straight away.

But sadly that was not an option. There simply were no themes to be changed. You could neither change the default background image. An image which to me is childish and counterproductive (the sadist amiga cat whipping a smiling tux? Seriously?). One of my primary goals here is to introduce Aros in schools, teaching kids to program. And a picture like this is not going to fly at all. It creates the completely opposite image of Aros than I believe the author intended.

I dont care about the cat stuff, but it’s just a stupid picture. Nice work, but the image doesnt belong in an OS you want to sell or promote.

222_1_snap

I expected something like this by default, as the very least on offer

Ok. So i cant change the background or the theme. That is odd. In fact while fidling around with the MUI preferences, the whole thing crashed. Twice. Which was annoying to say the least.

High-Contrast

Then came the Linux part, and here the visual theme was set to “high-contrast”, which means bright white on black, with bold fonts and stamped glyphs. Horrible theme.

I did the same thing there, went into “appearance” on the Linux menu, the dialog showing various themes comes up — pick another theme, but nothing changes. It’s bolted shut to high-contrast come hell or high water.

I’m sorry but this is driving me mad. I love the speed and the technical achievements, but not being able to change even the smallest thing — and the bugs? This needs more work. And it deserves it because the project is just what we need!

My verdict

Being a programmer myself I know how “work in progress” can be. And when you are knee deep in x86 emulation, or getting 68k applications to run side-by-side with ARM applications — things like backdrop images, theming and preferences requesters can seem trivial.

But they are not. In this case they represent the ability to actually use and enjoy a product i have paid money for. And it is a product after all. And in all honesty, this is not something I can present to the school board, because its not stable enough, it ignores preferences completely – and it crashes if you fiddle around with prefs to much (read: click to many odd buttons).

I was also very disappointed by the distribution itself. It comes with no 68k software what so ever. Not even BlitzBasic on a coverdisk — or freepascal, which has been ported to Aros and these days runs natively. Thousands of applications has been written in FPC or Delphi for Windows and OS X; It makes sense for Aeros/Aros to come bundled with FPC and Lazarus (ide) to help inspire people to port over their work to Aros. Sadly that is not the case at all.

Now before you think everything is bad — I am paradoxically very excited about this project. Lets look at what the programmer has achieved here. It is by far the fastest desktop i have tried since a real amiga machine ages ago. It uses a fraction of the resources any other OS, Linux or otherwise, demands. Its responsive, and overwhelmingly enough allows you to execute x86, 68k and ARM code. Not exactly a walk in the park!

But to be honest it feels like it’s been standing still for a while. The impression I get is that this is just a pet project, and the programmer havent touched it since last summer or so. Which, if true, is really, really sad- because this system has so much potential.

For the first time in all those years, I feelt like I had a real Amiga again. I completely forgot that this was running on $35 hardware; Hardware that has weaker performance than my iPhone (!). Imagine that. Yet with Aeros, you would think you used a normal PC.

If you expect me to warn you away from this project, then I will actually do the opposite. The only way this project will be completed, is if more people buy, send questions and wait for updates. So I would urge everyone to get this. Its cheap (costing a symbolical 20€) and it helps keep this project alive.

This is one project we really want to see, because it turns your Raspberry PI2 into a real computer. A computer you can use. Something non of the Linux distros can even come close to.

As for verdict: I give this 2 stars out of 6. I would have given it 4 stars had the preferences bugs not been there and everything worked as expected. I would further have given it 5 stars if it was polished and came with a good selection of 68k applications.

A system well worth watching!

 

 

Aros, a Linux alternative

May 16, 2015 2 comments

Lately I have written quite a lot about the old Amiga platform. The reason I am so excited about this is not because I’m reminiscing about my childhood, or because I’m trying to sell anything. Quite the opposite.

What I would like to present is a modern, working and extremely effective alternative to Linux. Because that’s what Aros and Morphos represents. I know this view may come as a surprise on people, even those active in the Amiga retro computing community. But it’s non-the-less true.

What is an operative system?

An operative system is a methodology. Windows represents one such method, and by using their method and doing what Microsoft wants you to – you achieve and can enjoy the features Microsoft delivers through Windows.

OS X is likewise a methodology, it is wildly different from Windows and offers an equally different user experience. Where Microsoft Windows focus more on being a workhorse for all things technical (which I personally think is better than OS X), Apple focus more on creativity, special effects and visual beauty over technical achievements.

One of many, many ports

One of many, many ports

Linux represents the third methodology. It’s both different from and equal to the two aforementioned systems. It is open, free and can be customized and tailored to the needs and wants of it’s users. The downside of this freedom is that compared to Windows and OS X, Linux is extremely hard to work with on a lower level. You really need to know your stuff once you move away from the desktop, and if you want to make distinct changes to the operative system – you must be prepared to master and excel at C/C++ programming.

What about Aros and Morphos

Now that we have put words on what an operative system represents and which alternatives are out there (there are more operative systems of course, but these 3 methodologies represents the most widely accepted) – it’s time to look at a completely different and very exciting alternative. Namely Aros.

Linux has an interesting story which in many ways resemble Aros’s own history. If we go back in time to before Linux existed, universities and science programs primarily used Unix. Unix is after all designed to deal with hundreds and thousands of users, to keep data separate and to provide safety and security for everyone with an account. So it’s perfect for college campuses, scientific organizations and businesses.

Emulation is excellent :)

Emulation is excellent 🙂

But one day a small group of people started to rebel against the proprietary nature of Unix. Back then Unix was overly expensive, so expensive that no ordinary person would afford to own it. So this small group of people got together and decided to write a complete operative system simply called GNU. This system was free, open for all and could be downloaded for no fee what so ever.

There was only one problem with GNU and that was that they didn’t have a kernel which was written from scratch, so people were using the Unix kernel quite illegally. But one day a guy from Finland called Linus Torvaldson came along and wrote exactly that missing piece. Voila, Gnu/Linux was born!

The Aros story is of course different, but there are some commonalities between the two. Aros dates back to the days when Commodore went bankrupt. It was unsure what would happen to the Amiga, would it end up at gateway computing? Would Escom buy it? Maybe Haage & Partner?

In the midst of all this a group of coders joined forces and decided enough was enough. Commodore went bankrupt after years of abhorrent business decisions, wasting and throwing away the potential of the Amiga platform, losing the lead they had over PC and Mac due to negligence and greed — so these guys just had it with Commodore all together. They decided to reverse engineer the operative system from scratch to ensure that no matter what these financial cowboys end up doing — at least Aros would be there as a safe-haven for serious users.

Years of development

Aros has been in development ever since commodore went bankrupt in 1996. It represents a monumental piece of engineering, writing a complete operative system from scratch using nothing but technical documentation and API user-manuals as their source. The group has solved all the tasks which Commodore and it’s troll representatives gave as excuses to why AmigaOS would not be ported to x86. They have solved the 64k memory problems deemed so hard to work with by Microsoft and and others, and last but not least – they have solved the missing kernel which haunted GNU before it became GNU/Linux.

And even if Aros made full use of the Linux kernel and driver database, it would still represent a profound achievement in computing. Raise your hand everyone who knows a programmer which refuses to give up – and continues working 19 years later (nineteen years, that’s just mind boggling).

The question is, what does Aros give you, the user?

The Amiga methodology

As clarified at the beginning of this article an operative system is essentially a methodology. It’s a way of thinking, a way of working and ultimately a way to approach technology and gain access to it’s benefits.

Aros has come a long way since 1996!

Aros has come a long way since 1996!

The reason Windows users find Linux so utterly difficult is because absolutely everything is different. Linux is based on a completely different mindset, and it forces it’s users to develop a specific mode of thought which in turn educates them about the system. The same can be said about Aros, except here everyone will find something familiar to them, because Microsoft, Apple and GNU have all copied and stolen parts of the Amiga when Commodore died (!). So what you are faced with here is the original, the real deal, the big kahuna and true whopper!

Aros and the Amiga is quite simply a fourth methodology; Different from Windows, different from Linux and different from OS X. The key architectural feature of Amiga OS is be user friendly, hardware friendly and resource friendly (Amiga OS will happily boot up in 4 or 8 megabytes of ram. The other systems require 1000 times more memory to run properly).

We have to remember that Amiga OS delivered a silky smooth multi-tasking, fully windowed desktop UI roughly a decade before Windows 1.0 was invented. And it delivered this on computers with between 512 kb to 4 megabytes of ram! Since the old 68k processors did not support MMU (memory mapping unit) the Amiga could not support swap-files or true multi-tasking. But technique for multitasking Amiga OS uses turned out to be damn effective! Even today it outperforms Windows, Linux and OS X.

But the real power of Amiga OS, which ultimately is the power of Aros — is hidden in the actual architecture itself. It’s buried in the software API, the way drivers attach and work, how music is dealt with and how graphics is allocated and dealt with. The power of the Amiga can be found in it’s REXX scripting, it’s global automation support and signal management.

Can you imagine what an operative system designed to work in 4 megabytes of ram can do on a PC with 8-16 gigabytes, ultra-fast graphics cards and 16-24 bit sound chips? Well it’s exciting stuff that’s for sure.

Aros and Linux

Aros is right now where Linux was 15 years ago. Back then “Linux” meant (more often than not) a debian based distro, or perhaps a slackware version. Those were the most popular and debian was the undisputed king of the hill. Most of our modern distros today are fork’s which at one point derived from these older implementations.

Aros and Morphos can in many ways be seen as debian and slackware. Aros is not a “game operative system”. It has nothing to do with the old games machine of the 80’s and 90’s. Amiga OS is a unique creation, written by four people at Amiga Inc, especially Carl Sassenrath which is the author of Intuition and Exec. These guys just wanted to write an OS from scratch — and with Amiga they got the chance. They didn’t set out to make a game operative system. Quite the opposite — Carl and his team put together a unique operative system which for a whole decade was ahead of the competition. This is unheard of in the IT industry as a whole even to this day. And the OS they wrote delivers a high-performing, graphically excellent operative system which turns on a dime.

Not exactly graphically impaired

Not exactly graphically impaired

We should be thankful that the Aros team made it their lives mission to re-engineer Amiga OS for the future — because without it, the methodology and mode of thought which Amiga OS represents would never have survived. It would be a blast from the past, a true gem buried in the sand and forgotten.

Thanks to the Aros team, modern programmers and computer users can see for themselves just how cpu, memory and space efficient the Amiga methodology and formula is. And with a bit of work, turning this operative system into a killer business provider should not be a problem.

What about drivers

I had a chat with a individual on the Amiga User forum over at Facebook about this very topic, and unsurprising he was against the idea. Actually I dont think he really thought it through. He just went into “automatic” mind mode and said “It will never work, it’s a waste of time”. At which point I have to ask “what is a waste of time?”.

NVida has an excellent API

NVida has an excellent API, and you get a mighty bang for your pennies!

Aros can be downloaded on a live CD and tested on any x86 PC. Naturally you can expect it to work on every configuration on the planet, but the majority of modern PC’s will work just fine. So what exactly is it that makes this so much worse than, say, Linux?

In order to ensure driver efficiency I would propose that Aros picks out a fixed and easily available hardware platform, I can suggest the following (and it’s thought through, so please think about it before you just criticize it).

  • NVida Graphics hardware
  • Easily available motherboard with:
    • On board sound hardware
    • On board TCP/IP socket
    • On board Wi-Fi hardware
  • Intel i5 – i9 processor

The list of drivers required for such a setup:

  • NVida graphics API driver
    • VESA fallback driver [8 .. 32 BPP]
    • OpenGL integration unit
  • USB hub driver
    • USB mouse driver
    • USB keyboard driver
  • Standard Sound API driver (ASIO compliant)
  • Standard IDE device driver
    • CD-ROM recognition
    • Harddisk recognition
  • Standard Sata harddisk driver

This is essentially the number of drivers you would need. And just like Apple you must ensure that all new Aros PC’s have this spec. The CPU type and speed may vary, the nVida graphics card may vary and disk sizes may vary between models. But as long as you stick to the motherboard type and graphics adapter — you essentially have a device driver collection which needs no major work for at least 8 years. It all depends on the hardware vendors and how long a motherboard remains on the market (typically 4-5 revisions with an equal number of models).

Where you will find most work for future support, or like Ubuntu – a full online driver database and hardware recognition service, is under the USB topic above. Keyboard and mouse represents the bare basics. Once you have the USB hub and ports operating, the fun work begins 🙂 And there is almost no limit to the amount of stuff you want to recognize. Personally I would opt for USB stick brands before anything else, but that’s not my department to decide on.

As you can see, it’s not that hard to work with this. The hard part is finding people who are willing to write a driver, spend some time debugging and testing and ultimately donate to the Aros desktop and operative system. But like I told my friend while we were debating, it’s not black magic. Amiga OS itself was written by four (4) guys. What’s important is that the key programmers know their stuff and are willing to donate some free time.

I for one cant wait to get started. I really hope the Aros team picks up on this — because there are tons of programmers out there who really want an alternative to Linux!

Just imagine what an Amiga based web-server would run for? It’s a system which delivers top-notch multi tasking in 512kb.. now give it 512 gigabytes of ram, a kick ass CPU and watch the sparks fly! It would outperform even Linux, that’s for damn sure.

Amiga programmer looking for work

May 15, 2015 11 comments

You may fear I have completely lost my marbles here, but I am actually underlining a very important point. Namely that Morphos and Aros represents two potential branches of what could be real-life, popular, fully functioning alternatives to Linux, Windows and OS X. In fact, if you go back 10 years in time Linux was dominated by debian clones. And from that root at least 15 different distros have their origin today.

So essentially, if the Aros and Morphos teams decide to go for it — they can in essence bring the Amiga OS formula back from the dead and turn it into the most popular, easy to use operative system in the world. There is absolutely no reason why that cant happen except if they waste their potential (in good commodore style?).

So is it room for another operative system? Because an operating system represents more than just a “desktop”. It’s essentially, like mentioned, a formula for dealing with hardware, controlling your system which boubles up to how you work and interact with your computer. Even a simple thing like driver architecture affects your everyday life; even if you dont know it.

Amiga OS, be it clones or the real-deal, is unique in this respect. And considering the amount of work involved in re-writing an OS from scratch (so hat off to the Aros and Morphos teams!) I see no reason why Amiga OS cant become a dead-serious alternative. Aros runs faster than both Linux and Windows on x86 hardware. It supports high-quality graphics and sound, and it has the potential just like windows to support an equal amount of hardware as well. Although porting drivers from Linux is probably the best way to go about things.

Paradoxically: If you ask why it takes so much time for Morphos, Aros and even Amiga OS 4 to see any updates (what is it now? 2 official updates in 15 years?) you always hear the same thing: “Sorry, we dont have enough programmers”.

Well I would like to offer my services as a programmer for Amiga; Aros or Morphos. I havent seen a “Amiga developer available for work” advert in 20 years, yet I see people asking for new stuff all the time — clearly something is missing between the two right?

Want software? No problem. Get FPC installed and give it here!

Want software? No problem. Get FPC installed and give it here!

My curriculum is long, but I master object pascal, 68k assembler, C, C# and a variety of other languages. I even know blitzbasic from the old days if that helps. I work full time as a developer for one of the largest software houses in Norway every day.

My favorite language and probably the most productive, fast and powerful (en-par with C/C++ and better) of all aforementioned is object pascal. I noticed that both Aros and Morphos have FPC support — which means I will be able to push my 15 years of professional experience with that language into whatever program you chose.

However, I do expect to be payed a normal salary, or at the very least a normal one-time fee. And this is probably where it all falls apart. But for the right project and if you allow me to use object pascal — i will deliver some kick ass ports to your Amiga based platform.

Some projects which will take me no more than a couple of days to knock out per piece: WinZip clone, WinRar (and Rar5 compression), PDF reader/writer, programming IDE based on SynEdit (and forked derivatives, this is one of the best coding editors around – supporting 15 different syntax highlighters, code suggestion, code completion and much, much more), JavaScript compiler (compile object pascal to high-speed, OOP JavaScript. Javascript is not OOP so we sculpt the VMT in code ourselves). Heck I can also make a lot more — the sky is the limit. What about a cool service layer and cloud distribution system? Hook every Amiga into the cloud? That would be fun! Imagine REXX scripting towards those pipes 🙂

Or what about a brand new programming language? I love working on compilers, parsers and IDE’s.

Others? Sound editors? Networking? — I have a collection of around 5.000 high-end re-usable programming components. All of them are pure object pascal, meaning that they can be dropped into any freepascal project and be used identically on Windows, OS X and .. well, Amiga. The only dependency is freepascal and the LCL (lazarus component library, a.k.a “run time library, like a C library for gadget.tools). Some adjustments must be made naturally since Intuition might not be up for some of the more complex stuff, like the office clone, the outlook mail components (yes they look and work like microsoft outlook, except they are written in object pascal and platform independent).

So — now you have no excuse to say there are no good programmers for Aros, Morphos or classic Amiga OS — because a damn good developer is asking for Amiga work right here. I have more than 15 years of professional programming behind me. Before that I was a kick-ass hacker, member of Alpha Flight and later Quartex — elite groups both of them. If you have a peek at “products” page (top menu) you will find some of my work, but far from all.

While I dont want to say that A is better than B, I do feel that Aros may have the upper hand over morphos – since x86 hardware is easier to get a hold of. But since I have 3-4 mac’s capable of running morphos and around six PC’s capable of running Aros, that’s not gonna be a problem.

What I need

  • A disk image with the OS pre-installed
  • FreePascal (and preferably Lazarus if available) installed on the Image
  • No bloody nag screen
  • Well written project description, with each form of the app clearly defined (normal software spec)
  • Reasonable timeframe for part time work

Note: For classic AmigaOS I would need help getting the damn thing to run. I presently have only an old A500 + CD32, I have a furious 2xdual core G5 PPC morphos machine, and a monster powerful Aros PC. But if you want to delegate heavy duty programming on OS 4, then you need to set me up with a suitable machine first.

Aros, winner of most interesting OS

May 12, 2015 2 comments

Right. As most readers know by now – once a year I get this unstoppable desire to check out all things alternative in the realm of operative systems. I mean, it’s important to stay on top of our game as developers, and the only way to do that is to make an effort. In this case an effort to look at upcoming systems which may become our own sometime in the future.

And as always one of the criteria is (drumroll) that they should support Object Pascal.

The AROS operative system

Aros desktop, not exactly graphically impaired

Aros desktop, not exactly graphically impaired

Now this year’s winner of “most interesting and promising operative system” must be Aros. It’s a fantastic little OS with plenty of features, and almost as interesting as the operative system itself is it’s exciting and rich background. How do you know that users love their OS? When they decide to reverse engineer it from scratch after the owner goes belly-up, just to make sure it survives (!).

Yes, that was the case with Aros; It’s actually an old-timer in the group of “new operative systems” because Aros is short for “Amiga research operative system”. Yes you read right, Amiga, as in the 1983-2001 prodigy home computer. Odds are that you owned one of these machines in your teens or at least heard of it, and if that is the case then you most likely remember Amiga OS. This was a wonderful operative system lightyears ahead of it’s time. It actually was technically superior to Microsoft, IBM and all the other players back then with around 12 years. That it’s potential was never realized ultimately came down to some spectacularly bad business decisions at Commodore. Never let people who cant code run a computer company.

For my part I remember Amiga OS vividly. My best friend at the time owned an IBM PC and while he was stuck in DOS playing Larry Leasure suite, I was doing things he could only dream about under Amiga OS. I actually learned all my programming skills on the Amiga, so I was an above and beyond fan of the system throughout my teens and well into college.

It was only when Windows 95 came along with it’s fancy new driver system, fast graphics processor and soundblaster cards that the tables were turned. But for roughly 13 years (in Norway at least) the Commodore Amiga was the undisputed champion; both operative-system wise and game/multimedia wise. It was cheap, efficient and the #1 creativity machine. In fact Apple only recently implemented support for REXX which is a scripting system Amiga OS supported from 1990 and beyond (version 1.3 of the software). That speaks volumes about how far ahead Commodore was.

Ok, but what can Aros offer?

Classic Amiga OS version 4

Classic Amiga OS version 4

If you are expecting a boring, grey desktop and faithful reproduction of the early 90’s then no, that is not what Aros is about. Aros is reverse engineered from the Commodore Amiga OS formula; based on available API documentation. As such it’s designed to be compatible on API level, not binary compatible with ancient 16 bit software. In short this means that you can take an Amiga C source-code for instance and re-compile it to run under Aros. But Aros really represents something much more valuable than retro flirting: It represents an actual future for an OS which delivered multitasking a desktop environment 10 years before Windows 3.11 was invented.

The reason Amiga OS has survived all these years is because it’s underlying architecture is brilliant. The way drivers work, the layout of the file-system, how libraries are loaded, how memory is managed, how multi-tasking is solved — all of these things are dealt with in a way which makes for a fast, responsive and highly enjoyable user experience.

It’s not like Windows where evolution meant patch after patch after patch. Amiga OS was designed to avoid bloat. It was designed to deal with libraries and extensions gracefully and intelligently. It was designed to boot fast, respond fast and deliver maximum performance with ridicules sparse resources. Amiga OS boots happily into as little as 4 megabytes of RAM. Yes you read right, four megabytes (not gigabytes). And the speed is phenomenal, you wont believe it until you try it.

Aros is absurdly fast

Aros is absurdly fast

So, with Commodore long gone and the copyright holders showing no interest in doing anything with the Amiga brand, Aros is ultimately the last hope of a realization of this 30 year old dream. A dream of a small, compact, fast and “no bloat” operative system performing miracles from pennies and scraps of ram and CPU. And it works brilliantly. The formula which Carl Sassenracht (the authorof large parts of the OS) deviced all those years ago has proven to be the software equivilent of the ARM processor. ARM was likewise an “old timer” technology until recently. It was almost shelved and taken off the market, it was just by accident that they discovered that the ARM architecture could run just as efficient on low-voltage as it did on “ordinary” power. Had it not been for that economic feature, ARM RISC cpu’s would be a thing of the past.

The Amiga is just like that. An older formula and architecture of an operative system, but one which delivers so much computing power with absurdly few resources. Imagine what Aros can be with a few years of development behind it, and perhaps a couple of hundred programmers?

Have you ever wondered just how fast your PC really is? Imagine how fast Windows would be if it was hand-coded in object pascal and assembler. Not a single procedure wasted and no bloat what so ever. Well with Aros you will find out, or at least as close as you can get. Aros is written in C/C++ (like most operative systems), but the architecture and philosophy ensures that it remains small, efficient and lean. My Aros PC boots in around 3 seconds from powering it on until I can use the desktop. And this is on older hardware (my test machine was a 8 year old dual-core system with 4 gigabytes ram). The desktop is snappy and things like moving windows around, playing video — it’s so bloody fast you will hardly believe it.

To be honest, if Aros keeps this up it will turn into a money saver. Windows and Linux has gained weight over the years, both in complexity and media integration. Aros represents in many ways a clean start, a start with a vision which is now 30 years old. A dream of an OS so lightweight, elegant and easy to use that it makes computing fun again. An OS where efficiency matters and everyone tries to tweak the last drop of CPU out of their code. A system where code is regarded as a work of art.

What about software?

This is why I have given Aros a Mickey rating (both winner and loser), because software will always be a new operating system’s achilles heel. But it’s really not as bad as you think. It’s millions of miles beyond obscure systems like Risc OS (recently re-surfacing and enjoying a renaissance on the Raspberry PI). Why? Well, first of all the Aros authors have provided tools for porting from Linux free for all. Secondly, they have made a few extra libraries to facilitate porting to the platform — and third, because Aros can run 68k (Motorola 68000 CPU) based software!

Loads of juicy titles for Aros, but more is needed

Loads of juicy titles for Aros, but more is needed

That’s right, Aros is capable of running almost all classic 16 bit Amiga software through UAE integration. And believe you me, 20 years of coding makes for a rich and mighty collection of software titles. But yes, this large resovare of software is older. So if you are expecting Adobe dreamweaver, mono developer or Photoshop — that’s not going to happen any-time soon.

But if you can live with The Gimp, like millions of Linux users do — then you will find Aros well stocked in the graphics department.

Software development

And now for the biggie. Does Aros support object pascal? That is the mother of all questions isnt it, at least for us Delphi, SMS and FPC developers. There is no point using a platform we cant program for right?

Well I am pleased to say that Aros does support object pascal and there is a full port of freepascal for the platform (!)

Lazarus is still being ported, so it's not quite ready

Lazarus is still being ported, so it’s not quite ready

It must be underlined that Lazarus is still being ported (!), only FPC is ready out of the box, but lazarus will be excellent on this platform! Lazarus feels more at home with Linux due to it’s multi-window layout. Well, Aros is based on Amiga OS which means you can run applications in their own separate screen. And in such an environment Lazarus really comes into it’s own. It’s the undisputed king on Linux, making mono/C# look like a sad toy in comparison.

Using Aros as a real desktop

Before you sell your house and donate your mother to science, you should give Aros a proper test-drive. You dont want to wipe you Windows installation without really knowing what you get. I recommend installing Aros into a VMWare image first (or some other x86 free emulator from Sun) just to get to know it properly. Remember to create two partitions, one boot and one work (larger). This is more or less traditional for Amiga systems.

Is it ready to be the default desktop? Soon

Is it ready to be the default desktop? Soon

To get a hold of software you point your browser at Aminet, which is the #1 source of 68k and more modern software. There you will find classic stuff like PPaint, Deluxe Paint and ofcourse, freepascal. Exploring the Aros website is also a good idea.

Like all small communities (just like the Delphi community) there are forums you can become a member of. This is perhaps a good start so you have someone to ask and help you out. But Aros / Amiga OS is so much simpler than any OS you have tried to date, so once you “get it” you will be able to navigate most of it without help.

Entering a platform with a bang

The utter upside of any platform is that there will be a huge demand for software. In fact, the worst platforms to create software for is in many ways Windows and OS X, because there you will find hundreds of different alternatives doing the same thing.

On a new, fresh OS the competition will be weaker and you stand a good chance of making some cach once the user-base has brown beyond 10.000. I have no idea how big the Aros world is, but I do know there are at least 10.000 Amiga users in the world, be they retro-gamers or die-hard Amigans. The Amiga is actually a phenomenon. It’s 30 years since it was created this summer; and it went out of production around 1999 (Commodore filed for bankryptsy in 1994, but the license to produce and sell Amiga lingered on for many years). Yet still there is a living market for these machines. These are 30 year old computers running at 7 Mhz (not Ghz, but Mhz), yet people love them to death and still use them in their thousands!

It's an impressive feat, remember this is a user project!

It’s an impressive feat, remember this is a user project!

It should be mentioned that a CPU frequency comparison really means little for the Amiga. It has a set of custom chips dealing with memory copying, pixel moving and everything else. Also the motorola CPU is very different and can do a lot of stuff intel cant with few instructions.

The Amiga was ultiately beaten technically by the lack of single-datatype pixels (e.g: 1 byte for 8bit, 2 bytes for 15/16 bit, 3 bytes for 24 bits and 4 bytes for 32 bit graphics) like the PC have. The Amiga had something called inter-leaved graphics which means a single picture is divided into X layers at different places in memory. For a 32 color display you actually have to write to 5 different memory addresses to set a single pixel (!)

In short, the Amiga has to work 5 times as hard to deliver the same as a PC. Yet you will see these old Amiga computers knock out effects and demos which are en-par with modern PC demos. It really is a strange and mysterious social phenomenon, shrouded in mystery and lore — the platform just wont die! It’s almost ridicules how much beating this system takes, yet there it stands — a reminder of what could have been. An alternative reality which could have been ours where operating systems were light, fast and fun – as opposed to big, bloated and expensive.

Freepascal on Aros

One of the things I love about object pascal no matter the dialect, is that just like the Amiga – object pascal is a language which just wont go away. People have been predicting the downfall of object pascal for decades now, yet object pascal is still highly popular and very much in demand around the world. And just like the Aros team reversed engineered Amiga OS from scratch, so did the FPC and Lazarus team do with Delphi. They cloned a free, open-source version of a language and development platform they loved – to ensure that it would survive regardless of it’s legal owner’s whims.

Older freepascal running under AROS

Older freepascal running under AROS

The result today is that object pascal has a huge, staggering, overwhelming public domain library of source code. You will find units and libraries for just about every conceivable topic. From super-fast games to serious and excellent tools — object pascal have it all.

This means that with a bit of porting work, replacing OS calls where possible – or re-implementing stuff in pure object pascal, thousands of titles could be implemented with ease on the Aros platform. A person with skill and a bit of time on his/her hands can really make a nice bit of money here, by charging a small fee for each program and being honest and give support, the Aros platform would grow rapidly — and your income with it.

Final verdict

Hm. This is always the tricky part.

Aros is slowly becoming a complete desktop environment. I think it’s important to separate OS from desktop, because they are essentially two different things. The OS is what makes a desktop possible, what makes windowing possible, what makes everything possible. A desktop is the human interface into those features- typically provided through default programs and behavior.

Aros is, shortly said, a pretty faithful re-implementation of Amiga OS. But it has evolved away from the old Amiga look and feel (thankfully). But while the underlying OS is no doubt up for the challenge, the desktop experience and default software doesnt quite impress. At least not users who havent started an Amiga in 20 years, or people who have never used an Amiga at all.

Having said that Aros is “almost there”. It’s missing a few minor applications which will add the final touches, but most of all it’s missing that “killer application” to make it popular. For Microsoft it was Word that started it all, for Mac it was no doubt Photoshop, Logic and pro-tools (counting from when Steve Jobs came back up until now), followed by the “family package” which is iMovie, iTunes, iThis and iThat. You get fantastic apps with your mac and that draws customers in.

What Aros really needs is a fantastic software package which only exists on that platform. What exactly that should be I leave to you, the reader. As object pascal programmers and armed with the might and onslaught of our collective source-code repositories, I have no doubt what so ever that it can be object pascal that delivers this — but it will require hard work, dedication and a vision.

If Linux is not your thing — head over to The AROS website and have a look — and yes, it’s free (!)

New Delphi / FPC market, get in early!

October 24, 2014 1 comment

Being able to target and get involved with an operative-system early is imperative for success in the field of software development. The Delphi community knows all about this, being thrown into iOS and Android at the eleventh hour – when the market was fully saturated, leaving Delphi programmers with nearly zero potential for economic advantage.

To make a long story short – those languages which can target a platform early, tend to be the languages that secures a long-standing, solid foothold over the platform. While the iOS and Android train has left the building – and we can now only compete on quality and complexity: there are more operative systems rising which can be potential gold-mines for Delphi and FPC developers.

AROS

You have probably never heard about AROS. It’s not Linux, it’s not Windows, It’s not Unix nor is it based on Spar, be-OS, RISC OS some other esoteric operative system. Aros is a free-standing alternative, open-source and free for use, who’s quality has now reached the point where viable, commercial applications is a reality. It has gain momentum and that’s the perfect time to invest in something..

Aros rocks!

Aros rocks!

Aros was created to be a clone of Amiga OS, which is probably one of the most advanced operative systems the world have ever seen. Many of the features that OS X have added only recently are actually over 20 years old (like inter-process scripting, AREXX in Aros terms) and ran on Amiga workstations and servers years ago.

For those that havent heard about Amiga OS or who just remember it as a multimedia-computer from the late 90’s, Amiga OS in many ways the perfection and blend between Unix and OS/2. It sported a full multitasking desktop 10 years before the PC got Windows, a desktop which is more or less identical to what OS X and Windows have today (20+ years ahead of its time). Amiga OS was wildly popular in Europe during the 80’s and 90’s, but somehow it never got a foothold in the united states (with exception of high-end movie production companies), mainly due to the onslaught of Atari, Apple and Microsoft marketing.

Amiga OS 4, not exactly graphically impaired

Amiga OS 4, not exactly graphically impaired

The Amiga went out of commercial use around 1996, but in Europe the platform is still in use by enthusiasts. Which is ultimately where AROS for x86 and ARM comes in. There is still a very evolved, very modern version of the “official” Amiga OS, which you find here: http://www.amigaos.net/, but this article focuses on the X86 and ARM ready open-source clone: Aros.

Present state

As of writing, freepascal and Lazarus is being ported to Aros. This is fantastic news because it means that object pascal is finally getting into a near-future-economic platform early. The operative system has been using the linux kernel for a few of years (in order to boot up properly and take care of memory models and various other “tidbits” we take for granted), but now it finally has it’s own sub-systems and stands on it’s own feet.

It’s pretty awesome considering the amount of work involved!

Uses for Aros

If you feel Linux is to complicated to deploy in a work situation, and Windows and OS X to expensive — then Aros might be for you. It was originally written for x86 but has recently been ported to ARM (with a PPC port also being worked on). This means that the OS can run on anything from mobile devices to high-end servers. It is a perfect candidate for embedded systems.

Aros is more than a capable desktop environment

Aros is more than a capable desktop environment

Aros follows in the proud Amiga tradition of “performing miracles with extremely few resources”, meaning that the operative system itself requires very little RAM and disk space compared to Windows or OS X. It will happily run full-speed with 1 gigabyte of memory and 400 megabytes of disk space (and smaller for that matter).

It’s also modular, which makes it an exceptionally good embedded operative system, along the lines of QNX Real-Time OS, which costs a truckload of money. Aros on the other hand is open-source and free (!)

Getting creative

So if you feel like getting into the operative-system early, porting over software from Delphi to Aros Exec, now is the time to find out what it’s all about!

Other markets

As you have probably heard, the Mozilla foundation (the guys behind firefox) has ventured into the mobile operative system market, and FireFox OS is becoming a reality.

One of the great things about FireFox OS  (FFOS) is that all the applications are JavaScript based.

This may not sound like good news but it is, because it means you can use your Delphi and FPC skills with Smart Mobile Studio and create complex and solid applications immediately. You will also have a distinct edge in how SMS gives you true OOP, while native JS developers are stuck with ordinary prototypes.

Mozilla FireFox OS

Mozilla FireFox OS

Links

Building a modern Amiga, notes and ideas

October 18, 2014 11 comments

Ordinarily this is not a post you would find on my extremely dedicated Delphi and Smart Pascal blog, but readers will no doubt have noticed my love for the old Amiga home computer. A lot of my effect code have comments hinting to their ancient Amiga roots, and I have made no secret that I think it was a great tragedy that the Amiga went under (especially since those that buried it were board-members with no real passion for the product).

Sexy, compact and extremely fast! Amiga OS

Sexy, compact and extremely fast! AROS

But all is not lost, in fact – while a lot of Amiga boards are filled with a rather thick atmosphere of defeat and memories of glories long gone, the truth of the matter is that there has never been a better time to be an Amiga user! Never since you could buy a real Amiga has there been more options for people to chose from, and after nearly 30 years that speaks volumes about the platform.

UAE (universal Amiga emulator) is a fantastic piece of software engineering. It exists today in many forks and flavors (a “fork” is when a programmer clones the code, which is called a branch, and starts working on it. The process of cloning is called “fork-ing”) on just about every possible platform out there. This means that you can now turn almost any PC, especially older PC’s, into a fully fledged Amiga. In fact UAE not only runs on x86 based machines, but ARM and PPC chipset’s as well. So if you have an old G4 or G5 Mac in the attic – why not give it a new purpose as an Amiga?

Now I know what you are thinking: That’s not really an Amiga is it!

Well, that is of-course true in the literal sense, but while I could spend a few hours digging into the philosophy of what an operative system represents, or if you truly are you since the cells in your body change every 8 years or so –It would be rather pointless. Instead, I would rather spend my time looking closer at what I can do, and what my options are! In other words: what can we do to build a modern Amiga through emulation?

Options for building an Amiga

I wrote an article about how I used a humble Raspberry PI to fully emulate an Amiga, booting into UAE from linux automatically (so no Linux login-prompt. It boots straight into Workbench). Using off-the-shelf battery packs I even made it portable with 6 hours game-time without a power supply!

So the Raspberry PI is one way of going about getting a cheap Amiga. But as many people have commented – you can’t emulate an A1200 since the RPI (Raspberry PI) is not powerful enough to deal with AGA copper code. Im not even sure AGA is included in the UAE4All code (I havent looked at it) to be honest.

Also, I havent touched an Amiga since 1995 so the fact that I managed to get the system booting on a Raspberry PI after fiddling with it for less than an hour – is nothing short of a miracle in my book. It was almost an emotional experience, sitting in my living-room testing rocket ranger at age 41 (had the house to myself that weekend). That was the first Amiga game I bought as a kid and it released an avalanche of happy childhood memories.

I sincerely doubt PC owners feel the same about that 386 DX 1 they used to own 🙂

The power of freeDOS

Right. While using a Raspberry PI for your Amiga emulation is a good option, it can be a hassle to setup correctly (as many have reported). I am no Linux guru so I suspect I got lucky. Thankfully I have gotten some help after that, to make a boot sequence which is safer and valid (hope to upload a disk image when version 2 is done).

The second Amiga option is to buy a dedicated PC and install freeDOS + UAE, that is probably the fastest UAE you will ever get your hands on, since the CPU will be 90% dedicated to UAE itself. You can read more about dosUAE here. But keep in mind that this is DOS, so dont expect a codebase updated recently. But it works, no doubt about that.

DOS UAE is old but cool

DOS UAE is old but cool

The downside with regards to DOS, is that unless you have drivers for your graphics card (and a decent packet-driver for your network adapter, if UAE for DOS even supports that?) – then it wont be usable for much more than playing games. Packet drivers and “modern” dos software for new hardware is primarily the domain of embedded boards and custom designs (read: offshore, oil industry and military systems). But if you have an older PC with networking and graphics card setup correctly — why not give it a try?

The power of Linux

The same formula likewise works for a dedicated Linux box – which is a much better option than DOS since it eliminates the driver problem off the bat. This is the option I would use, because if you boot from Linux you have the benefit of hardware support. Like mention in my previous article, Ubuntu has roughly 3 times as many drivers than other distros due to the fact that it’s funded. The owner of Ubuntu has thrown massive amounts of money on driver development over the years because he knew that drivers were the key to a successful desktop operative system. So if you want a fast Amiga (as fast as Linux can push UAE) with the best possible support for fresh modern hardware (thinking especially about graphics and GPU support here) then Ubuntu Linux is as good as it gets.

The power of Windows XP

If you are going to dedicate a computer to your Amiga resurrection project, then a very fast option (probably faster than Linux and less hassle than DOS) is to install Windows XP. If you have an old XP machine you no longer use (especially if already has drivers working and is ready for use) this will have a leg up on DOS and is easier than Linux. Depending on your Linux skills naturally.

For casual gaming and retro coding

For casual gaming and retro coding

Windows XP is easy to modify to your own diabolical ends, like altering the boot-image, no login prompt – and putting UAE in the startup folder. That is basically all you need to do for your Amiga-XP-Box.

Oh and you get the benefit of using hard-disk images (or why not dedicate a whole partition for your desktop?).

The power of thin clients

This is a great option that is both non-expensive and clever. Thin clients are mini pc’s that were built to only display programs that execute on the server. Even today many TC’s ship with Windows XP embedded. A thin client is “bare-bone” with little or no disk and RAM in the 1 – 16 GB range. More than enough for your Amiga (the Amiga can do wonders with 2 megabyte, so 1024 times that is practically nerdvana). And what you do is the exact same as you would do for the dedicated XP box: You alter the boot process and fire up UAE immediately.

More than enough for Amiga emulation

TC’s — More than enough for Amiga emulation

Depending on the model it will be roughly the speed of an A4000 060 (or so I’ve heard, I have not tried this myself). I highly doubt older models can reach anything close to a 68060 processor, but state of the art TC’s might. It’s impressive how much CPU power they cram into small gadgets these days. My phone probably have more raw power than a pimped up Amiga 1200 had. But it’s how power is used that matters, and no modern device comes with software as ingeniously designed as Amiga OS. It runs on air and tears of ducklings.. It’s a work of art.

Just to make my point I did a quick visit to the most used Norwegian second-hand online marketplace FINN.NO and I found a guy selling 6 (six) HP thin clients at 100 NKR a piece ($9). That’s a bargain if I ever saw one. Here is the article link (will probably vanish quickly).

The power of torrents

I know it’s not good form to encourage piracy but we are talking games bordering on 30 years old (in some cases) so I have no problem looking at the massive collections of Amiga software out there in “torrent space” – as a pure resource of brilliance which belongs to the world. Having said that, I think people should avoid at all cost piracy of OS4 or Amiga forever. It is highly unlikely that any new environments will be created for the Amiga if people copy those systems; and besides – we are old enough now to recognize that programming is hard work. I work as a professional developer and know full well how much it hurts when people crack what you worked for 2-3 years to achieve. If you use it, support it with a purchase!

And this is coming from an ex Quartex and Alpha Flight member (for those of you that remember us). So it’s not without a sense of irony that I write about piracy.

But fact is, you will find gigabytes of games and applications online, much more than you ever had when you owned a real Amiga in your teens. The same goes for MAME (arcade emulators).

Downloading 3.500 Nintendo, Sega, Neo-Geo and Amiga games in <15 minutes is almost to good to be true. Remember Turbo-Tape on C64? You set the tape loading before you went to school and perhaps Last Ninja was done loading by the time you got home 🙂

The following search at PirateBay yields some interesting results:

http://thepiratebay.se/search/Amiga%20games

Sugar and salt

If emulation is not your thing then we should also recognize that there has never been more Amiga based operative systems than right now. Some prefer the old workbench, some prefer the new OS 4.X desktop and others still enjoy the clones. Which as of writing is Aros (and derived clones) and the “inspired” MorphOS.

Pimp up old hardware with a small, compact and lightning fast OS

MorphOS – Pimp up old PPC hardware like an G4 Mac!

Both projects have their positive and negative traits. The positive have to do with the fact that they retain and protect the legacy of Amiga – the negative is typically personified by lack of compatibility with 68K software and lack of drivers. If there is an elephant in the room, it’s undoubtably the lack of hardware for “modern” Amiga operative systems.

Having said that, people always find a way. While I havent been a part of the Amiga scene for many, many years – one thing you can always count on is the high level of skill and technical know-how in the community. If there is a technical problem, someone always figures out a solution. Just look at all those A1200 machines retro-fitted with USB disk-drives and ADF readers? So nothing is impossible.

Example: I picked up a second-hand G5 Mac with 2 monitors for 300 NKR ($30 or thereabout). Useless by modern standards and can only run “vintage” OS X, yet it runs MorphOS faster than any other machine I have! Including my brand new iMac and my Linux gaming PC (!). Imagine what a true port of Amiga OS for PPC would look like.

Truth be told, modern operative systems dont properly use the CPU. Optimization like simple “loop expansion” like we used all the time in the old days is rarely found in modern code. So when a truly human written piece of code is found, it’s typically lightning fast, small and very efficient.

New machines

From what I understand there are two systems being developed by third parties. The first is x86 based and meant for Aros, the second PPC based and suitable for MorphOS. But from what I read online prices for these systems are astronomical and borders on insanity. No-one in their right mind would pay three times as much for an “average system” just because it has a sticker with “Amiga” on the side. Refuse to buy these machines. Get a decent machine and run Aros or MorphOS in protest (!)

I must admit that I find the Amiga situation completely absurd. I have no idea who owns what, but whomever owns the OS should wake up from their psychosis – because there is absolutely no reason to sit on the Amiga codebase if you are not going to do anything with it. It’s been 19 years since I owned a real Amiga, nineteen years (!) and I it can only be described as retarded that the Amiga situation is exactly the same now as when I left.

Aros is pretty damn cool!

Aros is pretty cool!

As a developer myself I realize that the amount of work required to port Amiga OS from 68K architecture to x86 is enormous, but 19 years? I could have written the damn thing myself by now! What exactly are these people waiting for? And whomever owns the hardware rights – why can every other company out there just as small as you, create and release platforms based on off-the-shelf technology, and get it right; yet for the Amiga (which incredibly enough still has thousands of fans), building a machine is impossible?

I think we can safely assume that the owners have no intention of lifting a finger. No company is that slow neither in production or the head to fail so utterly over so many years. Sorry to burst a dream or two, but it’s utter rubbish to still believe that these companies/people have any tangible plans for the Amiga other than flamboyant nostalgia.

Interestingly, the one project that could actually give the Amiga a shot (at least as a “cult” like OS) was something called Amithlon, which was a custom Linux system which booted UAE directly (hm. interesting idea). In other words, a customized version of Linux – giving the Amiga side of things all the benefits of hardware abstraction and even new libraries for programmers to use (!)

But that was clearly to successful to the morons that own Amiga today.. heaven forbid that Amiga should run on x86 without problems — so the project was canceled (jaw drop’s here). Sometimes you just have to question the collected wisdom of the Amiga license holders. It’s almost to stupid to comment on.

Amithlon, worked like a charm on x86 -- so they killed it

Amithlon, worked like a charm on x86 — so they killed it

Still plenty of options

If we look away from the obvious stupidity of whomever owns the Amiga brand, hardware and software rights — the situation is actually optimistic: UAE takes the Amiga everywhere, and with modern processors spending most of their time in idle state – emulation is not the penalty it used to be. Heck, if UAE was modified to make use of multi-core threading, the emulation would be damn close to un-measurable in some cases. The guys behind UAE deserves a medal, it’s an excellent piece of software engineering (or reverse engineering).

I can’t remember the last time I booted an actual, real Windows machine. I do all my development in VMWare these days, including Linux and OS X development. So why I can’t enjoy my Amiga desktop with all those titles and programs is beyond me. Heck, putting together a decent emulation-station from either a cheap embedded board, thin client or older PC is a piece of cake.

Cloud, the future or everything

Cloud

Cloud

Despite the ridicules management of Amiga rights, the Amiga actually have a shot of reaching mainstream once again. Cloud services does not simply mean hosting – it also means that you upload a whole disk for executing it in the cloud. A bit like what thin clients did for terminal services, but 100 times more powerful!

With cloud taking over — it will no longer be a question of hardware, but rather a question of platform. If the Amiga have any future then that’s it. The alternative is that it remains the most widely emulated and loved home computer in the world.

A second market would be embedded systems. Have a sneak peek at QNX real-time OS. That could have been the Amiga, but someone figured it was better to do nothing for 19 years (except OS 4)… Just.. way to go!

And to those who own the rights for Amiga: give the source-code to the community. Make Amiga OS open-source. It’s the only way you will get the manpower to catch up with all the missing features. And if you ever wanted a native x86 version, then open-source is the only way to go.

What is the point of owning an OS if you are not using it for anything?

But to be honest it doesn’t matter what the Amiga copyright holders do. Emulation is so damn good these days that people have little or no use for an official Amiga. 20 years without a proper update is a long time. Just imagine the amount of code invested in Windows or Linux during those years — you can’t catch up with that without a miracle.

But once the C/BCPL code was made open-source, that reality would change drastically for the better.

So what do we need? A product that runs better on the Amiga platform (again, not hardware) than any other OS. Just look at what Apache and mySQL has done for Linux over the years. The Amiga would need something like that to adopt a serious role in the server community. Even if it was just cloud based game emulation for that matter.

Final words

Some people might think was a negative article, but it’s actually not. In Norway we have a saying which, roughly translated, goes like this: “sometimes you have to call a chair for a chair”; meaning that lying to yourself or others ultimately leads no-where. If there was no UAE then indeed – that would be grounds for sadness regarding our beloved childhood computer.

What have the romans ever done for us eeh?

10 for that you must be mad!

But we have UAE and hardware is now cheaper than ever before! Anyone with a slight bit of Amiga skill can easily put an old PC or Mac to good use. Machines which would otherwise be thrown away. Add torrents to that equation and .. thousands of games, applications and demos (!) If that is not optimistic news then I dont know what is 🙂

I have been harsh with the license holders of Amiga technology today, but after so many years I feel I have the right to speak my mind. And they have made it so utterly clear that anyone who cherish that old computer is utterly on their own. Which suits me just fine – because the community itself has everything it needs (and then some).

So to all friends of the Amiga personal computer out there —enjoy UAE and your homebrew devices!

Downloads

Object Pascal, power computing at extreme budgets

September 18, 2014 5 comments

Being a programmer in 2014 –having been a coder through the 90’s and 2k’s until present day – is like living in disney land. When I was a teenager my most priced possession was my Amiga computer. It cost a fortune and was powered by a whopping 1Mhz MC68000 CPU (yet due to it’s custom chipset, it outperformed PC’s up until GPU powered 3d cards became standard around 1995). The Amiga was the bomb back then. And it’s memory capacity was jaw dropping 2 megabyte on-board chip-ram. I extended it with 8 megabyte additional ram, which set me back around $400, which for a poor student was a small fortune.

What can you get for $400 today? Well today you can pick up a second-hand Apple Mac G5 Dual-Core PPC for less than $200, complete with a decent monitor. And if you know how to use bit-torrent, you can pimp that machine so full of software that it has more value than a new $1995 iMac. Photoshop, pro-tools and gcc / x-code was awesome in the PPC as well, not just the Intel Mac’s.

Object Pascal on older hardware

Lately I find myself thinking that it has to be possible to re-cycle some of these old machines and apply them to new and modern purposes. I mean, a G5 PPC mac is a processing beast compared to it’s contemporary PCs 8 or 10 years ago. The G5 dual core processor was the final evolution of the PPC range of processors – so it’s a fine and powerful piece of engineering for a ridicules price. Making use of these machines with object pascal sounds both fun and interesting.

With this in mind I did a quick search on Finn.no, which has a second-hand market; comparable to craigslist, ebay and sites of that genre. And the average price for perfectly usable, good condition second hand Apple G4 and G5 Macs were in the 500-100 NKR price range. Which is roughly between $100-$200! That is a lot of CPU power ladies and gentlemen, in fact, it’s almost sad to see these machines which look more like works of fine art than computers being practically thrown out the door for the price of a playstation game.

MorphOS looks like a blend of Amiga / Linux meets Windows

MorphOS looks like a blend of Amiga / Linux meets Windows

So what? I hear you say. No modern software will run on these machines – so they are useless. It’s just a heap of unusable iron taking up space.

Well, not quite. Linux happily runs on PPC hardware – some users argue that Linux runs better on these machines than Mac OS classic and OSX did to begin with. But if you are adventurous and able to mentally disregard the OS factor (for now) and would like to use Object Pascal for specific work related tasks, then you can include an alternative operative system called MorphOS.

Pimp up old hardware with a small, compact and lightning fast OS

Pimp up old hardware with a small, compact and lightning fast OS

Now before we continue, let’s look at a couple of tasks where old hardware can be recycled and which supports object pascal (freepascal and/or lazarus in a desktop environment). And lest we forget, there is a fork of lazarus called Code Typhoon which is rarely talked about yet enjoy a steady following around the world due to it’s stability and rich component base. And it’s free (!). But first, let’s look at some tasks suitable for re-cycled hardware:

Web server

The most common task for older hardware is, naturally, to be used as a vanilla web-server. Apache (the webserver for linux and other alternative operating systems) is for the most part hardware agnostic –and as long as the latest berkley tcp/ip stack is installed, compiling Apache from source is easy and hassle free (3 lines from the command prompt under linux/unix).

If you add NodeJS to the mix then you have yourself a paradise for Smart Mobile Studio development, since Smart Pascal allows you to write both client and server from the same codebase, running the server code under nodeJS and client in any HTML5 compliant browser. So building your own client/server environment for testing purposes at home for less than $200 is more than possible.

Note: nodeJS may not run on older versions of OS X, but it will almost certainly run if you install linux.

Backup server

Another form of server which is a must these days both at the office and in your home, is a dedicated backup server. A lot of people fork out $400-$600 for a network disk or NAS server (both for backup and movie streaming), but that’s actually a complete waste of money; Because you can as I mentioned, pick up a second-hand PPC mac for 1/6 of the price which is 50 times faster and with plenty of room for IDE disks (not to mention remote desktop options so you can control it from your work PC or Mac). OS X also have functions setting up a machine as a backup device for other computers – and a fileshare on the network for movies and music is a matter of flicking a switch.

Education

If you work as a teacher, pupils dont really need access to the very best. In fact, learning to program in Lazarus on a second hand PC or Mac (the latter recommended) running linux or OSX is a fantastic way to broaden the pupils horizons. Delphi has become extremely large and heavy in terms of technology. Beginners without proper documentation can quite frankly get lost in Delphi XE 1 through 7. So starting with Lazarus and freepascal, which is a delight to use on Fedora Linux, is an excellent start!

A good object pascal programmer could make a network program for tests and exams, which makes sense for schools on a budget. You dont have to fork out thousands of dollars or pounds for a uniform computing environment + software.

Store front-end

If you work in technical retail your store-front is bound to run presentations, video and/or demonstration slideshows. It can cost as much as $2000 to buy a professional multimedia studio, adapter packages and cables, not to mention database integration for daily updates of prices and offers. With the help of Freepascal and a dedicated machine, an old iMac G5 is more than powerful enough to handle a full shop front-end, multiple monitors (chained even if you like) and/or database presentations. Graphics32 (which has been ported to Lazarus/FPC) makes effect programming extremely easy – and you can throw in openGL if that tickles your fancy.

Paint mixing and customer kiosk systems

Paint is one of those items which everyone uses, but we rarely think about it until we need it. Most stores that ship and sell paint have digital mixing programs where the customer can select and adjust (create) their own blend of paint. It’s actually a very easy application, at least those that i’ve seen, which I would complete in roughly 2 days work. The only time-consuming task for such a project, is coding the serial-cable protocol for transferring the RGB color values to the mixer. Again — old hardware is up for the task. A PPC G4/G5 is ample power for running a fullscreen, mouse driven, object pascal application — and Freepascal is very well evolved so you will find everything you need in the RTL.

Media Server / Center

A $30 Raspberry PI mini computer is more than enough to power the latest Linux media station (or server) software. Since Linux is extremely popular you will also find the latest versions of Freepascal and Lazarus in most distro’s (including Raspberry PI’s repo). If you don’t want to fork out for an Apple-TV or Google TV stick, then you can easily build one yourself with a raspberry pi.

Build server (SVN)

While perhaps a bit overkill for the lone hobby programmer, it can be a valuable exercise for professional and amateurs alike. I personally have my personal SVN server running and use that in combination with a backup server to keep my 15+ years of code safe and up to date. Using an old G5 or G4 to maintain your company source-code (if you represent a team of 2-10 programmers) is not just good practice – it’s a required minimum.

And if you are thinking, how can I do nightly builds on a PPC machine? Well, if you use freepascal then that wont be a problem (multi target compiler). But if you use Delphi you may want to run Windows under Bochs (a bare-bone windows XP is enough if all you want to do is compile):

Selecting hardware

If you can get your hands on a second-hand Apple iMac G5 workstation (PPC processor), which in Norway at least can be picked up for around 1000 NKR (US $200) that is an absolutely fantastic machine. It is also “modern” enough to run a good selection of alternative operative systems (alternative to Windows and OS X) as well as OS X up to version 4.5 if memory serves me right. This is a perfect machine to recycle for new tasks.

Pick up a Power Mac G5 for next to nothing

Pick up a Power Mac G5 for next to nothing

Apple G4 machines, which I find esthetically pleasing and fancy (and easy to fix, replace parts and code on) is also a good find. But you should make sure you check the hardware against the MorphOS hardware compatibility list — which is also a good list for Linux (to check if your old machine can be used with modern Linux distros).

Older PC’s is likewise perfect for recycling, but once again you should check for driver support (which is always the problem with PC/Win machines, as opposed to Mac’s which have a fixed chipset). I would not buy a PC older than 7 years, and would probably pay very little for such a machine ($40/50). If you buy or re-cycle an older PC, make sure you have at least 4 gig of ram (the max for WinXP unmodified) if you plan to run Windows, same goes for Linux.

Lazarus + FPC is best enjoyed under Linux, here running in Fedora

Lazarus + FPC is best enjoyed under Linux, here running in Fedora

At the very lowest end of the spectrum, but surprisingly the most fun to play with – are embedded micro computers such as the Raspberry PI. Starting at $30 it comes with a quite powerful GPU, making it ideal for homebrew media center projects. It supports Linux and as such it has full access to Object Pascal/ freepascal. But, due to the very small processor, Lazarus is a bit to slow for serious work — but FPC/Lazarus executables run very fast and is in my view the best language to use; side by side with C++. If you combine FPC with SDL (simple direct media layer) you have a pretty modern multimedia engine to play with, regardless of CPU and architecture.

Lazarus + FPC running on Raspberry PI micro computer

Lazarus + FPC running on Raspberry PI micro computer

What about the web

The downside of working with older hardware is that you can only use them for development. The moment you want to ship a product written in platform independent object pascal you have to get your hands on a machine from the modern marketplace. But there is one combination where you can avoid all that – and that if if your target media is HTML5 exclusively.

While Delphi XE 1 through 7 is far to processor and memory hungry for an older PC, Smart Mobile Studio is absolutely perfect. It comes with a small and compact RTL for making cutting edge HTML5 mobile apps. It has a chrome browser built-in (embedded) and is more or less everything you need to write JavaScript based applications designed for either web-pages (embedded like a flash app would) or a fullscreen mobile app. You write object pascal, the compiler generates hardcore JavaScript from that.

And JavaScript is extremely fast, in many cases (especially when it comes to graphics) faster than native Delphi (which sounds ridicules I know, but check the benchmarks and see for yourself). JavaScript also has the benefit of running pretty much anywhere in a modern browser.

Get away from platform bound code with Smart Mobile Studio

Get away from platform bound code with Smart Mobile Studio

So one very cheap alternative is a 5+ year old PC with Windows XP setup just for Smart Mobile Studio development. I actually have several such machines setup, both real hardware and virtual machines (VMWare).

Final verdict

Is it possible to build your own fantastic object-pascal super computers on an extreme budget? 10 years ago the answer would have been a loud “No!”, but today the reality is that you can buy extreme amounts of processing power second-hand for next to nothing. And you can make use of FreePascal and Lazarus to build custom systems – systems which can be re-compiled on more modern hardware when needed. This makes for some very interesting cross-platform solutions.

I should also mention that a lot of virtual machines, like Bochs (free) run perfectly fine under PPC hardware, meaning that you can in fact setup a test-environment for your Delphi and/or freepascal projects on an older Mac – and just remote desktop your way into the test environment whenever you want.

And one scenario I forgot: Your own SVN server is also a good use of old hardware.

Well, I hope you have found some inspiration to re-cycle technology and put your object pascal knowledge to new and exciting uses. Who knows, perhaps you come up with a good idea and can ship out 100 used macs preloaded with your software?

Nothing is impossible 🙂