Monthly Archives: October 2012

Windows 7 Ultimate x64 Black Screen [fix]

So after working to the early mornings on my 6th and final assignment for first years, I awoke to find my macbook pro would no longer display the desktop, normally any movement of the mouse or a keypress and the desktop would fire up instantly, not today. I could see that the hard drive was still on and the keyboard lights had come on, the differences I noticed were that the famous Apple logo behind the monitor did not illuminate and of course the screen was black. I forced a reboot and jumped back into bootcamp, the windows logo would appear and then I would see the black screen. What has happened I thought.

I retried again this time booting into Mac OSX, things were ok here. Next I tried booting into Windows safe mode and I was able to get in and the screen desktop appeared. So again, I tried normally booting and the same issue remained.

Back into safe mode I decided to check the event logs. Looking for anything unusal I started in Applications. I did not identify anything in Applications so I continued looking in System. Here I noticed a repeated bunch of Adobe Flash issues suggesting shutdowns had occurred, as they were reoccurring logs I dismissed these as the issue causing the black screen. I continued scouring the logs further and I found an entry that suggested an automatic update had occured at around 3:30am.

Event Log screenshot

The entry was deemed critical and automatic:

Windows Defender automatic update KB15597 (Definition 1.139.936.0)

As this time was during my absence from my computer and after the last time the monitor was working correctly, I concluded that this event was deemed important, so I decided to run a system restore in hope to get Windows back to its previous state. Firing up system restore I found that a restore point had occured at exactly the same time the update had been logged in the event log. So things were looking promising.

System restore screenshot

As see from the screen above, I chose the 3:27 restore and let windows do it things. After waiting about 3-4 mins, the system rebooted and I got back into bootcamp, the windows logo appeared again and after it disappeared the win logon did appear this time and the screen was no longer black. Woohoo!


Embedded website translation using google translate

Now we all know everybodies favourite search engine, Bing – just kidding – Google, is very capable of returning accurate searches quickly and easily simply by entering text into googles search box area and then hitting search button. For most users, thats all they need from it and continue on their way. However, under the covers of such a simple interface lies a very powerful albeit not obvious scripting API. For example, checking if your site is being indexed by their crawler. In this case, one can simply type into the normal search text area the site url value prepended with the keyword “site” e.g. site:www.[name of your site].com, the colon that appears is a token that is require that aids in distinguishing the separation between key and value pairs. After hitting the search button any pages that were crawled will be listed in the results.

Today I wanted to go a little further and see what else was under there. Moreover, I wanted a way to use googles own translation website such that it would automatically translate text without having to be copied and pasted into itself.

Using baidu’s home page as an example we can see that unless one is fluent in Chinese this site would normally present a problem to English speakers.

Baidu pre translated

Baidu pre translated

After a bit of tinkering I have found the minimum requirements to get this working using is as follows. The website uses a set of specific query string parameters to communicate with the API, these include:

hl – host languge

sl – source language

tl – translated languge

u – url

When these are entered correctly into the end of, e.g.

we receive the following results:

Baidu post translated

Baidu post translated

As you can see, we have the same website now with all text in chinese fully translated, what is even better is the links within the page work and you can traverse the site as if it was a normal website.

Battlefield 3 and punkbuster woes

So today after a long absence from the game I decided it was time to revisit what had changed in Battlefield 3. With such a long absence I was expecting to be presented with multiple hurdles and in good old (EA/Origin/DICE) fashion, they did not disappoint. The first is the ridiculous need to download the entire 2.3 GB of game file when an update is released. Why they have not bother with incremental updates which all steam games have perfected I do not know. Either way, I queued the download and after 3 hours we were ready to actually fire up the game and get playing. Wrong. It also wanted to update the web plugin that is require just to run the game from a browser. Fair enough, so I preceded to download the file, only I wasn’t being presented with the download prompt when I click the button to install. Now I normally use and have as my default broswer Mozilla Firefox and for what ever reason BF3 decided to use Internet Explorer and it wasnt recognising the button click. Switching browsers fixed the issue, having work in web companies it really is inexcusable for such a large company as EA to have not tested this functionality on all browsers. The plugin had now reached version 138 from 104 when I last played BF3. In the past this was often the end of my woes and the game would normally start. Not this time, today I received another issue, this time with punkbuster. The error was:

Game disconnected: you were kicked by PunkBuster. Stated reason: PunkBuster kicked player “Rampallion” RESTRICTION: Service Communication Failure: PnkBstrA.exe

Maybe it was that particular server I was connecting to I first thought, so I switched. Same issue, in fact the same issue no matter which server I chose, high frustrating, expecially when you think that EA and DICE would get this right after so many revisions of the update software. A quick search of the forums and I discovered I was not the only one with issues, some 32 pages filled of complaints all with the same issue. Most early posting contained no fixes just irrate and frustation so I can only imagine this was not something picked up in QA before release. Skipping to the end of the post I found some players suggesting a few working solutions for them. A couple offered fixes by adding an ignore entry into their antivirus program others recommended a reinstall of BF3 and/or reinstall of punkbuster. I didnt think the reinstall of the game itself was necessary as I had just updated thing no long before so I followed the route of the antivirus and tried switching on game mode for both antivirus and firewall. No difference, so everything now pointed to the punkbuster service itself. The steps to fix punkbuster route varied from post to post often with subtle differences and techniques making one think which one do I choose!

The one that worked for me was to download the setup file from Punkbusters website here. The file I was after was the windows 3.5 version. This page also gives clear instruction on the steps you need to do to install and also configure BF3 so that it can be identified by the system. After running setup and configuring a new entry for BF3 pressing ‘Check for update’ is required and this action will download all the files needed and place them automatically into the correct punkbuster folder. Nice. The popup that appeared showed it was trying to communicate with a server and after a few seconds the update indicated that it was successful. The final procedure was then to actually execute the punkbuster program itself (pbsvc.exe) and then also perform an update test, which fortunately passed as well. Having done all those steps accordingly and then running the game again, I was indeed able to get in.

Partition unallocated space with EaseUS

So after leaving the install to run overnight I was keen to see if the new hard drive worked as expected. After unconnecting the old with the new and placing things where they should be, I rebooted windows and found that everything ran as expected. When I opened explorer I found the partition did not allocate space for the remaining unused portion. Which is expected as the only option for me was an ‘As Is’ clone.

Here is a link to my previous post for reference.

Boot partition showing filled and unallocated space

Boot partition showing filled and unallocated space

Next I went in search of a partition tool, I had heard of partition magic thoughout the years but had never used it. After a quick search I found that all the first search results did not clearly state it was free and was easy to use, so I decided not to pursue it any further. Scouring more through forums and doing searches for the best and most accepted tool, I came across mention of a partition tool called EaseUS, so I gave it a look. Navigating to their website it looked like the right tool for the job, so I downloaded it from here.

For those following, I will now describe the steps I used to expand the original boot drive to use the remaining unallocated space using this tool.

First step after aquiring the software was to install it. I wont go through those step as they are fairly trivial. After the installation I ran the software and was presented with this screen.

EaseUS home screen

EaseUS home screen

To begin the process of extending the main boot partition located on C: I first selected the item label C: and then right mouse clicked, this displayed the following menu options seen below. Resize/Move Partition was the menu item I was interested in.

Resize / Move partition option menu popup

Resize / Move partition option menu popup

Once clicked a new popup was presented.

Resize / Move popup

Resize / Move popup

Using the slider gizmo (light blue circle), slide the control towards the right until the text next to the “Unallocated Space After:” became zero. Alternatively, you could simply type in the number 0 in that text area, I chose to do the earlier option.

Extended partition

Extended partition

Once completed and happy, I then selected OK to return back to the home screen. Visually at this point I thought the process had been completed, however, after checking windows explorer and computer management the partition had not yet changed. So what had it missed? A quick look around, I noticed there was now an apply button waiting to be pressed.

Confirm and apply changes

Confirm and apply changes

Hitting this button did now start the partition process. A few more popups remained, one for shutdown and another for reboot confirmation.

Apply changes and shutdown popup

Apply changes and shutdown popup

Reboot warning popup

Reboot warning popup

After selecting yes, the system proceeded to shut down and reboot. A windows update was also pending either from last nights clone or just windows in general, either way I hoped this wasnt going to upset the partition. I was greeted with the option to cancel prior to windows booting, instead I ignored it and proceeded to continue anyways. I trusted windows 7 stability and was willing to back its performance under any circumstance. In the end I had nothing to worry about and after the partition was extended and rebooted, windows indeed recognised the changes and I did in fact have a full 2.0TB hard drive.

And with that I am now off to download my steam games now. Thanks for reading.

Cloning a hard drive using acronis true image

My steam account is very old and I have had it since it was released with half life 2. Since then I have always treated it as a means to play any games that required it for activatation. Moreover, it was never used as a means to purchase games online. After almost a decade I found alot of my work colleagues and friends were doing it this way, I on the other hand never saw any reason too. Until one day I realised I had amassed a great deal of game and their boxes that were simply filling up shelf space. In addition, my ISP was providing new deals offering larger download limits through my contract and the maximum plan I settled on is a $49.95mo/500Gb plan. Coupled with the recent steam summer sales, those two events alone offered an excellent reason to try using steam for game purchases. After scooping a great deal of low priced games I am now a firm believer that games were meant to be purchased this way and that this is the future. Great to see Valve sticking with this concept and to turn it into the shining example of the industry. As they say, to the victor go the spoils and they certainly deserve it for their persistence.

However, in saying that my harddrive which holds my steamapps is slowing reaching a point where its free space is becoming limited. In saying this, I am due for a new system and with all the new high quality games coming in the next few months these game will be pushing the limits of my nVidia 250GTS, which for a while was at the upper echelon of gaming hardware when I purchased it. Being a student now, its not so easy to splurge so easily on unnecessary items, when in actual fact my current setup will play most of the current AAA titles games. Albeit just not at the intended FPS or graphic quality that the studios had intended, which is ok for me at this point in time. I think it still has another year or two before things become a real concern.

So with that I have decided to run through the steps with the help of acronis true image 2010 of how to clone an existing hard drive.

The first step is to get a copy of acronis, as mentioned before I am using version 2010 as this is the earliest version that supports Windows 7. So lets begin, first I need to plug in my new 2TB harddrive and this is done so via an externally connected sata cable and associated power supply, its basically a port that runs out the back of the computer allowing two external sata hard drives connections. I then boot into windows with the new hard drive attached and can see that the hardware has been identified automatically by windows, well done windows 7 – love it when shit just works. Running acronis I am greeted with a home screen and the option to do various tasks, as seen in the screenshot below.

Acronis home screen

Welcome to Acronis True Image home 2010 screen

The task I am interested in is the clone disk button located under My Favourites. Clicking on it presents me with the following popup.

Clone disk wizard

Clone disk wizard screen

I prefer to use the means that give me the best control and in this case that is choosing manual. By all means if your following this post and feel more comfortable in using automatic then please do so, Im just not going to document the steps here unfortunately.

Source disk

Source disk screen

Next step I need do is to choose the source disk to copy from, in my case it is my smallest drive situated on Disk 3.

Destination disk

Destination disk screen

You may need to wait a while as the system performs its integrity checks, after it is done processing and without any errors you will then be presented with the next option, choosing the destination disk. Here I choose my unallocated disk drive – disk number 4.

Move method

Move method screen

The next step in the cloning process is to choose the data  moving method from the old drive to the new one.  The choices are As Is, Proportional and  Manual.  In my case, options proportional and manual throw errors so my only option is to chose to keep the current  state of the drive intact with the As Is option and clicked next.

Having done so, I am greeted with the final screen.

Finish and ready for cloning

Finish and ready for cloning screen

A quick summary is displayed highlighting all the choices made in previous steps. Before beginning the clone process the system then warned me that a reboot was required. In which case I chose ‘Yes’

Reboot required

Reboot required warning

After completion, I was congratuated and it also recommended that I switch the jumpers before rebooting because the new drive is marked as primary and active. Which I did.

All in all a successful clone and a great piece of software.

Print screen on macbook pro running windows 7 in bootcamp

Having come from a windows universe and using keyboards and laptops that included a hardware print screen key button you can imagine my surprise when this feature was no where to be found on my new macbook pro. I looked high and low trying an assortment of combination and have discovered that the key press combination is as follows.

Shift + fn + F11

Visual Studio 10 – COFF: file invalid or corrupt

So today I was trying to experiment with some flocking code and what better way to learn  than to see existing code written in C++ demostrating this. Only problem I saw was it was written using visual studio 2002, not usually a problem but I often find converting code targetted for very old compilers usually leads to all sorts of trouble when using todays compilers.

Having used Visual Studio since version 6, I pretty much acquired every version of Visual Studio since then and had copies either lying around and/or installed on older hard drives and computers. In saying that I have not spent the time to update my new macbook pro (windows 7 running in bootcamp), so to conserve space I have only the 2010 and the just released 2012 visual studios installed.

Based on personal preference I find myself more drawn to the metro look, so I initially converted the system using vs2012. Only to find that the code base required MFC and due to trying to conserve code space or at least thinking that I had already installed MFC for vs2010 that the two systems would shared its location. Not to be. So I backtracked and converted another copy of the original 2002 solution, this time suing vs2010 to convert. All went successfully until I tried to build where I received this error.

LINK: fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt

Building this on my second desktop computer, I found the error didn’t exist. The problem arises because of a fix made in Visual Studio 2010 Service Pack 1, which had been applied to my desktop but had not yet been installed on my MBP.

printf(“Hello World”);

Welcome to my first attempt at blogging. This will be the place where I will share my experiences (predominately) on game programming but not restricted to

So with that, lets begin…