Archive

Archive for October 20, 2014

Blitzbasic goes open-source

October 20, 2014 2 comments

It’s probably old news to some, but I just noticed that BlitzPlus and Monkey X, two commercial grade compiler systems from Mark Sibly and Blitz Research, was committed into open-source over at github.

Blitzbasic comes in many versions, both 2D and 3D

Blitzbasic comes in many variations

Blitzbasic produces extremely fast code, tiny executables – and have been knocking out commercial games since the early 90’s. It was completely re-written for the PC some years back, is well maintained and up to date, and was in my view worth it’s initial $99 pricetag. So getting access to the underlying compiler and RTL source for free is a fantastic opportunity to learn from a master.

About BlitzBasic

BlitzBasic was initially released for the 16 bit Amiga home computer, following the great success of an older Basic interpreter “Amos Basic”, written by Francois Lionet. Unlike Amos Basic, Blitzbasic featured (and still do for x86) inline-assembler and was a real compiler system. Blitzbasic was responsible for successful games such as Worms and Hardball. Worms is still selling on mobile and console platforms to this day – and is one of the best selling games in computer history.

Worms was created in BlitzBasic, its one of the best selling games of all time

Worms was created in BlitzBasic, its one of the best selling games of all time

But Mark Sibly did not stop there. With the death of the Amiga platform he completely re-wrote the entire codebase in C++ for Windows, and have over the years maintained and made a living from his language. Blitzbasic is no “light weight” basic lingo, but by far the most advanced basic dialect out there. It features inline machine-code, templates, classes and much, much more.

Monkey X

Mark’s latest language, called “Monkey X” takes the whole Blitzbasic philosophy one step further. Monkey X is platform independent and generates code for XBOX, Playstation, Windows, iOS and OS X. You can also compile for HTML5 which is a great bonus for game and multimedia developers.

Monkey X is a transcoding compiler, much like Smart Mobile Studio

Monkey X is a transcoding compiler, much like Smart Mobile Studio

Mark has also decided to open-source Monkey X as well. From what the blog rumors say, Mark has worked to much for to long and wanted a clean break from computing – resulting in open sourcing his whole portfolio. I sincerely wish Mark the very best and that his health improves, he has been an inspiration to a whole generation of programmers and was one of the people that inspired me to become a programmer in my teens.

Blitzbasic and Monkey X are great products, both represents the most advanced basic dialects (although Monkey is C/JavaScript like in syntax) on the market. You are not limited to games only but can use Blitz and Monkey to generate serious platform independent software that runs native. Monkey uses transcoding, much like smart mobile studio, but targets C++, C#, Flash and other languages.

Verdict

If you have even the slightest interest in compilers or how to make your own programming language, or indeed need a good platform to realize your game – then this should be considered winning the jackpot.

Head over to github and fork this puppy: https://github.com/blitz-research/blitzplus

 

Resurrecting the Amiga home computer

October 20, 2014 7 comments

I know. This is a Delphi blog and lately I have been so far off topic that you are excused for thinking I’ve gone bad. But rest assured that all my marbles are accounted for – I have simply done what all good programmers do from time to time and explored new things.

Firefox os, Javascript is coming..

Firefox OS, Javascript is coming..

For the past 3 months I have invested time in learning Linux, which is becoming more and more important these days, no matter if you are a programmer or not. And I can safely say that the time spent hacking away at Ubuntu has opened my eyes to new potential markets for both Delphi, Smart Mobile Studio and FreePascal.

Load balancers are on my list now, although with C# and the mono framework in mind. I will be working on load balancing code quite soon in C# so absorbing the market and the various models out there is important.

And last but not least, alternative operative systems. You may not be interested, but HTML5 and JavaScript is growing increasingly popular. So much so that hardware vendors are adding JS interfaces for their products. This means that you now have micro-controllers that eat, execute and run JavaScript directly (V8 Built in probably).

I have also spent some time in the past, looking at technology that basically got me where I am today. I was lucky enough to grow up with almost exclusively Commodore gear (Vic 20, Commodore 64 and Amiga), in a country which besides Sweden and the UK was the Amiga nation supreme, with all the big hacker groups neatly strung like pearls across our Norwegian coastline.

What caught my eye

Unless you have been living in a cave the past 5 years you have probably heard of the Raspberry PI mini computer. It’s a tiny little gadget, about the size of a credit card, and it costs round-about $35 (!) And if you have been following that, then you also know that it’s a fun piece of hardware which can be picked up anywhere, is powerful enough to run Linux (although barely) and is being used for everything under the sun. People make arcade machines with it (Mame is a fantastic emulator), they build their own Nintendo systems with it (Nes, SNES); the more technical savvy users even control their houses with it, stuff like heat regulation, lights and things like that.

Recently Acorn Computers, which was a competitor to the Amiga back in the 90’s (their Falcon model came close to the HW specs of the A1200 towards the end, but never sold since the Amiga dominated Europe) released RISC OS into the public domain. Or open-source, I havent looked at the details yet — but you can download and use it on the RPI for free.

RISC OS in all its.. eh, glory

RISC OS in all its.. eh, glory

What are the odds of anyone using RISC OS in 2014? It’s very different from anything we got on the market, but oddly enough not that different. The reason people use it with the RPI is naturally because it’s small, compact and runs on the hardware. It’s a strange little OS, sort of a mix between Linux and Windows (if you strip them down to the bare-bones). It’s focus on Basic and Machine-code sort of reminds me of the Commodore 64. Remember how we used to buy magazines with cheat codes, then spent an hour typing in all those poke and peek commands? Well that’s the feeling I get when playing around with RISC OS.

Thinking about the Amiga

For roughly 20 years now people have been (well, some people) eagerly anticipating the return of the Amiga. I have pretty much made my reasoning clear on the subject in earlier posts – that I hardly think the Amiga will ever come back, quite simply because it doesnt serve any purpose in mainstream computing.

The only possible way the Amiga could once again become popular, is if the platform did some task exceptionally good – much better than Linux and Windows do. And let’s face it, that’s not gonna happen. Going face to face with Microsoft and millions of Linux companies at this point in time would be suicide. And no investor in his right mind would come near such a project.

Sexy, compact and extremely fast! Amiga OS

Sexy, compact and extremely fast! Amiga

But! There are a few facts of life we should remember. First of all, competing with free is hard to do. This is why Linux (almost forgot: GNU/Linux) has even evolved. People use Linux because it’s free and they can shape it into whatever they want. Linux has been lurking in the shadows for ages it seems, doomed to be a “server OS”, but that is starting to change – or has changed in recent times. It’s now a very capable, safe and enjoyable platform with thousands of easy to use titles. It’s actually easier to install and un-install programs for Linux than it is for Windows. Which has taken Linux a long, long time to achieve.

Competing with “almost free” is even better, because then at least it has value. It’s a paradox I know, but if something costs $3 it’s statistically more likely to be successful than if it’s 100% free. What I have in mind here is that if you could get an Amiga system for, oh, say $80 or $100 (the price of a Raspberry PI + Amiga OS) that is a pretty good deal!

Going back on topic — what about the Amiga? Well, the trick of surviving is to avoid bigger fish. It’s basically what Steve Jobs did when he returned to Apple. Instead of going into the ring with Microsoft, which would have ended in Apple getting beaten to death — he took the fight to new markets. The IPod became the money-cow for Apple in combination with music sales, followed by a series of accessories which all provided Apple with very welcome funds.

These funds were used to launch the new Macintosh computers, but here Steve made a genius move. Everyone was expecting Apple to once again taking on Microsoft, but instead he competed exclusively in the areas where the PC was weak: namely machine design and an aesthetically pleasing desktop experience! Apple simply ignored Microsoft and made sure their “platform”, which is iPod, iPad and iMac connected together and worked out of the box. It should also be mentioned that Microsoft owns large portions of Apple, so the whole “mac vs. pc” argument is not even worth going into (although some people do, even to this day).

Amiga on ARM

So, what could the Amiga compete with today? Well, if the owners of Amiga OS were to even entertain pushing it, it would have to be for the Raspberry PI. It would compete primarily on the level of size, speed and resource requirements. In many ways it would be the perfect embedded platform, since 90% of all embedded boards are dedicated to one task only (offshore and military applications are extremely lucrative). It would also be a nice excuse for lack of protected memory which would buy them some time to get implement that. So that’s one market Amiga OS could indeed enter. It’s competitors would be much larger, more expensive systems like QNX real-time OS, which also needs 4-5 times as much CPU power just to start. But Amiga OS would have to be partly re-written and the old custom-chips would now be replaced by code. The blitter and sound chips we all loved so much could still be used, but they would be implemented as software mapped to the GPU chip of the RPI.

Raspberry PI, Model B

Raspberry PI, Model B

The Amiga OS, even with a layer of 68K legacy emulation, would – if compiled to run on ARM, literally run rings around Linux, RISC OS and whatever else is presently there. The RPI is capable of emulating an A500+ more or less perfectly using UAE (running on top of Linux) – so you can only imagine what speed a native ARM version would achieve.

Another factor is resources. Amiga OS runs happily with less than 4 megabyte of RAM – the low-end Raspberry PI ships with 512 megabytes, and the current model B with 1 gigabyte. The low-end CPU is a 700Mhz ARM processor, with the high-end version running at 1Ghz. Both can be over-clocked to respectively 1Ghz and 1.3Ghz without problems, although a cheap $3 heat-sink may be in order.

But the best factor is undoubtably production costs. Raspberry PI is an off-the-shelves product. Its extremely cheap, readily available and has a dedicated GPU. With the blitter software making use of said GPU (as well as the desktop and OS in general), you would no doubt have the fastest Amiga ever made. So the cost of producing the machine would be limited to software development, not hardware production. Adding a case and bluetooth keyboard/mouse is something even mom can do.

People would pick it up not because it’s a PC or a Mac alternative, but exactly because it’s not an alternative. Parents dont mind spending $35 on a system which, with a bit of online torrenting, has thousands of classic games to run. Add a joystick and your kids have more games to play than they will ever have time to complete.

Despite it’s size, small form-factor and processor, the Raspberry PI is still a very good entry-level computer for kids, but Linux and RISC OS is quite frankly to bloated for the hardware. What it needs is a slim and fast OS that achieves miracles with very little. The RPI’s biggest problems is software, because “modern” software tends to be compiled with a completely different philosophy. From what little I remember of the 90’s, Hyperion (or some other company) did upgrade Amiga OS to more streamlined C/C++ (read: more portable). So it’s not an impossible endeavor.

I sincerely hope “someone” out there is reading this (whomever owns the rights to Amiga OS) because it’s probably the best and only situation this decade for a return on your investment.

  • Nearly non-existent hardware production cost
  • Time to refurbish the OS for pure ARM (can run on any arm platform)
  • Legend and legacy support market
  • Free marketing access via the RPI community (schools, teenagers and adult users)
  • Huge potential as an embedded platform

Well, that’s what I think