Monday, 30 June 2014

My Week Off & Software Dependencies

I've just had a week off, well when I say off I mean I didn't have to get up and go into the office, instead the house needed tending to... Lots of tending to...

I've laid a new floor, had a wall demolished, removed tonnes (literally) of old fencing, painted life preservers (for by the canal side), cut down (clipped not chopped) tree's to size, visited our second house to check on the tenants, and I've done multiple runs to the tip to get rid of tonnes of this junk.

All in all, I'm exhausted and thankful to be back in the office... So what has software been doing without me?

Well, it seems a quite able chap has been busy looking through the code, and has left a bunch of very good insights into fixes for the code, almost like a peer review, something this project sorely needed.

I've duly sent a rebuild and am now awaiting feedback, but whilst that all goes on I decided to look at some of the support tools I use, to see about sending them to various people in the building.

The first problem was this is that I didn't write half of these tools, they were written pretty much as a stop gap measure, and here they are nearing nine years old and still in use in their flaky, temporary, incarnations.

They rely on libraries people don't have, they use modules which are part of the source - meaning to use it you must have the whole source checked out - and they look terrible.

This reliance on other libraries is something I need to tackle, on some systems - like Linux - you can get away with assuming the user is able to go get the libraries your software needs (if you tell the user which are missing that is) but on windows its unforgivable to leave a piece of software to crash through some mysterious missing library problem.

And this is exactly what we get with these tools at the moment, I know why they're crashing, I know others know why they're crashing, and if other more dense users read the error message they'd know why its crashing and be able to ask for a solution.  But instead I'm met with the continual report that the program is broke, and then a wall of silence as to what's wrong with it.

So, developers out there the world over, if your software needs a library, and that library is only on your machine, let everyone know, make your software check for the presence of it, don't just let it run off the end of its runtime and crash!

Blog Viewer Statistics

Holy moly... I'm in a little bit of shock, I've just taken a look at my blog stats, I've had a new record high number of viewers in the last 30 days, we're up from 10,503 unique impressions (address visits) to 21,606!

Well done all of you for getting here to my lowly little corner of the internet...

Now, I need to find out what you found enjoyable and regurgitate more of it for your viewing pleasure.

Sunday, 22 June 2014

WarThunder - Joy Sticks I'm Trying Out

I've been waiting for sometime to get a chance to go over to my parents and collect a load of stuff they say they have of mine... I moved out 19 years ago, so I'm a bit baffled as to what of mine they have.

The only things I know of mine they have, which I want back, are all my old Atari ST games and software - which my Dad has promised he'd sort out from his junk and bring over for about 4 years...

With that wait in mind I asked him to get his finger out, because I can't just turn up and go through my own stuff, I think because if I do go over and collect it all he'll not have anything to moan at me about, so he's stalling me as best he can.

But in talking to him about it I did ask "What apart from the Atari stuff is there?"... He fumbled and came up with some papers... no idea what they are, some book, just one book... And a joystick...

A Joystick for the Atari's?... "No" he says "A dead fancy one with loads of buttons"...

This isn't a joystick for storage, this was a joystick I lent him to play his own games on... its a Cybord 3D...

Which I lent him when I got my Seitek X45 set...

You see, I used to play FlightSims a lot, I loved MS Combat Flight Simulator (which was the game I bought the cyborg for) and when my World Of Warcraft crew got bored we played a little bit of IL2 Forgotten Battles, which is what I bought the X45 for...

Now I had used the X45 in WarThunder but not been completely comfortable... I'm wondering now whether to go pick up the cyborg and give it a go....

Saturday, 21 June 2014

Typhoon Fighters, Old and New

I was doing some research about the Hawker Typhoon Fighter Bomber in World War 2 last night, this was to help feedback against a moderated bug report on the Gaijin forums for War Thunder.

As part of my research I spent a good two hours after that dismal England match against Uruguay reading and checking figures in several books, it took so long because one of the references I wanted to pull out of my archive was from the Imperial War Museum's "Images of War" publication, and I could not find the right edition (there being 52 of them).

Anyway, I did find it in the end, and after checking with Janes, I hit the internet to re-evaluate the original digital source links I'd passed over in the post.

They all married up, roughly, and my observations of the climb performance in game were much higher, so there's clearly something wrong with the flight model.  I don't know if its a bug in how the sustained climb acts, or just a bug in the drop off of engine performance at height... But whatever it is, its not firmly in the hands of their moderators.

I like that they're handling bugs like this in a moderated fashion, it stops the dross of trolling and random posting which was the bane of my life when at the Lordz, trying to figure out what was an actual bug report and what was just people having a go.

I was however interested to see this article from the Telegraph come up, when I was searching online about the climb rate of the Typhoon.

In case you're not aware the Eurofighter as it entered RAF service was christened the Typhoon, unlike its name sake this new generation jet fighter can climb, oh boy can it, I've seen them in the flesh, a diamond formation of four going vertical over the Lincolnshire countryside.

Wednesday, 18 June 2014

WarThunder - Cross Platform - Linux

I had posted, and had been enquiring over with Gaijin, about how or when the current Test OpenGL Renderer will be shuffled out their fun factory doors to give us WarThunder on Linux...

Well, Gaijin demonstrated WarThunder on Linux at this years e3!

I think this is a very exciting development for Gaming on Linux & Gaijin, and am very interested in where they go with this.

Tuesday, 17 June 2014

WarThunder - FW190-A1 - Definitely Broken

After my last post from WarThunder world, regarding the FW190-A-1 I had literally dozens... *cough* alright half a dozen... *cough* alright two.. e-mails telling me quite how much of a noob I am.

Thanks to you two for your fine and informative input, don't actually tell me what I'm doing wrong, don't actually help just be fucktards!

But I thought, maybe I am doing something wrong... So I decided to test my energy fighter skills against others, and luckily I wanted to unlock all the modifications on the F4F, the F6F and the Corsair... heavier, meatier, fighters I think you'll agree...

And they worked as expected, I'd climb, dive on a target jink around and climb away... I actually did best in the F4F, the F6F annoys me a little and the Corsair I'm not very good in yet... But everything worked as expected and I made decent progress, and even on the missions I lost, I felt I'd had fun, even if I just came down on a dive ran out of energy so farmed some ground targets.

The FW190-A1 immediately showed another problem at low altitude, and that was combined with the wiggling in turns it has huge ground effect... Literally you can hear the ground effect from around 200-50feet... Other aircraft you only seem to hear the ground effect around 75 feet and down... not from as high as in the 190...

I'd now tried the broken fighter, and then a bunch of really not very comparable crates... What about a stable mate of the 190... The venerable, reliable 109...

I set off on a series of missions, none of which I have screen shots for.  And I compared in my mind the climb rate, the performance in the dive, the ground effect, the turning - when forced - performance and the low level, low speed turning & performance... And you know its not bad, on any of them... Once I was in my 109F4 and the 109F4/Trop they were fine... Apart from having minuscule ammo loads the 109 performed as I expected... They even performed and took punishment quite well....

I therefore stand by my gut reaction, the FW190-A1 is broken.

Monday, 16 June 2014

WarThunder - FW190-A1 - Broken?

Over the weekend past I've been a very busy boy, this was in spite of being ordered to rest by my doctor.  But I did manage to get two sessions flying out in WarThunder...

Mainly to test out the new graphics card, more about which later.

But whilst flying around I levelled up my American planes and I unlocked the F4F-3, the F6F, the P47D-28, the P38 and a bunch of aircobra's.... All Good I thought, I was playing energy fighters and getting somewhere...

This was, until I thought I'd try to fly the new Fw190A1 on the German branch... My first Focke Wolf 190, and to be honest I had very high hopes for it.  Based on its legendary status that is, and the fact that I'm playing realistic battles not the ram fest arcade version of the game.

And... I'm pretty sure its rubbish... The FW190-A1 appears to be the Marmite of the Butcher Bird world, as I've spoken to other players randomly and they either exclaim "No you're flying it wrong!"... or they exclaim "yes its rubbish!"

So, lets just go over it, I fly the 190 as an energy fighter, trying to climb, I keep a steady rise to altitude going, but above 10,000ft it aircraft is sluggish to move into a turn, also it consistently wants to nose down when travelling below 220mph.

When going into a turn, be that a low altitude high speed turn, or a high altitude low speed turn, or anything in between the thing wobbles and widdles around on the flight instructor.

The engine also incessantly overheats, and cutting throttle into a dive it takes an age for the water to cool again, yet if I leave it above 0% throttle it cools quicker, which is totally nuts.

So, I don't like the FW190A1... And though I see people getting up to 15,000ft in it and taking out AI spotter planes I can't get mine to go up there, it simply stalls out, and even in a standard climb the angle of attack to keep in the climb means we're flat planing at altitudes around 10,500-11,000 feet maximum.

I've asked what I'm doing wrong, I've played other planes - both higher and lower in tier... In both the German Tree and others, and the Fw-190-A1 has to be, for me, the most disappointing aircraft in WarThunder.

All this before I even mention the damage model, its almost worse than flying a Japanese plane, because you know they have no armour.  But the Fw190 was build with armour a forethought, it was a fast, light yet rugged machine... Not the delicate thing they're presenting us with in the game.

The 190 was designed to intercept, more than be a fighter, it was to be a jabo... a Fighter Bomber... and a high altitude interceptor.

But its so badly behaved and so brittle.

And I'm not just saying this... Look at a comparable tier aircraft, the P400... Look at the damage mine took, and got me back to base in the very same Ruhr mission which was knocking the Focke Wolf down like a mosquito in rainy season.

One eight of this kind of damage and the 190 bursts into flames, or its wings tear off like a small child is toying with flying ants.

So, I don't like the 190-A1, so much so that I'm not even going to show a picture of it here...

Thursday, 12 June 2014

Noble England

You know, its not a bad tune...

But, until just now I'd never seen this before, not in 2010 for that World Cup... But hey ho...


Tuesday, 10 June 2014

War Thunder Sound Issues Resolved

An interesting upshot of upgrading my graphics card has been the total solution of the sound issues I was having with WarThunder Ground Forces...

The sound uses to stutter and stammer, it was impossible to hear actions being taken against your own vehicle and the ambient long range artillery fire was constantly taking over the sound channels.

With the new graphic card no stutter, no booming...

The exact same processor and sound system is not playing the sounds normally, my thoughts are that the sounds were always playing properly, but that there were so many sounds and so complex a scene being rendered that the graphics card became a bottle neck, holding up the PCI-e Bus, and so interrupting the sound playing.

I'll be posting more about the new performance of my rig as I get to play more games, so far I've only played one half round of War Thunder Ground Forces and an hour of Sniper Elite 2; before the wife wanted me to go run around after her like a fawning lamb.

So to anyone having such sound issues, it maybe a performance bottle-neck.

Monday, 9 June 2014

Holey Hardware

I really like this story, doubt it's true, but a little part of me wishes it was...
/ net.rumor / sdcrdcf!dem / Mar 21, 1986 / 

This was told to me by a fellow co-worker who worked for another large main frame manufacture previously. It seems they delivered a new machine to an overseas site and during installation every time they applied power to one of the memory bays they blew every circuit breaker in the computer room.

After resetting the circuits they again applied power to the memory bay with the same results. Since this was a new machine they crated it up and shipped it back and got a replacement.

When they got the damaged memory bay back the started to tear it down to find the cause of the short. Well what they found was a small hole about 3/8 in. in diameter going from top to bottom through some of the memory arrays, which cause a very effective short.

After a lot of research they found the cause. It seems that after the memory had passed test and evaluation and quality assurance the bay was crated and put in the warehouse to await delivery. At some time during its storage an electrician was hired to do some work and since it was a secure building the security guard had to go with him.

The electrician at one point said that he had to go back down to his truck to get a drill and the guard asked why and the electrician said he needed to drill a hole right here (pointing to a spot on the floor). The guard then responded by pulling out his sidearm and proceeded to blow a hole at the appropriate spot which happened to be right above where the memory bay was being stored.

The last he knew the guard had been reprimanded and re-assigned to another of the security agency's customers.

RIP Rik Mayall

Alan B'Stard...

Lord Flashheart...

Richard Richard...

Today, the comic genious of Rik Mayall has passed onto that great arena in the sky, and I'm absolutely gutted.  He was one of those permanent and formative comedic characters in my childhood, adolescence and until his untimely knocking for six by a quad bike a big regular presence in my living landscape.

I've had the pleasure of seeing Rik live on stage in several iterations of Bottom!... And will always remember his terrible Norfolk-style accent as he tried to take the piss out of us "Nottingham"... "with your fucking tree and outlaws".

You'll be missed Rik, you clever, funny bastard you!

Sunday, 8 June 2014

WarThunder - Douche Bags, Frame Drops and Realistic Battles

The new graphics card has arrived, so expect some game-play footage of my Realistic battles from WarThunder very soon....

Last night I actually played a few battled in WarThunder, I found a few bugs too, especially in the OpenGL Renderer.  Before I install the new card tonight I'm going to take my old settings & DxDiag info to send off to Gaijin, then install the new card and see if the same graphical bugs show up.

The reason being that the OpenGL hardware implementation on the the old cards was 2.2 and 3.2 respectively, and both showed the problems, and the new OpenGL implementation is 4.2 (maybe higher if I patch it).

Anyway, I played a good 5 realistic air battled, unlocked the P47D and flew it out... You know what its a decent aircraft, what I immediately noticed was the stock ammo load out sets aircraft on fire fast... The mission contained a set of 3 spotter AI, I took 2 of them down with high deflection shots, setting them on fire.

I then swooped down on two AI HE111's and a player 109, the player I tore up and both AI Bombers too... Over the enemy airfield I then got shot down by AAA.

The next flight out, I met perhaps the biggest douche ever in WarThunder.  He was in a Beaufighter, I'm in my P47... And he's after ground kills, I figured he had rockets and could knock out the pillboxes... No....

No he was just farming the ground targets, so when I saw him break and destroy a couple but take AAA fire, I dove into the mix and shot up a couple of AAA emplacements... Next thing I know he crosses my tail and shoots me with his MG's...

I wondered for a moment whether this was a mistake...

Then messaged... "The word you're looking for is "Sorry", you dick head"...

His reply... "no"...

No he wasn't sorry, he shot me for shooting "his" ground targets... So he was not contributing to the battle, he was just farming credits & XP... The mission was not won by killing the ground targets, indeed, I won the mission killing the last player and last AI air target, as well as emptying my guns into the AI spotted plane mission objective... 

And I was on my way back to the airfield, still with the only battle damage from that moron, when the ticker ran dry.

What annoyed me though was this douche got rewarded for being a douche, he got anti-mech, and "mission maker"... so he got 18 ground kills, but got them through duplicity and aggression towards friendly aircraft.  It stank to high heaven.

I reported the moron, and when I have the new card installed I may fire up and record the replay for my retard videos on YouTube...

This guy left a sour taste in my mouth, so I switched to playing a ground battle, going into a mixed air and ground battle with the Germans... GOD THE LAG!... The ground forces played okay on this same machine with the same settings, but adding the air and ground I got at most 10FPS, and red indications all the time on the frame rate.

Clearly, my rig can't play combined arms fights, so I need this upgrade.

Saturday, 7 June 2014

Yay Me

Did they say Jesus, or Xelous?...

Yes, it's my Birthday, Yay me!... Managed to keep breathing and not been hit by a bus for 36 years.

 Probably more apt is this ditty...

Now, back to the grind.

Friday, 6 June 2014

D-Day (1944-2014)

I grew up with both my Grandfathers having served in World War Two, my paternal Grandfather was British Infantry, with the South Notts Hussars, and early in the war my Grandad was the sergeant in charge of guarding Rudolf Hess on his madcap crash flight to Scotland, serving in many theatres my Grandad was quiet about his exploits and experiences but he did land with the first waves on D-Day at Sword beach.

My maternal grandfather was in the Royal Navy, serving as an AA-Gun Loader & Electrician on HMS Belfast (yes the on preserved in the Pool of London), on D-Day the Belfast was the first ship to open fire on German positions, and my Grandad used to tell of the sight he had of the worlds largest fleet ever assembled.

Today is a day were we the young, the survivors, the living can remember those deeds, we'll never see them, we'll hopefully never have to live through such turmoil between European countries again.

However, do all the nations of the world, do all the peoples of the world turn to the examples of supreme struggle during the two world wars and learn from them?

Let us hope, for the sake of all, these are painful lessons learned and remembered for all time.

Thursday, 5 June 2014

Comedy Amazon Reviews

I'm am Amazon Reviewer, yes shock horror... *cough* Anyway, I do try to use the items I get before writing a review, I've also always read books for review, which takes quite some time.

However, I had never realised there were funny comments getting so much plaudits.

Good on Amazon for the sense of humour.

p.s. Amazon - Please dispatch my new Graphics Card!

Wednesday, 4 June 2014

Virtual CPU - ROM & Interrupts

Interrupts are ways for hardware, and sometimes other pieces of software, to break into the flow of your CPU processing and tell it do something else.

This is my very friendly way of describing interrupts, unfortunately a lot of sources of good information drop people into the idea of these mystical beasts far too quickly.  I'm going to try not to drop you all in it.

Lets think about our CPU, and how we know it operates, our CPU has a Run function, which has a loop within.  This loop fetches an operation to carry out from the memory pointed to by the program counter and it acts on that instruction.

As we've seen from example programs we can also jump to a new memory address.

And if we took a close look at the Intel published datasheet from the prior post we'd also see that there are many other kinds of jump, jumps when things are equal, jumps when they're not, jumps for the sake of jumping...

Well, an interrupt is a special kind of jump instruction, which when the interrupt is signalled (triggers/fired - whatever term you want to use) gets inserted as the next instruction for the program to carry out.

The Interrupt instruction is special, because it tells the CPU to jump off to some piece of code elsewhere, but also remembers when that piece of code is complete to come back and pick up exactly where the CPU left off.

Like a function call in other programming languages, but at the CPU level.  In our programs therefore we now need to think about what state the CPU is in before and after an interupt is carried out (or handled).

Because the code in the interupt function might change the state of the CPU, and sometimes we don't want this.

A good example comes to mind from the very first real (i.e. not BASIC) programming language I learned, Pascal.  In Microsoft/Intel PC's running the MS DOS Operating system (16 bit) the BIOS had a set of standard interrupts, the standard interrupt number 11H (hexidecimal) was for the mouse, if this interrupt was triggered the mouse had moved, but we didn't want the state of the processor to have changed within our program, so when the interrupt handler was defined in our code we used to have to say:


Before the interrupt code was run, and then when the interrupt processing was complete we would say:


Lets look how an interrupt might work in our CPU Run function:

From left to right, we see our Program on our CPU... Then we see the Interrupt get signalled (some how) and the program counter is pointed to the new piece of code "A"... The Run function continues through the interrupt instruction codes and then returns to your program at "B", by setting the Program Counter back to point at your original programs' "next" operation.

The interrupt code could have changed any of the CPU registers or status flags, so it is at point "A" we must be able to Push, or save the current CPU state.  Then at Point "B" we must be able to Pop, or load the saved CPU state back into the machine proper.

We say "push" and "pop" as the structure we use to save and restore the CPU state is called a "stack".  I'll come back to that later, but you can check out an explanation of stacks here if you're eager to understand what we're talking about.

In our CPU however, we're not going to add a stack just yet, we're just going to add a set of mirror values for each CPU member variable.  In early silicon this would have been totally impracticle because of the cost of adding redundant duplicates of everything would have been far too costly... Those early chips might have therefore saved their registers off to memory.

Whatever they did the essence is the same as what we're now going to make our code do... it saves all the values somewhere.

So what might cause an interrupt and what might the code in an interrupt actually do?

Well, the most basic interrupt you will probably use today is the keyboard, as you press each key an interrupt is generated going off to the processor telling it that a key stroke has arrived.

The processor can then pick up and action the key stroke, adding it to data, or changing status however we instruct it to.

So where does the code for our Interrupts come from?  At the most basic level in your machine they come from the BIOS.  So the BIOS handles the key stroke, some store or queue many key strokes at once, and then they are handled by the processor as and when the Operating System software wants to accept them.

How might we add interrupt code to our CPU?  Well, from the last post we mentioned ROM's... We're going to write a ROM class and add to it key handling.

Right we've implemented our ROM class, then added the interrupt, now we can move into an interrupt and return from it, we also have the push and pop instructions added, so op codes 200, 201 and 202 are important to the interrupting process.

When we go into an interrupt the CPU changes state to start reading from the offset into the ROM, and it is up to the ROM code to return from that interrupt code.  The CPU has no idea when the interrupt is finished.  So the last instruction from our ROM function for an interrupt must be to return from it!

What might an interrupt series of byte codes in our ROM look like?  That's up to you!

In the next post in our series I'm going to write some platform specific code to let us read characters from the keyboard, until I do that however, we'll just pretend an interrupt has been called...

WarThunder - Battle Start Bug

I just ran into a bug in WarThunder, I had played my German Tanks, assigning a couple of aircraft too and flying out into a mission.

That ended and I returned to the menu, leaving my German selection as was, and selected my British Tree.

I selected my Beaufighter and selected to go to battle, but I had left the toggle set to "Tank Battles", so it told me I "That Nation is temporarily Unavailable".  This isn't the bug, the bug is that I just switched to Air battles and clicked to start battle...

The realistic battle starts for me, but instead of being British, I've been thrown in as German...

And for an Air Battle, I only have tanks available in the realistic slot I had selected... So, I can't spawn...

All I could do was quit the game, and it seems from my telling other players that this has happened to others.

I hope my posting comes to the attention of Gaijin & they fix this one.

Tuesday, 3 June 2014

GeForce 770 GTX SC on WarThunder and World of Tanks

I want to enter a decent picture for the monthly Screenshot of the Month Competition over at WarThunder... I figure applying the vintage texture filter is going to be a must, and I'm going to have to find a reference shot then build skins for the aircraft involved.

Since I'm a bit of a billy no mates its also going to be important that I have something which is perhaps just my aircraft and some action in the foreground.

Nailing the aircraft custom skin is going to be the key...

But what pictures are floating around the internet for me to take on?

Spotting that one was promising, the P47 is not an aircraft I have unlocked yet, but I'm currently researching it, which would give me time to work on the custom skin... I think the difficulty would be finding that exact structure in the game and flying near it...

I've also looked at real-world footage of the BF110, but can't seem to find anything which fits...

I also spotted this image, which will require a friend or an AI stuka...

But, wait wait wait... You've all seen my screen shots and that I have either used a 540 GTX or an older 260 GTX Graphics card to play WarThunder... How can I possibly take really high quality screenshots?

Well.... Drum roll please... I've just been informed that an item from my Amazon Wish List has been purchased for me for my Birthday, which is very soon... The item is....

Oh yeah, an Nvidia GeForce 770 SC with ACX Cooler, not a 780, not a titan, but price versus performance for my rig this is the beefiest thing I've ever ever put in a PC my end.

And I am going to run WarThunder and World of Tanks in such stunning high detail that I'll get myself a case of "The Apocalypse Now's"... You Wouldn't know man, you weren't there!

Monday, 2 June 2014

Clean PC & OpenGL

Its been a long weekend, and a hard weekend, I've been doing a lot of code over the weekend, moving an important project from a most defiantly developmental footing to a much more mature footing.

But I've also been and finally had the car sorted, the clutch was never right after the last fixes it had, I've had a new clutch fitted, then was told to fit a new clutch cable, which I did; but still the drive was not right.  When I went to pick the car up a very sheepish mechanic said "Its only £30 for a new pressure plate and oil".. okay... Cool... Two days of labour, £30... What gives... Yes, it'd had a whole other new clutch...

It drives sweet as a nut now, but it does make me wonder how crap was the other clutch, it lasted from October 2013 to June 2014.  I mean, I know after market clutches are cheap tack, but this took the Michael it really did.

Anyway, that all done I was wired late last night, so decided with the project above delivered for feedback I could take some time to service my main PC.  It had been a little battered over time... 

And the first thing I did was give the whole brushed aluminium case a good clean, the fins at the top the grills on the front and the dust mesh points at the bottom over the air in takes.

Then I opened it up and cleaned the case fans, now as you can see I fitted them in 2011, so that's just shy of 3 years service.  They were dusty, but not terribly so.  A quick wipe was all they needed, the rear of the case also just a quick wipe.

The most dust was concentrated in the graphics card, and around the CoolMaster plastic funnel which has its own mesh dust cover, this was sodden with dust and I soon had the card out and dusted it clean before refitting.

My other task was to clean the Corsair Airflow...

Now, this thing had been making a lot of noise, and when I disconnected it and brought it out into the mid-night light bulb glow it was utterly ditched.  Large foamy dust bunnies had formed on all the stanchions and as the whole machine is side mounted the upper sides of the support legs were thick with fir...

Really strange, considering that this is not the main cooler and that there's filtered grills all around this unit... But then it dawned on me, I connect this to the power fan header on the motherboard, and the Q-Fan profile does not include that header.  So this is the only fan set in the machine NOT being speed controlled against performance/heat.  So it was going to be noisy because of the small size of the fans.

Adding in the dust only added to the noise/turbulence.

Cleaned up and refitted tightly however and it is a lot quieter.  My Ram of course is also now being cooled better.

One other thing I'm taking a look at is how OpenGL performs from the libraries shipped with MinGW on CodeBlocks for windows:

From the project menu you can easily create a Test OpenGL project and build it... I assume its running in Mesa/Software... But it runs...

Aside from this, I have Wednesdays Post for the Virtual CPU project done, it was actually written last week, but I've had some problems uploading the two videos for it to YouTube.  I hope with the machine tuned up to upload them this evening.  Even if the videos are not present, the post is scheduled to go... And it covers Interrupts.