Tuesday 15 November 2016

Orange Pi PC2

An interesting up grade to the Orange Pi PC, which is a nice little board but a hot runner. It is also one of the few clone boards that has a very active community, so this latest release is bound to interest a lot of people.
I ordered mine the day it was annoounced, and it arrived today, no import charges either so all round if this works fine its a bargain of a machine. I am wondering if I have the 1st in The Netherlands....maybe, maybe not
.
But even if I have, I can't use it at the moment, only the Android img is currently available, so can't really use it for book development, and as the book is very close to being done I don't want to get distracted trying out clone images to see if I can get it to work. I'll install android to see what it does, but back in the box it goes till I'm ready to give it a proper play


Saturday 5 November 2016

New(?) Boards A10 Lime, OrangePi PC2 and book progress.

Well actually an old board, not one I would normally consider as its a bit outdated but I need to recognize any board that has a following, and among hobbyists and gadget makers this one does

A10-OLinuXino-LIME-4GB - Open Source Hardware Board
This is the OlimexA10 OlinuXino Lime -4G, though I didn't know it was a 4G when I bought it for 19quid on Ebay from a UK supplier who gave free postage, as well as a case for 5quid. Olimex themselves price this at 40euros and 7euros for the case, on their website with silly postage so quite a bargain.

The 4G means it has 4Gb of NAND memory on board which was not stated in the listing, and lo and behold when I fired it up without an SD card, it booted into Android, though its a Chinese version of Android and I can't really get it to update, but not too worried as I'll be trashing that soon. I must say I was quite impressed. Its only a 1Gz A10 (cortex A8) single core, Mali 400MP1 unit but it is one of the faster single cores and it runs Android fine.

I've only just finished downloading the Debian image, so no idea yet how it will do with that but on paper it seems to be a wee bit faster than A Raspberry Model  B+ and half the price on ebay. Nothing really to complain about.

I'll get it working in a day or 2, I'm just trying to finish up my explanation of 3D maths in the book so that the games make sense and can be fiddled with by the readers.

Also ordered this week, for $25, yes $25...including p&p!! Was a new Orange Pi PC2, which is hot off the press, a 64bit beast with a 6core Mali 450. Now this is potentially a mega machine, though I do find the Orange Pi range to be a bit hit an miss quality wise, a 64bit quad core,probably  running at 1.6Ghz (but not actually sure) with 6 core 450...wow.
Should be here any day now, I hope it works, though I have fund when clone makers produce a 64bit machine the 1st few iterations of the OS are beyond bad, so it might be a few months before this is actually usable.



The Arrow board, arrived last week too but I'm struggling with power on it, Even a multi volt unit I bought turned out not to have the ampage needed at 12v, so have ordered a better power unit which will be here in a day or so.

I dunno how much time I'll get to play with them though I really am on a home straight with the book and want to get 750 pages by the end of this week. I'm on 683 at the moment and about to paste in a lot of code snippets.  Aside from the section on Physics which is still only an outline, I'm struggling now with what more I can add, so its looking very complete, but a bit messy. hoping to start editing it down in 2 weeks.



Monday 31 October 2016

666 pages and it's halloween

Not that I am reading much into it.

Continuing the good progress, model loading and sound now done...really feel like I'm on the final push and writing a page here or there every spare moment I get.

Projects are still far more basic than I'd like but I must try to remember they are basic for a reason, so the readers can build them up.

Right, going to try and do 4 more pages on the subject of 3D collision....oh that'll at least 20 pages.

Friday 28 October 2016

ok it was the bend before the bend

But progress has been great this last few days. Projects are all takiing shape really well and the sense that they are cool and playable is very palpable..though I need some more graphics from my art friends

The text for the book is pretty much  all there now. I'm really pleased with it... probably only another 50-60 pages to go of actual explinations, then another 50-60 of code snippets and I can make a start to edit it down.

phew..

Hardest thing so far has been the texture and shader managers...trying to get them to be so simple that they work with no frills at all, was a major pain. In fact making the code so simple has been really hard work...I want so many features in there but it juse causes confusion.

But its done, and that was kinda the last bit of pushing the rock up the hill, everything else is now pretty smooth sailing and just explaing very simple game concepts that can be built on.

hhmmm maybe I shouldn't jinx it.

On the horizon though I have to do the compatible projects, make sure that everything works on the various clones...the graphic class set up is easy enough but the physical time to plug them in and try them...its at least a day or 2 assuming they all work, which is optomistic, which is why its been left to the end. I haven't been able to work out how to get an EGL context as a full screen on the clones, but no matter if it can't be done, I'll let them work in a window.





Monday 24 October 2016

Home straight

Well at least the bend before the home straight,  or maybe the bend before the bend before the home straight.
But whatever I am on a roll. I currently have a week off and am forcing myself to sit for 8 hours and write and code the book and its projects. I'm still worried about the time takes to do the projects but they are moving forward and I have to curb my natural obsession with making a complete game. These are not complete games, they are demo's to show points.. All I have to do is make them playable, and let the reader/student finish or add to it.

I got stuck for such on long time on 590ish pages, but finally cracked 600 over the weekend. And did another 15 today. I'm hoping the addition of the how too walk through this week will take it over 700 and next week, the final 50-100 pages before I start to edit down and then can move towards producing the final versions and sending out test copies to some poor volunteers.

My deadline is at the end of November...its still going to be tight, if something does not go to plan, but its certainly possible.

Ah its fun. I printed it out the other day, and it is huge....I hope its not all bobbins !!!


Monday 17 October 2016

new board :D


Not bought a new board for a while so decided to try one of these puppies.Its only available from Arrow Electronics in the US
$75 so under the 100euro limit I set myself on boards.
It has a load of on board features on it, including a GPS system, though its need for 12v power makes it less portable than other boards. But...its got a very cool GPU which also can handle DirectX so it will provide an intereting alternative coding at some point, Also OpenGLES 3.0 and OpenCL1.1
Ordering it from the website was a bit of a pain though, very very poor website.
I don't  think this has a lot of traction in the community but its nice to try a different system


Sunday 16 October 2016

Cubes anyone?


The 3D sections are finally going ok, after a couple of re-writes of the base project code which had too much content in it I didn't need. I noticed when I was writing the chapter to explain it, that a lot of stuff was unused...and broke the idea I had of making the base ObjectModel class absurdly primitive.

I stripped it back and  can now produce my basic 3D object shapes and transform and render them with ease and edited the book section explaining it, it is now much easier to digest.

The camera section is also complete and allows 2 of the initial 3D games, a space shooter, and a race game, to be written very easily Since basically you are just moving the camera around :D

Next to add to the 3D code is the obj file loading and manipulation, as well as environments and with it collision detection and other pitfalls. I may add some info on optimisation before the 2 big projects at the end. Well I have to add it somewhere.

Anywhere here's some very boring cubes, since I don't want to let the good stuff out of the bag yet...


Saturday 8 October 2016

Hello from Breda

I had terrible jet lag when I came back from Tokyo, that and catching up with school work meant I have been slow to get started again on the book. But I am now on a roll again.

The 3D sections are starting to take shape, the basic 3D framework is now in place. Its primative of course, by design, I don't want to write an engine in the book, just give the user a flexible and usable set of systems that will allow them to place and manipulate objects.

I have my hello cubes project with base classes that do just enough to show models,and camera's at work, its all starting to work nicely. Of course any engine coders out there will go mad, but as I say, the point is to get people coding, not show people who can code to do advanced stuff.

I'm just cleaning up the projects now to put on the site. Looking forward to doing the next stage with models.



Sunday 18 September 2016

Hello from Tokyo

I've been visiting the Tokyo Game Show as an exhibitor with my university for the last 4 days, its been quite manic.

There's not been a lot of time to do much coding, but I did have a day off on Saturday and managed to finally finish a chapter I've been struggling with for some time. The chapter explaining and then using matrices.

It's one of those things beginners often totally fail to understand, and if I'm honest me too, since maths is not my strong point, but I do know matrices and how they work. I just really struggled to find a way to explain it really simply and easily and provide a good example of how it worked.

But after a nice rest and maybe being away from writing for a week as I've been here, I sat down, wrote a few cracking explinations and then edited the chapter down into something I think actually works. I even used hello triangle, the worlds simpliest OpenGL project to demonstrate how it works and show how simple it is at its basic use.



I'm quite pleased, becuase that also leads to the technical part of using shaders for the 1st time, which are a minefield of confusion for noobs, but I think I incorporated it well.

That done, I can now move forward to the use of matrices and creating 3D worlds without having to get too tied up in the technical side of things. The book is more about the concepts of games rather than the highly technical aspects of how to make them, though a foundation in that is described.

Not much chance of doing that till I get back home though, there's little free time left here, but maybe on the plane :D

Friday 9 September 2016

Publishers happy, and extension granted

Publisher is happy with my current draft, even though its rough as hell at the moment, and still  missing the walk throughs on the last 2D and early 3D proejcts. But my editor likes it, though not the format I delivered it in.. Which is fine as I am not going to submit that format in the final version.

Its such a thrill to have someone look over 9 months of work, and be positive about it. :D

I did ask for an extension though as the projects take much  longer to layout and document than I expected, but the extension gives me the time I need to finish those up, and edit my document format down to theirs.

I'm off to Japan for a couple of weeks, so can't really do much project work, though I am taking a pi and LCD screen with me as well asn an HDMI cable in case there's a TV in my hotel room I can use. But not really sure I'm going to have time,

but I do have 11 hours to kill on the plane so I can transcribe a load of project notes into readable text. That will hopefully keep me away on a very boring flight.



Sunday 4 September 2016

Mouses Mice or meecese?

I have the mouse system working on the targets now, but no idea for the life of me what the plural is of a computer mouse.. I suppose mice, but not really sure.

Anyway, mouse code  is working perfectly, and that allows me to do pointer controls in 2D and 3D. So am starting the firework and sand games.

I've been in touch with the publisher too, annoyingly a draft if the manuscript I sent in July bounced, but the bounce notice went into my spam. I was so wrapped up in writing and coding, that I never followed up. Oh well, no matter they've sent me system to send the files. So will get that done tomorrow when I've finished this section.

 I also asked for some more time, which should not be a problem. Well when all said and done, its not as if I can magically do it quicker so they kinda have to give me the time.

Am pleased with the progress of the projects now though, but the 3D engine needs a bit more simplifiying, I really only need the most basic system possible and at the moment its cut down from my own openGL engine and has too much functionality, functionaly I want the readers to recognise they need to add themselves.

Now readty for the big push to 3D, its not as big a section as the 2D stuff, and hopefully I don't need to explain as much as I did at the start, it should just be a case of things falling into place iwth only a basic explination.....haha..yeah! right!

Friday 2 September 2016

Photo Frame done

Ok the PhotoFrame project is done.
Designed to help understand how a texture is created and displayed, it has a 2nd function to help our understanding of memory allocation. This is the precurser to the 2D render system



Last few chapters

Holidays are over and I did a bunch of coding and writing for the book, but Wow, its gone by so quick. I've got over 500 pages now, and still have a lot of code snippets to put in there. Which has proven to be a massive time sink.

I honestly thought the project writing would be the easy part, and normally its only a few days or a week at most to do a small demo project, but the need to do create a simple downloadable start up... Detail the things to add to it, then make sure the finished version has no major changes from the start up and additions. Edit and test the steps in the book, has proven to be massivly hard.

When you write a project, no matter how simple, you start off knowing what you are going to do...but mid way, you change things, you decide something is better, or easier....and normally thats fine, because you're  moving forward with no regard to the past,  But you don't want a reader, doing the same with your code, at least not too much, which means having to go back to the code in the book, make the changes so they are always there, and ensure they still work at the earlier stage...is really hard.

But the 2D projcts are pretty much all done, and complete, and about  half of them have their start and mid parts documented and stored for the support site. I have outlines for all the 3D projets but still have to write them up and do the walk throughs in the book. There's not as many 3D projects thankfully so it won't take quite as long.

Sadly I've realised I'm not going to hit my 17th Sept deadline, especially with a 2 week,  work trip to Tokyo coming up. I can't see me being able to do much writing while I am there, though I will do my best.

I've asked for more time, hopefully that won't be an issue.



Friday 12 August 2016

Happy new Pi day

My FriendlyArm NanoPi M3 arrived today. :D

Very sweet, and as always beautifully packed.

In light of some of the overheating issues I have had with other Octocores I got a heating kit with this one, consisting of a fan and big chunk of aluminium,  though the case does not seem to have any intake on the top of the board, it does oe the bottom,

Not sure thats going to provide much cooling flow but I'll let you know when I get round to setting it up and trying it out when I get the the multi core chapter of the book when I'll try it out with the BananaPi M3, the same companies T3, and the XU4 from Odroid. All 3 are octocores though the XU4 does this a bit different.
I really would love to try it out now, but am in a bit of a flow with the books and typically it takes me several hours to get a new machine set up and ready for testing, so I'll leave it till I have a day where there's no inspiration.

Edit...
Sadly I wasn't in the most productive of moods today, so I decided to try it out, sure enough a few issues showed up, it refused to boot on my normally very reliable Toshiba class 10 sd's but after burning my last remaining Sandisk it worked fine. Here it is, on top of its nice little case and with its heat sink and fan fitted. The fan is quite quiet, not silent, they never are but not really noticable and may get better (or worse when installed in its case. It is doing a good job in keeping the temp down though, there's no doubt about that.

As seems to be usual with Friendly Arm, it seems to be set to 720p. I need to recompile the kernal to get a higher res, which I won't do. (cos I have no clue how)
But it is nippy, very responsive and seems stable enough like its bigger brother the T3.
I'm doing an update/install/upgrade at the moment, then I'll have to put it away for a while till to get back to writing.



Wednesday 10 August 2016

Old School Gaming

The 2D engine is now working really spot on, here's a test run of the KamaKazi game in action,
Its not a complex 2D engine, and I have reworked it a few times to make it as simple as possible, but it's capable of rendering a few hundred good sized sprites (the resolution here is actually quite high, even though I'm going for a low res look



The basic game concept is familair I hope, though I have altered and simplified the gameplay to avoid it being a complete clone, its an homage to the great days of old. Which the user can enhance and fiddle with to make it a cool game,

Currently now working on the tile manager,  that allows easy platform games to be played as well as providing a simple 2D font system

Fun, but very time consuming. I can write 20 pages of content in the time it takes me to get a decent stage of project to save. But its coming along well. 427 pages :D (and still a lot of code to put in)
.

Saturday 6 August 2016

How's the book doing?

Its doing really well thanks.....nice of you to ask.

Content wise I'm on track, got pretty much all the points down I need to cover to get a beginner from 1st steps and cool retro 2D games, to creating a nice 3D world based shootem up on land,sea air, or space.

I'm mainly finding the organisation of the projects so that I can provide a very simple base version, then allow the reader to add content from the book, to be the hard and time consuming part.

The 1st couple of games are done and tidy, and hopefully quite recognizable




There's 6 others in more or less complete state but need to be set up so they provide that base level and add to it.. i really want people to type code, so I'm not going to provide complete source code on the support site.

The rest of the projects  jump off from these basic concepts and then into 3D stuff which won't be quite so recognisable, though in my view pretty much every game follows the same principles of the original shoot-em-up, move, shoot, avoid...repeat. Only the complexity changes.

If I can find a nice simple way to maintain the code base I think I will be a lot faster to get more code done. That's the time killer at the moment. I am working with a code base which has to be very simple, and sometimes things need to be added to it as I'm explaining it in the code....so you step back...fix and continue... its surprisingly hard... But also start to be a lot of fun.

Tuesday 26 July 2016

Lots more tech detail

As you may have noticed, I go into very little detail on the techy details of my boards, I have little to no interest in using them as anything other than project targets, I don't use Android or set up any media systems etc... I fire them up, installl video and audio drivers then code on them,  and thats it.

But  a comment left here has led me to an absolutly wonderful blog which does go into much more tech detail  than I ever will.

So if you have an SBC and want to use it for things other than SSH connection to a dev machine, head over to.

Peter Scargills Blog

He goes into much more tech detail than I do and also reviews the Android compatibiltiy of the boards as well. Certainly well worth a look, and I'll check back myself often.



No new boards

The V1.2 M3 was the last board I picked up, aside from a silly cheap on ebay Raspberry compute module, and dev board, but I have not had the time to mess with it.

I've now been focusing on the book content and projects to go along with it. which is proving hard. Content wise I'm fine, the content is fine I find I have no problem outlining what I want them to do, , but projects are taking much longer than I wanted to,. Nor for any significant technical reasons, though sometimes my lack of linux knowledge does bite me. Its more to do with making sure the projects are able to be broken into steps and each step has to be properly documented and saved for review. That really has turned out to be very time consuming.. I can write 10 pages in an hour, but prepping a small part of a project can take a couple of days. Problem is I need that project to back up the 10 pages, so if I don't stop to do the project the 10 pages makes no sense.

Another interesting thing is I have to avoid being too detailed. This is something of a contradiction to the content of the book which insists on adding as much detail as possible to a project, but I simply don't have the time to add all I want to into the projects.
But that is something I can get the readers to do!

I'm still waiting for some feedback from the publisher on the draft I sent last month, a gentle prod in a few days should help but it might mean they want a lot of changes so I'll just keep pressing on and try to get the content ready for the Sept deadline.


Monday 6 June 2016

A new M3

After a chat with the banana Pi people, they have sent me a new V2 of the Banana PiM3
which has the DC plug rather than the poor micro USB.

This hopefully will resolve some of the issues I have with the M3, tends to lose cores and gets very hot.

I will put a heat sink on it, and looking forward to using this with more stability than the previous version..



Wednesday 18 May 2016

Arrghhh right in the feels

The T3 has a problem with its video out, its not outputting correctly on the HDMI, lots of signal noise and drop off when in use, that's a pity..  I had a similar issue with my Odroid C2, though I didn't try it on an LCD, this at least does work perfectly on the 7'screen hardwired with a ribbon, albeit in 800x400. The cable is a little delicate though I need to get a stand to fit them in once place before the ribbon gets ripped.

That's such a shame, as I really wanted this to be a full screen machine. Oh well, I'll use it on the small screen at my desk, where it does indeed look very snazzy, once I get it hooked up to the interwebs, I'll see if I can find a nice appointment planning display to run when not testing games.

The T2, works wonderfully though, there's really no noticeable difference between them other than cores, and slightly different versions of Debian (noticeable in the wifi setups)  both feature eMMC memory for really fast boot and file handling (network access does cause a pause though)
the T3 should be a lot faster of course and it certainly feels like it is fast and smooth, but we are working on half the screen size. So its not a great indicator.

Disappointed as I am by the lack of HDMI, it does have its own screen, so I can use it quite comfortably as a test device for multi core programming. So happy days Sat at my desk under the main monitor.

The T2 works fine on the HDMI,. not at full res though, which seems to be a common theme with Nano Pi machines, its 720p rather than 1080p but for now it is ok, I could rebuild the kernel or some other Linux wizardry, but that breaks the brief of not learning any in-depth Linux.

For now my main issue is getting them to connect to the uni network..so I can update them and download a few test aps.

They are 1G versions, with 8G eMMC memory

More Nano's

Ohhh I do like them, so decided to get hold of their impressive sounding T3, a slightly more upmarket board, not aimed at the same Raspberry market, but essentially the same with a few more bells and whistles. Designed for a slightly more industrial market, it nevertheless falls in the brief og an SBC running linux with graphics.

Unusually for a 2016 model it takes a full size SD card, and also does not use micro USB power, though that is considerably better as micro usb cables are not ideal for power transmission.

The main reason for the purchase though was ... OCTOCORE!

The XU4 is the current beast with a steady and reliable system, complete with fan cooling. The M3 lags behind due to cooling/power issues, but does sometimes get all 8 of its cores working. I'm hoping this T3 shows at least the M3 how to do it, (hoping to get a rev 2 M3 soon to see if the issues it has have been overcome)

It probably won't match the XU4, certainly not in GPU power with a single core Mali 400, compared to the XU4's 6 core Power VR's

But I do want to try a reliable 8 core system, So hoping this does it... Sadly it did not come with a heatsink as pictured on the site...no idea till I try it if that is a problem, but certainly its better to fit a sink, so next time I buy from these guys I will make sure I get a couple of  heat sinks.



I also got a T2, with is the quad core version, the only difference is the CPU.

Not quite sure if the ones I have are 2G or 1G ram, since the option was hard to specify, will find out soon.



Will get these fired up soon...can't wait.

oh the T2 fired up, Debian 8.1 already installed on the eMMC... I like that, but only low res, and not really any indication of how many cores it has.

Tuesday 17 May 2016

Time to start reviewing Projects

I've not quite managed to get all the 25 or so machines I've collected fully working. Lack of decent organisation with projects that are ongoing and not yet prepared for use in the book make it a bit hard to do on my own.

Lucky for me a couple of 2nd year students find themselves without a project to work on at Uni and so have now become willing members of team Fundamentals. So they are going to act as my testing team, and keepers of the master SVN's They will also be following the book to see if they find anything too hard or too easy.

This is really useful for everyone, as keeping the projects tidy as I write them is quite a task, as is trying it out on at least the 5 main base versions to ensure Debian, Ubuntu,Gnome and a couple of light versions all work as expected. It means I can focus on making the projects work and writing the text

This also means I have to speed up...since they need new content every week to try out.....starting to get the idea this is going to be hard work :D

But most of the 2D sections are now done or roughed out..and some lovely cartoons are in place now from the talented Pim Bos!

Currently the 1st 6 chapters are done...rough an unedited but quite readable, the boys have worked through them this week and are getting things up and running. , Most of the remaining chapters are roughed out waiting for code content to be added. That will be more intense, as I have a lot of personal learning to do so I can explain 3D in the simplest possible way.


Better get back to it.


Wednesday 11 May 2016

Creator Ci20 1st impressions

Bloody Wonderful...


well mainly due to 2 simple facts, it comes with Debian pre-installed on its internal eMMC memory, so it boots right out of the box.
It has some sparkling demos of its graphic abilities.
It has on board wireless which hooked up no problem, and then allowed me to do a semi update/upgrade

I say semi because it seems to have Debian Wheezy on it, the WIP version of Debian, and it didn't manage to find all files to upgrade, but it did enough..I personally would prefer the stable Jessie build but its not a big issue.

Negatives, well its didn't like my USB hub, which had the keyboard/mouse/extern wifi on it, totally refused to see it... So had to use up the only 2 USB ports plugging the mouse and keyboard into i, Wifi being unnecessary.
It takes an old full sized SD card...which isn't really an issue considering it boots from the eMMC, but it might be nice to add a different OS on the card, like Android... The only problem there is the choice of boot is done with a jumper block rather than a simple switch, which would have been nice...

Its a dual core rather than a quad...Though thats not surprising, its "last years" model and came out before the quad cores became easily available. It does seem to take a long time to boot though with only 2 cores. Once booted though it seems responsive and nippy



But so far, 1st impression are excellent, Not tried coding it yet, I haven't been able to get SSH to work as it refuses the only password I have for it ci20. The forums seem to be lacking in info, and attempts to register have been confusing.
.
But I'll stick with it, I like PowerVR chips, one or 2 of my machines have them and its nice to finally see what they can do.


Edit... got some nice help on the Creater forums, the problem was the default eMMC version of Debian did not have SSH installed, I had assumed since every other install I've done had it, that it was a standard feature, but no.
doing-
sudo apt-get install ssh

resolved the issue for connections, I'll try the coding soon.

B

Thursday 5 May 2016

Nano Pi2 continuing the love

I went back to the Nano Pi2 yesterday, as I now have enough SD cards to give everyone of my pets their own card. I had reused the previous NPi 2 card, so this was a fresh install, which went a little different to the last one so a new report.



No problems at all burning it and resizing, now that I know how to do it. But some major confusion with its onboard wifi ate up some time and patience. Last time I managed to get it to hook up, but this time the wifi refused to recognise any of my home networks, even one a few inches away from the unit. It showed a blank list.

It did however act as a base sender, that my PC was able to see, but not to hook up to as I had no password..

Considering the NPi2 has no wired  network port, this is a bit of an issue, I tried using a USB hub with an RJ45 connector, but it still could not go to the router.. I think that may be due to the NPi2 only having one USB and trying to share with a network converter as well as mouse and keys might be asking too much...

No connection to my home network, meant no updates, no libs and worse, no SSH to my dev machine to send to.

But as with most things, RTFM comes to the rescue, in this case the manual is on the Friendlyarm wiki

http://wiki.friendlyarm.com/wiki/index.php/Main_Page

Its not entirely accurate, and its probably a little bit out of date, but it is a good effort from what seems to be a one man team keeping it updated.
There was a germ of information about the NPi2's Wifiap that caught my  eye. This was what I was seeing on my PC, and there was a password. kinda. 1234567890 is not a password. but hey ho.

I realised that the distro I was using had the NPi2 already set to transmit not to receive. I could have chosen to connect my PC to it, but I wanted to update the Debian, so I switched off the wifiap as explained in the docs and sure enough, the little beauty found the networks.
Once hooked up, and reset to be sure, it was perfectly happy doing an update then an upgrade, and installing mesa libs..

It is now a fully working system, albeit only wireless. which makes it a bit slow for development, I probably should have bought the network equipped NPi2Fire.

I also left it alone for some time and this version of the distro was much more reliable and didn't hang....after a few hours doing nothing.

It is a very very basic version of Debian though, if you plan to do anything special with it, you probably need to install lots of extras, but I like the light builds, for my purposes its now perfect.

It also is currently set to a low 720p res, now I know thats just a script I have to change, but as we know my understanding of Linux scripts is 0.1 out of 100 and I need to hunt for an idiots guide to do that. But that's a small niggle.

The NPi2 represents a really nice small quadcore, Mali 400MP (1core I think),  which will be fun to try out now.

Yes I am liking the Nano range, they have some issues with their support, the forums are almost empty, the wiki's not entirely accurate,  and I was a little harsh on my 1st reviews due to faulty SD cards, but these are actually very nice little machines, (so long as you fit a heatsink)

I''ll re-review the M1 and M2 soon, but I am actually very happy with them, they've been my goto non RPi machines with their solid compact cases making them ideal, pop in the bag to take to work systems.


Wednesday 4 May 2016

The Pine's Alive

In fact I am entering this post on it...


After failure with the user supplied Ubuntu, I tried burning Debian on a 16gb card, and boom it works just fine, though that 1st boot seemed to take an age and only me putting my network cable into it when it appeared to stop, which then showed acknowledgment, and it seemed to then continue to a boot. to GUI
It maybe its just fussy with cards...but the cards I used were quite decent....ah well.

Ah...it won't boot if you don't have the ethernet plugged in....no wait, its on a timer...it hangs for a minute or so, then boots, clearly its got a countdown set too high when not connected, I'll try it again...having done a slow boot......nope still slow....mental note, keep the Ethernet cable plugged in.

Its by no means perfect, no sign of wifi, it crashes a lot, But it plays youtube videos, I suspect my crappy upstairs internet is the issue,  but it will get better!

No sign of OpenGLES just yet, but if its not there I will install it.
This issue occurs with Ubuntu as well as Debian, its actually a correct response to a search for a network connection but the timeout is set waaaaay to high.


so there you go,...it is now (hopefully) a usable target... I will report back soon on how usable.

Nano Pi's have restored the love

I was a bit down on the Nano's when I 1st posted about them, they seemed reluctant to boot, and gave me a lot of problems, but I stuck with them. They took a bit of coaxing, but in the end it turned out to be my ignorance of Linux and faulty SD cards which created pretty much all the issues.

Well thats not totally true, I still struggle with wifi and a few other things and their support is non-existant, like their users :( But my main issue of using them as cheap simple code targets....is utterly fine.

I was hoping that creating an EGL context would be a simple matter of a few conditional statements, but in the end it needs a different approach, so I now have to treat the Raspberry Pi as the exception it actually is. All other linux machines need EGL and a window...the Rasp needs its bcm_host.

But the M1 and M2 and NanoPi2 all worked flawslessly as standaard EGL systems, once you download mesa drivers and GCC where needed.

Nice nice nice and the extra M1 I bought for the office is serving me very well when I get an hour or so at the end of a day to try out some coding. I'm looking forward to my T3 octocore to see if it can rivel the XU4 as a power machine...nahhh, it can't but if it does a better job than the fussy BPi M3 I'll be happy.





Pine64 1st Impressions

ermmm not good

Lets be honest, the size is strange, and the forum moderators strange justifications for the size, seem odd.

But never mind, I never like to be negative for no reason, its a brand new board, by brand new makers, who are bound to make mistakes..

Like for example hosting their images on the slowest server I've yet encountered, 13 hours to download a zipped Debian img....ermmm thats not classy.

But worse, was once burned on to a class 10 8Gb microSD it failed to finish a boot, that's frustrating...a new board taking its img direct from the makers wiki link, which clearly states works on a 2Gb board...should at least boot to a prompt..
I have set up the laptop to download Ubuntu, its going to take 13 hours too....yipe.

Its pretty bad to wait so long to download an image, only to not have it work, then take the same amount of time again to download another, with a certain amount of trepidation that it may not also work.

umm ok, well I was able to torrent Remix OS from their wiki, took 3 or 4 hours, I am not sure, I left it running, but it was a lot better.  But its an OS I've not used before, so not sure what to expect from it. As I type, it just booted up, looks a lot like a Windows version of Android....but it does show the board is working...

Sadly since its basically an android system I can't SSH code to it, so will have to try harder to get hold of a working Linux.

There is a basic Ubuntu system available from a user on the forums, so will try that next.

It didn't work!! I tried Debian again on a different card...it again didn't work...
sigh! The most fundamental thing you have to make sure of when releasing a board is that there is a working OS..even if its crap, as many are, it gives you something to work with...not even being able to boot is a pain. Though it may be a hardware fault. that the Android one is able to skip past!

There are some reported issues with 2Gb machines....not sure exactly what, and there are comments that state that the issues are resolved, but clearly not on my board.
So I guess I will have to put it aside for a while until they release a stable Linux build that works on my machine before I can consider doing much with it....it will make a cute paperweight.





Edit...see later posts, I found the issue, and its now working.

nearly all of them


Tuesday 3 May 2016

Pine A64....a monster

Lol I got quite a shock when I picked up my PineA64 from the post office today, no customs charges :D

well that was only a small but welcome shock, the real shock came when I got home and opend the box...DAMN this this is huge, only a little smaller than a PC ITX board, its 3 times the size of a normal SBC...quite incredible

I ordered a 2G with Wifi, which turned out to be a plug in module...with a very ungainly antenna that I have to stick somewhere. But it does look nice when built up, but damn...its a monster.

look at this for a size comparison thats a Nano Pi M2 next to it.


its massive :D I've not fired it up yet, will go now and see if I can locate an image to burn and try it out, its a mali based GPU so aside from its 64bit CPU its a pretty standard machine, in fact it took so long to come out that its proud claim of being the 1st 64bit quad core is no longer true.

Its certainly the biggest :D

Will update you on performance once I get it going, probably tomorrow as I have some other things to finish today.

NanoPC T3 Octocore fun


Now this is an interesting new system. I rather like Friendly Arm machines, now that I have actually worked out a nice effective way to get non Raspberry kits set up. (a series of updates and installs) This is a company that seems hell bent on producing a range of really low cost decent featured machines. Its a real shame they are not really well known in the west. Its a small company, with a tiny user base that deserves a lot more recognition.

I have 3(actually 4, as I bought 2 M1's)  of their machines already but the recent launch of an octoccore system a tiny fraction over my self imposed 50euro limit (ignoring post)  I had to purchase.

The other octocores on the market, are the Odroid XU4, which is a monster machine I can find no faults with really, and the less impressive Banana Pi M3 which has all kinds of overheating issues but is fun to mess with..

The XU4 is the power machine of the group and no doubt, but it uses a Big.Little arrangement of cores which I don't totally understand, though will investigate, that suggests I can't run all 8 cores at once, whereas the M3 has 8 standard cores, all of which  can run an app's threads, if the machine does not shut them down when the get hot that is.

So I don't have a simple 8 core unit that I can use to fully explore multi core coding.....until now.

I don't  have my hands on the T3 yet, but considering it has a lower clock speed, but more efficient A53 cores than the M3's A7's, and has a heat sink fitted, it should be a more effective and reliable multi core system.
It does have a few issues, it seems to only have a single core Mali 400 GPU, So graphically its nothing special at all, dual or quad core Mali's would have made this a mega machine, (the XU4 has a 6 core GPU) Also its USB/Networking is apparently all hooked up to the same internal systems, so its not going to be as fast as it could be.
This annoys the purists who use these as control systems, but for game coders, it makes no difference tous


There are also a few issues with their webstie and ordering system, but as I say this is a small company and sometimes they don't get things set up, so ordering the 2Gb version is hit and miss, and at the moment there is no way to download the OS, but am sure that will be resolved by the time someone else buys one :D


There's a link here

I'll let you know how it performs when I get hold of it.

Friday 29 April 2016

Creator Ci20 something different

I couldn't overcome my collecting OCD when I saw a new Creator CI20 on eBay, under my usual 50euro limit  ( well a couple over once postage added) (there have been a couple of octocore exceptions to that rule)

Mainly I wanted to try out a non ARM based chip, since it is in fact a MIPS based CPU, in an ideal world, it won't make any difference to my game projects, so long as there is a GNU compiler on board the distro, or can be downloaded, it will compile.

Mainly its also interesting in that its another machine with a Power VR GPU so it will be cool to see how much faster/slower it is against the mass of mali chips. Sadly only single core, but still...its a very cool chip.

I do have others with a PowerVR, but not full tested them out yet, and you need a few different machines to give a good average on performance.

It should be here next week, and since its spring break here I'll be doing a lot of writing and coding.

So more updates soon.


Sunday 24 April 2016

New shipment of cards

Well I have a 6 new SD cards supposedly from the manufacturer , and 3 for Malaysia... I am hoping they will all check out but have to run them through a test prog before I burn SD images on them. All are simple 8GB which are less often faked, so I hope these will be ok.

This will finally mean I can leave a card in each of my systems, which will save a lot of time when I want to try one of the less obvious machines.

I'm also going to turn my Pi2 over to become a games emulator, hooked up to my TV downstairs, I have been considering a full sized console for some time but really I don't think I can justify the expense. My main gaming interest is in retro and strategy games, which are not really a consoles things. But I see lots of them on emulators so that's the route I'm going. I have 4 RaspPi's so handing the 2 over to a games machine won't dilute my testing systems! I can always try it out with a fresh install if I want to check something.


Invaders from Space is done and running on all machines, I am going to clean up the code now and start formatting it so it can be put into the steps needed in the book. That I am finding to be quite a tedious and time consuming chore.

Time to move on to Kamikaze, and fix some of he more serious and deliberate issues in the 1st program to demonstrate the benefit of better design.

Onward and upward

Tuesday 12 April 2016

X11 display now sorted

Just a small note, I use the Dispmax features on the raspberry pi, which goes stright to the video hardware, to get full screen display without windows. I'm pretty sure most other machines have a similar ability to go directly to the hardware, but I don't know them, and I don't really want to spend days/weeks working them all out. So I've simply worked out a basic X11 screen display system so that I can get a display to run on any non Raspberry based system...after a bit of fiddling about I now have game displays on Mali chip machines, well I say any, though these things seldom go smoothly, but I think it will work on them all, I will test


That was the last main thing I had to do on the framework code, so time to start getting the games to run on all machines.

Invaders working pretty well, Kamikaze Invaders next.

Tuesday 5 April 2016

Roseapple Pi

Bit of a rare one this, not too many in the West, but gaining in the East as far as i can tell. It also seems to share a maker/designer/factory with a kickstarter Pi clone called the Lemon Pi which never made it to market

Like many other clones this attempts to be better by being faster, and it most certainly is fast.

An Actions Semi S500 A9 quadcore is quite a quick system normally, apparently it runs at 1.1Ghz though that's not stated anywhere in the tech docs. It's supposed to have dynamic CPU loading where the speed drops depending on the work, but I can't honestly see any evidence of that.

Bottom line is, on the gui its fast and responsive, has 2GB of Ram and apart from a seriously hot heatsink which is supplied its a pretty standard Debian machine.

It has almost no real user support, the makers seem to have farmed out support to a user group, which is not that extreme,  The GPU is a single core (boo) PowerVR SGX544, which is a nice modern GPU able to run ES2.0 and openCL 1.1 if I can locate the right drivers.

As with all first looks, it seems perfectly fine, OpenGLES2 drivers are tucked away in the usr/lib/arm-linux-gnuabih folders...I will have a scan for the .h files later.
edit....can't locate the h files, so for now development will have to wait but I'm fairly sure I can get the drivers for the S500 from other sites.


The only thing that worries me, is the reported heat...and yes even on an idling machine at 0% cpu, that decent sized heat sink gets mighty hot... I wouldn't want to stress it out too much..

Once I have enough SD cards to go around, which allows me to keep 1 in each, I'll download some temp and stress testing software to see exactly where they start to fail.

I'll report later on how easy it is to get it running with test projects




Friday 1 April 2016

BeagleBoard XM

Bit of a cheat this one as it came 2nd hand with an SD already set up.

It boots and runs fine, but could not get it to recognize my wifi.

This isn't really a problem as I'll be hooking it up to a router soon enough. Decent little machine its fast enough, though the OS is alien to me, something called Gnome, which when I hit the about tab, to find out more, came up with nothing.

But its a graphical GUI, it has SSH connection and it should be a viable target soon. But as its rather an old board, I'm not in a rush to test it out beyond getting it to boot.

Back in the box it goes for now. I'll try to install some other Linux on it when I get some time.




Nano Pi M1

Oh dear.

well I wanted to like this so much, the little $11 quad core has so much potential, and its really there, but its not ready for public release. The little board is fussy with the SD cards it has, I tried 3 before it booted, and its twin, was just as fussy.
Also when getting it to boot to a gui involves a coin toss you need to worry. Sometimes it goes to a log in screen, and btw Friendly Arm have not listed the login/passwords anywhere I can find them,
and sometimes it will boot to the Rasbian Gui

The console boot won't startx and sometimes even fails to recognize reboot.  Though when it does it tends to then go to the GUI...but not always!!

I can't figure out how to resize the partition, since it fails to resolve the directory path, I really have no clue about Linux so trying to work out login and password info its a mystery t me.

The Gui when it gets there is great, but nothing much works. It did recognize my wifi dongle, but when attempting to enter the pass key the simple act of pressing the OK button to then let it connect...was met with....nothing...it just does nothing...this could be due to lack of store space because of the lack of partition space though

What is very exciting is that in a terminal you can run GLMark for ES2 and sure enough there in all its glory is the OpenGL ES test demo, and confirmation that this is a Mali 400 MP GPU

Also, it seems to have its .SO drivers in the lib directory, this could well be the easiest machine to actually get code working on...Now that is the potential

If I can get the passwords for it, there are hints on the site of root/fa and it logs in with those but fails after that.

Wired networking also is a little odd, it need to be plugged in on power up, but that still does not allow networking since the machine does not have a valid mac address
The Wiki here 
Suggested adding a valid Mac address, so I found an old network unit that I no longer used and copied its mac address, but the file is read only and I was unable to save (perhaps another resize issue?) I know Linux protects some important files but I don't know.


I just tried ifconfig after a log in, when it didn't go to the GUI and root/fa worked and ifconfig returned an address which allowed me to make an SSH connection

which VisualGDB was able to use, it returned an error though
/usr/bin/xauth:  error in locking authority file /root/.Xauthority
root@NanoPi-M1:~#

Which again I assume is due to partition issues....


So for now this machine has to stay in the box, until either I get some help with understanding the Linux needed to make it functional, or the suppliers provide passwords and instructions on how to resize.


Shame....this could be a real cool little Mali machine if only I could get past the assumption the makers have that everyone knows linux!!!!



Using a 4th SD, this time an 8G, the others being 16gb, I tried again and finally able to re size followg these instructions
http://gleenders.blogspot.nl/2014/08/banana-pi-resizing-sd-card-root.html

yeahhhh finally, ok now SSH works, console opens and returns no error, boot is still hit and miss, but I have a full 8G SD working...wifi does at least now save the properties when I click ok, but does not manage to connect.

so a little progress, I will try to get some mali 400 graphic code running this weekend.

Final edit... it does seem that the 16Gb sd's I was using were faulty, which won't have helped things at all. The branded 8Gb in there now seems stable and aside from never being sure if the gui is going to fire up I'm happy with the beast now.
I will re-review this at a later date when I come back to it.


Wednesday 30 March 2016

FriendlyArm Nano Pi2/M2

Today I got a nice big package in from Friendly Arm in China, I bought 2 of their higher end machines the Nano Pi2 and the M2, as well as a couple of their absurdly cheap $11 quadcore M1's

$11 ....how do they make money?


Anyway....I'll start with the Nano Pi 2, It came very nicely packaged in a book style folding box, and is very neat, bigger than a Raspberry zero, but about half the size of a standard Pi.


Not a lot of software out there, but the Forum seems well set up and the images were easy to find for Debian and Android, I went for Debian of course.

I have to say this was by far the easiest burn and play I've had so far. It worked perfectly and I had a very nippy running version of Debian in no Time. Which is good as I was a worried after reading that some early adopters had to change resisters on the board. But no it was all fine.

I used the exact same SD card on the M2...again booted no problem.

Can't really say anything bad yet, expect that the video res was a little low at 1280 instead of 1920, so I'll change that when I know now. It was only a quick boot and test, but I nosed around the libs, with ease since it was so responsive even ran a few stress tests to see how hot it got, it seemed to manage ok, hot but not HOT!!!


I like this, when this do what they are supposed to, I will play with them properly at the weekend.


The M1 sadly however did not boot from the same SD, so I went to go get the M1 images....which despite being referenced in the Wiki...are not there...oops. I think I may well be the 1st Western customer for this board, since no one else has reported missing M1 images, they have a Chinese download site to, but I can't get to it, so am guessing that's where that are at the moment.

Hopefully they will be up tomorrow and I can give a report on it separately. I bought 2 of those since at $11 there are a total bargain and I am sure I will find a nice use for them in spite of the almost total lack of software

I ordered them with cases which are 3D printed, and tbh are a little on the coarse side, screw holes will need to be filed out in order for screws to fit....but not to worry, these are so rare over here, I doubt I'd be able to find anyone doing my preferred clear Perspex open sided enclosures.

So that was just an unbox and test... I was pleased, I hope that in use they are just as pleasing.

Edit... well ok, maybe I spoke to soon. Though the issues are not really down to the Nano's, just my total lack of understanding of Debian. However it does seem to be a painfully light version with a lot missing, and method to resize the disk does not work since sudo refuses to resolve the username
no idea at the moment how to fix that but I'm sure someone will inform me in the coming days.

It did crash, one time and possibly from entering the wrong passwords too often..which is not surprising as the Debian password is not listed, its fa by the way.
I can't change the user to root though since any attempt to change the user causes a crash...most likely due to not being able to resize the partition.. hmm

ok well the M2 was not able to find any networks with my RPi wireless dongle...bit of a pisser but not entirely unexpected I'll hook it up to a hardwire network soon.
The Pi2 took a bit of time to connect to my in house wifi but it did work, though I don't seem to have the right passwords for SSH connections...again I will wait for a response. Then hopefull we can test it out.
I put a little heatsink on the chip though, it was getting mighty hot, and even though I am not sure the crash was heat related its not going to do any harm.

So until I get passwords resolve..I'm stuck

Short update, the day after, the Pi2 seems to have issues, with overheating, I left it running for a while and went back to it to find a white screen, though it may not be a heating issue, could be software trying to enter sleep mode...But I tried leaving it overnight and in the morning white screen again.

I do think this is more of a bad sleep mode though.

I now have M1 Debian and Ubunu builds which I'll work on later tonight, but still waiting for passwords from the forum support. I will just burn Ubuntu on them and see what I get.


Tuesday 29 March 2016

Raspberry Pi A+

Ah a raspberry,


really there's nothing that can go wrong, Rasbian installs, it all works, everything is awesome..

..
..
.
..
..
..
..
..
...
..
... ok well yes but its slow as anything has no ram in it to do anything cool and its basically less capable than the Pi Zero, but its a Raspberry, its a lovely thing, very easy to get started with and that's all there is to say.
Its not ideal as a game target, but it does work...just

Saturday 26 March 2016

And so it begins

I've been running a breadboard test program (ie every test routine with no real regard for clarity or intending to be published) for several weeks now, getting my game framework up and running, testing and scolding myself and learning a few things about SBC's which I just wasn't aware of,
The intent was to write a couple of game frameworks, starting off with a scalable resolution 2D sprite based framework. This will be a jump off point for 5 or 6 games in my book before we discuss optimisations and transition to 3D.

The 1st game to be done is going to be an Invaders game. As soon as I have the clean tidy but still very bad, code ready I'll start putting it in the book.

So far its only running on the Raspberry Range, I have to make a few changes still to get it on the others, but its a start.


Behold the invaders are coming



Yeah I know not much to look at just yet, but that is a double buffered RAM buffer drawing to screen at 60Hz, scaling up to 1920x1080, with all Sprites having full colour and alpha channel. at 640x480 pixel res, these 32x32 don't even push the hardware.. In fact I tested it to do over 2000 on a Model 2 and 3000 on a model 3 before the speed dropped down.
Considering this code is quite deliberately very bad (for educational reasons) I was amazed.

I'll finish the game tomorrow and post a few more pics, but source code won't be available till the book is done.

Banana Pi M3

I've been waiting for this one, I ordered one from a German supplier several weeks ago, but after waiting 5 weeks I gave up and cancelled the order, after I spotted one half price on eBay.

There's a down side in that this one is the Rev1 version which uses 2amp max, micro USB power but I don't plan to hook it up to much so it shouldn't need the 3amp version in Rev 2. But that said it hated having an unpowered USB hub with Mouse, keyboard/mouse combo and a Wifi on it...it refused to boot if they were plugged in. I resorted to just using the keyboard/mouse direct into one of its 2 USB, as wifi is on board.

The M3 is the Octa core system from Banana Pi, which competes with the amazing, Odroid XU4 in having 8 cores but its not quite as cool as it sounds since in truth the XU4 has 2x4 cores, so while you can allocate 4 cores to any app, you can't access all 8 in one app. But this does have the advantage that your OS and other apps are probably working on one core group while your app runs full speed on the other. The M3 has 8 actual cores which can all be accessed in theory meaning you really have full power on your app.

Speed is also a factor with this machine, it defaults to 1.2ghz, but can be overclocked up to 1.8Ghz or if you have a bit more cooling 2.0ghz. But I'm not too interested in any of that right now. I may boost it a little but I like to see the chips and won't cover them with heatsinks unless I have to, Research also shows that even attempting to overclock is going to fail, and in fact its best to keep it running at 1Ghz.

Graphically the GPU is a bit disappointing, given the effort to put CPU power in there, they could have done so much better than a PowerVR SGX544MP1 single core . Its an ok chip, well actually its a very fine chip,  faster I think than the single core Mali 400's that abound but not exactly a match for the CPU potential it has.

It runs OpenGLES2.0 but unlike the Odroid XU4 it can't (currently) handle ES3.0 which is a shame. It does however allow OpenCL compute coding, for more advanced coders than I, which I will play with in due course. I am excited to get some code working on them that can test the GPU power to find out if the multi core (6) GPU of the 600 series Mali on a XU4 is better or worse than this.


It does have a Gigabit Ethernet which is nice, and it has Sata connections, but I discovered on line that its not a true Sata, its USB emulated, so while its possible to hook up Sata drives to it, which is cool it won't have the performance you'd expect from a Sata Drive. In fact its terrible perfomance.

Some nice buttons for power and reset, and one called uboot, which I have no idea about, usual extras include IR and microphone, Wi-Fi, Bluetooth plus the usual lcd and debug ports and the ubiquitous GIO systems. Hardware wise though this is not a clone of the Pi, it does its own things its own ways, it just happens to run a version of Rasbian and share a liking for fruit pastry based nomenclature. Its unlikely any Raspberry hardware will work out of the box with it but again I don't plan to try, its just a target for me.


So lets get it going.
I assumed as this has cMMC memory on it, it would come supplied with something on board and boot direct, but it seems not, I think I will have to install it myself once I find an OS I like. So I burned a Rasbian distro on a 32Gb SD, which I downloaded from the Banana Pi site.

while I was waiting, I put it in its nice Perspex enclosure which has been sat on the shelf those 5 weeks waiting..

Sadly the Rasbian distro didn't work, so I tried Ubuntu...also no joy... But rather than get all Hulk on it and smash it into a thousand pieces as the voices in my head were saying. I decided to try a different SD and this time I got Ubuntu to work. It fired up even connected to WiFi and did what it was supposed to do. So maybe it has an issue with my 32MB generic SD card. I'll try it with Rasbian again another time.

The machine is suffering a little from a lack of power and it gets very hot, with apparently random crashes. I'll reluctantly add a heat-sink to it when I get some more in and see if that helps. Also it really needs to use a powered USB hub

But it connected to the dev PC and was able to run an SSH console, so it should not be too hard to get the beast to work. But I think I may at some point sell it on and try to get a Rev 2 model, as this is far too fussy.and I want to be sure crashes are caused by me not by a lack of power.
Software support is as always very poor, but I really can't blame the Banana people (or person) the community needs to step up to help and that will deliver improvements like the Rev2.

Though not on paper, at the Odroid XU4 levels of speed,or GPU power it does actually seem to run Ubuntu mate far faster and smoother than the X4U, I think however that's down to a lack of GPU acceleration on the Odroid machine which may be enabled here. It does crash though from time to time...grrr However I realized I was using a 1amp power unit so I'll try my monitors powered usb hub, which I think can do more than 1amp,  until I pick up a 2amp+ unit from somewhere.


Snooping though the libs there s a LOT of Raspberry Pi references, so it may be that the libs and code are for the RasPi and have been copied over but probably won't work...

So not the beast it promises to be, more of a petulant teen on its way to being a beast. I won't rush to get the Rev2 but I will keep an eye out on how it is received.

I have to add that after a quick look around their forums its populated by a lot of incredible negativity, the machine has faults for sure, but when people post solely to run it down and avoid an actual attempts at helping others to get it working its a sad kind of support.
I suspect however this is rather a directed targeting of hate at the makers. The makers themselves are clearly not well versed in English, so  it may be they are not too involved in the forums directly, but there is evidence of software updates and one or 2 people doing their best to make it work.


The M3 really fails to deliver if you are looking for a proper 8 core fast system, without heat sinks it tends to shut down cores and its rare you see all 8 cores available...but as a target for our tests it does do its job...maybe they will fix the software issues that are causing most of its problems...maybe not...its a brave attempt though






Orange Pi PC

After a not so good experience with the Orange Pi One, their simplest board, I decided to try their more direct clone. And it did work out a bit better in some ways.

I burned a Rasbian clone from their website, and basically that worked fine, and the machine booted up right away. but it did boot up in 720p rather than 1080p and I had problems finding a way to fix that but no matter.

The Rasbian on board seems to be a copy of the Banana Pi version, which in turn is a copy of the Rasbian version, it even included the BC-Host.h files. which are useless on a Mali based system.

Wifi also does not get recognised, I tried 2 Pi compatible dongles but non of them worked, no matter, the wired networked worked fine and connected to my Windows PC no problem, but clearly no update and having to use SSH to send libs is a bit tedious.

Overall the Rasbian is a bit buggy, with window movement being a bit flakey so trying to use it for anything serious that works on the Raspberry is likely to be a disappointment.

One thing to take note of was how hot this board runs, it really kicks out some heat from the CPU, probably still within its safe limits but considering I did nothing more than boot up a low res OS and test connectivity which did not register as any form of stress on the taskmanger, I'd hate to think what temp it gets to when its run under stress.  A small investment in a heat sink might be a good idea.

Software support is.....almost non existent, there is a dedicated but very small group of enthusiasts working on porting various OS's and some media players, but not much more than that.
However for simply testing out my projects it should all be fine

It also has to be said, this is a very very nippy machine, that over-clocked and hot CPU has a lot of horsepower which I am looking forward to testing.

We'll soon find out ;)




Friday 25 March 2016

More Pi..

I think I am done now with my collection of Pi clones.
I got hold of a Roseapple Pi, one of the fastest out there, and I ordered a couple of $11 Friendly Arm Nano Pi's which should be here next week. I think that brings the total to over 20!!

Its all a bit mad now, but I think I can stop now, I have almost all the base and high end ranges of each of the main makers, and in the case of Roseapple a very obscure but very fast one. Which is more than enough for me to perform my tests.
It does seem that the success of the RPi is encouraging a lot of Chinese/Korean makers to clone it and try to add a little extra value, but the Rpi leads because of its support, If you look at the Orange Pi, you can see such a difference.

But anything that gets people interested in small computers and coding is good.

In other coding related news, the V1 (bad) framework for my games projects is now complete, I can get around 3000 blitted and 2000 alpha compliant sprites on screen on an RPi 3 at 30+ FPS, and easy 1000 on a lesser machine, which is more than enough to get the games working.

I was rather hoping that the performance would be much worse, as I am deliberately rendering the sprites in software, very badly, in an effort to show that bad code can still work, but its still bad.. The idea being that the V2 framework, will have considerably better object management and 10,000+ sprites at 60FPS, should be perfectly viable, and that better management will demonstrate to the user the difference a bad design choice can make. Oh well, there are 2 very high sprite number projects which will stress the system so the point can still be made.

This easter weekend I plan to get some backlog work done, and then come back to it renewed. I'll also be setting up the sets systems for the Odroids and Banana Pi's

This is when it starts to get interesting.



Wednesday 23 March 2016

Raspberry Pi Model 3

Well the RPi's of course are the safe ground for any SBC user, with enough support and software to make them far and away the easiest systems to use.
I took delivery of an RPi Model 3 the day after launch, knowing that they'd probably sellout.

It of course presented no problems, once I had downloaded the latest versions of the Rasbian distro which could properly set up the 64bit system. The older versions being unable to do so.

The biggest new thing on the Model 3 for me, was the wifi, which works brilliantly. I was unable to figure out out to get Bluetooth to work but since I don't really plan to use the machine as anything other than a target for game dev I didn't really care. I am sure someone will find a reason to use it on the forums.

The speed of the Model 3 is not exactly blisteringly better than the Model 2 but it is there, the GUI in particular feels just a bit smoother and more responsive.

It seems to make little to no impact on my projects, which still run at reasonable 35FPS with no optimizations under extreme stress of rendering 3000 software sprites.

I get pretty much the same performance on the Pi Zero, but then again I am only using 1 core so can't expect the Model 3 to be massively better.

As with all RPi's the Model 3 is a nice safe and secure upgrade that presents no technical issues.

Friday 18 March 2016

Odroid C2

Oh well this was an interesting one. I got no video output, thinking it was the SD card, I re flashed 3 different SD's but still no output. the Blue heartbeat indicate was pulsing away suggestion that all was well but nothing.

A post on the Hard kernel forum got a reply from the admins, to check the cable which I had done already, but then I noticed that when plugging in I did seem to get a slight signal capture, so I decided to fiddle about with the connector...sure enough, if I got just the right spot I got a signal.. but the slightest shake or vibration and the signal dropped. So it has a faulty connection.

I did manage to get it to sit stable on the desk for some time though to look through it, and it all seems to be fine and dandy, no disk volume size utility immediately obvious. no working OpenGLES demos on this one, but there was GLX demos, no source....otherwise pretty much the same as the XU4.

But I did note that it seems a lot more nippy than its big brother the XU4, giving me more suspicions that the X4U does not have accelerated GPU functions in Ubuntu

Sadly the vibration caused the signal to drop again and getting to stay stable was just too much effort, it has to go back. I've contacted  Hardkernel and will send it off, or try to arrange for a 2nd one at some discount to avoid paying lots of shipping.



Thursday 17 March 2016

Odroid XU4 Setup

Ok so first up on my  list of devices to get fired up is the 8 core XU4
One of the fastest machines available so I was expecting good things, but 1st impressions are not amazing, however there are a few definite plus points

I installed Ubuntu mate on an 8GB SD, had a little trouble working out which way up the card went in,, but figured it out. (it went up :D)
1st boot, seemed to crash, so unplugged, and tried again, this time no issues and it went into the GUI desktop.

Start up of apps is a little slow, but that's quite normal with SD, though I was surprised at the refresh rate of the windows, they were fast enough to work, but there is a clear lag in the wipes and resizes...Which is usually an indicator of a software refresh. I can't be 100% sure at this point if this version of Ubuntu is actually using OpenGLES acceleration.

Anyway, this is my 1st exposure to Ubuntu Mate, it seems like a nice OS, though I'm not especially interested in using it. I could not work out how to add my wifi network until I found the installs tucked away.

Wifi did hook up, though I was plagued by my upstairs wifi externder being mega slow.

So, thats it so far, it boots up fine, it did an update fine, extender issues notwithstanding and it runs Ubuntu.

I had a look around in the directories to find the OpenGL libs and indeed we have OpenGLES1.1 ES 2.0 and ES 3.0
We evern seem to have an OpenGL lib, but that may be a leftover from which ever version of a desktop OS this was ported from

There is a really nice OpenGLES2 executable demo which gives a range of examples of shading fx with models and procedural demos. also a good hello triangle demo. But though I found the Exes, all the header files and I think the OGLES2.0  libs themselves..I could not find the source code for the demos, which will be a massive help for programming.

The Odroid site does have some interesting helpful examples though so I will download those at the weekend when I will try to get a project up and running on it.

so..easy to set up, get going,we will see if the coding is as easy.





Hello and Welcome

Hi there, thanks for dropping by to my new blog.

I've been having some fun collecting and testing out a whole range of SBC's like Raspberry Pi and all the clones that have come on to the market hoping to grab a piece of the action.

In doing so I've discovered a fascinating culture of hardware geeks who love nothing more than making these little machines run various versions of Linux and Android in a seemingly never ending quest to create even better home TV boxes?

I don't like home TV Boxes, I hate Android, and I hate Linux even more.

But I do like tech, and fun tech that lets me play with it has always been interesting to me. As a veteran (ie very old) games programmer I wanted to see what these little machines were capable of.

In the process I discovered that though the  idea behind these machines is basically the same, produce low power,  cheap, self contained systems, using reliable and readily  available off the shelf chips, usually ARM with a SOC style main CPU and GPU combo, there was an interesting similarity in the design approach and hardware used. Its wrong to say they are all clones of the Raspberry Pi, though some are, many are genuine attempts to produce a better product that targets the same market, therefore there is not a massive difference in the hardware but tweeks in speed, RAM and GPU make for fun variations while retaining a common core.

So while there is some consistency in the hardware designs, the software support varies wildly. Various flavours of Linux partly work or sometimes just don't, Android usually works very well or not at all and so forth.

The overall success of the machines depends very much on how many people are actively working to make the software work so I applaud that regardless of the comments from those not willing to wait for the software to mature.

The Raspberry Pi, has far and away the most active community with many millions sold and many thousands of active contributors, so its software base is solid and reliable. The Orange Pi by comparison, has maybe 3 people (exaggeration) working on things while  other spectators complain bitterly about the lack of support and fail to realise that open source development needs participation to succeed.

I'm not an OS coder, I have little or no interest in working to port Linux to such machines, even less on Android, and most certainly no real skill.

But I do like to write games.. So I've been producing a series of projects for an upcoming university course that will work on almost all these machines, so long as they are running at least a basic version of Linux (Android is a bit too tricky).

The fact that most of these machines have as much processing and graphic power as Original XBox and PS2 and perhaps more, makes them very interesting from the point of view of developing games that work within the limits they have. Those limits are so far beyond the limits of the 8 and 16 bit machines I learned to code on that I am salivating at the idea of what might be possible, if one moves away from endless re-writes of home media boxes...these are great games machines, lets try to make games!

Over the last few months I've been slowly acquiring SBC's to go with my main Raspberry Pi dev target so that I can work out how to get them to run games

I plan to use this blog to detail, how to install working images, working OpenGL ES2 libraries and also OpenAL libs, assuming the hardware's own drivers actually allows these things to work. This then hopefully will form a useful resource to those who want to work with their SBC's for anything other than OS development.

All of this will culminate in the development of a range of games for a book I am working on which I hope people will check back on here to see where some of the choices that were made came about.

So far on my collecting quest I have the following machines... I will update from time to time.
I have a couple of some models, especially raspberries and nano's but will just list the type rather than the numbers :D

Raspberry Pi A+
Raspberry Pi Model B
Raspberry Pi Zero
Raspberry Pi Model2 B
Raspberry Pi Model3 B
Raspberry Pi Model3 B+


Odroid C1+
Odroid C2
Odroid XU4

Orange Pi one
Orange Pi PC
Orange Pi PC2
Orange Pi Zero
Orange Pi Zero Plus 2
Orange Pi Win A64
Orange Pi
Orange Pi One Plus

Olinex A10 OlinuXino-Lime 4G

DragonBoard 410c

BananaPi M1
BananaPi M3
BananaPi M3 with 3amp power jack
Banana Pi Zero M2

Beagleboard RevC
BeagleBoard XM
BeagleBone Black

Pine A64 2Gb
Rock64Pro

C.H.I.P.

Nano Pi 2 Fire
Nano Pi M1
Nano Pi M1+
Nano Pi M2
NanoPi  M3
Nano PC T2
Nano PC T3
Nano Pi Neo
Nano Pi T4
Nano Pi Neo4
Nano Pi K1+
Nano Pi K2


RoseApple Pi
Creator Ci20

Asus Tinkerboard
RockPi4

Libre Tritium H5
Libre Le Frite (ANL805)

Up^2 (base 2Gb dual Celeron model)
UpCore (base 1Gb model)

Khadas Vim2


Some I have still to get working, Some are still on the way to me, but this represents a pretty fair wedge of the sub $75 (stretched to $100 max) range of SBC's on the market, most non Raspberry ones, use Mali or Power VR GPU's and all run some form of Linux.
..update, more modern GPU's now coming out, Mali is still pretty common, but the support is still hit and miss.


I'll try to post info on how to get things set up, and some screen shots of games as I go.

I hope that this proves to be a useful resource and I'll try to keep it up to date as long as these little monsters don't have me feeling too stressed out.