Assembly 2012

This is a post that is late, but I decided to write it anyway. Assembly 2012 was a Demoscene event organized between 2-5.8.2012 at Hartwal Areena in Helsinki, Finland. A short description of what one might mean by “Demoscene” is as follows: Competitions or ‘compos’ for short, in various categories such as music, drawn graphics, programmed animated shorts, or even filmed material. Different compos have different rules and restrictions to make things interesting. This year, there was a new category called 1K Intro. An intro is a short programmed visual (sometimes with music too) presentation. 1K refers to the limit of the executable program, i.e. 1024 bytes. This was awesome because this is the smallest compo category so far, and pushes the skills of the programmers to the very limits of what is possible. Some were silent, some had a basic soundtrack. All in 1K or less.

Other categories include 64K intro, Demo, Fast Graphics (you get a theme and 1.5 hours of time), Fast music (similar, but with a set of notes that have to be included), Listening-  and dance music compos. Ok but enough about that. I’m not involved in the demoscene, but I very much enjoy watching and listening to what these people create each year. This was my..  fifth Assembly I think? I could hypothetically have participated in every single Assembly (the first one was organized in Kaunianen, less than 5km from my childhood home) in 1992. Therefore, this was the 20th aniversary, and something I simply could not miss.

Other goings-on at Assembly include the Art Tech seminars on various subjects. I attended one, which was a short presentation on Bitcoin. Others were about game design and marketing and.. all manner of topics. There were two Angry Birds competitions. I participated in the second one, and came in second in the finals! There are various gaming competitions (which are becoming a main-stay at the Assembly events), and even actual physical sports, such as soccer, basket ball and floppy-disk throwing. Rovio had an Angry Birds stand where you could play AB with giant boxes and various AB toys to throw around. There were stands by people like EFFI (whom I whole-heartedly support), and vendor stands by companies like Jimm’s PC Store,  Asus and others.

Four days of all manner of shenanigans, and like 4000-5000 participants, 3000 of which have computers with them. It’s quite a sight if you’ve never seen it before. I was mostly looking at the democompos, and playing some games like Battlefield Bad Company 2, Max Payne 3 and a few others. I had my significant other, U, with me. This was her second Assembly, and she really liked it I think. I think I’ll go one more time. Just.. one more? I say this every year. And then I end up going anyway. And besides, it was a nice place to try out my new Intel Core i5 build, which performed excellently, despite a small Truecrypt snafu by yours truly.

There were two concerts during the event  (no raves like the previous years, which I do not like!). The first was by Poets of the Fall. They are special in that two (?) members of the band have been active in the demo scene, and started out at assembly years back. They are also significant because they became famous by making the theme to Max Payne 2, which came out in..2003, and was made by Finnish game developers Remedy.

The second concert was volumes more awesome, by ‘Jeroen Tel’, maker of dozens of game themes and soundtracks. Even though most of those games preceed me by years, I enjoyed the “chiptune” concert very much.

Okay, enough chit-chat. I have some pictures, which I will post later to this same post. I just have to go through them first.

[nggallery id=6]

Adventures in Windows-land – The mystery of the disappearing system partition

goes without saying that if you brick your installation, blame yourself.

This weekend I had some issues with Windows 7 that I have not seen before. This is rather rare. I sit at my computer pretty much 12-18 hours every day. The thing I was seeing was the 100 MB “System Reserved” partition (containing the Windows bootloader) popping in and out of explorer. What I mean with that, is that the normally hidden system partition was randomly getting a drive letter! I noticed it while i was transfering some files to my media pc, and i saw the “my computer”-view uhm.. vibrate up and down. This was because the drive was getting the F: drive letter, and then losing it the same second. Over, and over again.

Some background: This drive is created if you install Windows 7 on an entirely empty disk. You *do* *not* need it. You can have your bootloader on your C: drive, and skip the 100 meg drive entirely if you so want. The way to get Windows to install without it, is to partition the drive ahead of time, use some tricks, or remove it after the fact (like I ended up doing). The contents can be moved to the C: drive and after rebuilding the bootloader, you will be fine. I am living proof.

But so back to the weird-ass bug. I tried diskpart to see if I could remove the drive letter assigned to the system partition. I could not. I would get one of two errors, probably because it didn’t really have a drive letter (for longer than a fraction of a second). I tried assigning a letter to it, and then removing it using:

list disk
list vol
sel vol n
assign letter=x
remove letter=x

No dice. After a reboot or so, the problem would randomly return. Note: It did not always do this. There is something that triggers it, but I was unable to find, or replicate the issue. Randomly it would just start getting a drive letter assigned to it, and then having it removed instantly.

Ok so next, I decided to remove the drive. Here’s how I did it:

First, I went into disk manager (this can be done from diskpart as well), and right clicked my C: drive, and then “Make this drive active”. This makes it so that you can even begin to try and boot from C: without the 100 MB System drive. Next, I assigned a drive letter to the 100 MB partition, so that I could browse it’s contents. I set it to K:, and went into explorer. You need to enable “show hidden files”, and “show protected operating system files”. Copy over everything to the root of C:. Skip any files that you can’t touch (there were two for me).

Next, you need to recreate the boot configuration on C:. First, unload the running conf by running this in an administrative command prompt: reg unload HKLM\BCD00000000. Then, rebuild the boot config with: bcdedit /store c:\boot\bcd /set {bootmgr} device partition=C:

Now go back and remove the drive letter assigned to the system reserved partition, and double-check to make sure the C: drive (or whatever your Windows drive is) is set to active. You should only have one active drive, the C: drive. Your computer might now reboot correctly. Did not for me.

I rebooted and it said partition not found or something similar, so I booted from the Windows 7 USB stick I made, and then chose system repair. It suggested a repair, and i went with it. I was able to boot into windows now, after some modifications to GRUB, since I dual-boot. But that is not a Windows 7 issue per se, I’ll still go through that.

I removed the system reserved partition from Linux and resized the C: drive to fill the 100 MB preceding it. You could do this from Windows disk management too.

After doing this, I had some issues with Windows. It would boot into a “no profile”-mode, and say that it is not genuine. This was because there were some left over registry settings that had to be changed, because I had messed up with the drive letters; namely left a drive letter to the system reserved partition. So I now had some moved-around drive letters, and a drive that didn’t exist anymore, that were still referenced in the registry. I was in the “Windows is not genuine!” mode, which only shows a desktop and the watermark in the lower right corner. How to proceed?

Do a ctrl+shift+esc to open task manager. File -> Run -> regedit. Now, to to HKEY_LOCAL_MACHINE -> SYSTEM -> MountedDevices and look for the different drive letter assignments. You’ll see various drives, named \DosDevices\C: etc. What you want to do is, flip them around so that your C drive is really your C drive. For me, it had flipped around with the F: drive, so i renamed the C: drive in the registry to \DosDevices\Z:, and then renamed the former F: (really the C:) to \DosDevices\C:. You can get help by doing File -> Import, which will show you explorer, so you can look around at how your drive letter assignments look like. Close regedit, do ctrl+alt+del and logout, and then reboot from there.

After the reboot, remember to activate Windows, which should be no issue. Or just run the Genuine Validation tool/website.

The GRUB issues

GRUB as I said, had some issues with all this. Firstly because the boot drive was no longer /dev/sda1 (which was the 100MB system drive), but sda2, which is my C: drive. That had to change. Also, GRUB 2 (I’m running Mint 13 at the moment) has an entry with the UUID for the boot drive, which also pointed to the now-nonexisting sda1. Both of those had to change in order for GRUB to correctly boot. I did this by installing boot repair in Mint. You can also download the ISO and boot into a live-cd environment and do the fix from there. It’s pretty self explanatory. Google for boot repair or check this site. Any live-cd will do though, since you can really fix this by hand too. Look at /boot/grub and /etc/grub.d.


The SSD, Slipstreaming Windows 7 and installing from USB

Ok so the SSD is now installed. It’s a Samsung MZ-7PC128B/WW, that is, a Samsung 830-series 128 GB drive and the final B stands for “bulk”, i.e. does not come with any mounting brackets, cables or doohickeys. On second thought, the mounting brackets would have been cool, but since the drive weighs 61 grams and doesn’t contain any moving parts, i think you can essentially put it anywhere. I have it tied down with some velcro at the moment. Though, my case needs replacing anyway, so I’ll just do properly when i get the new case in September or October. The case I’m getting is a Fractal Design’Define’ R4, in the black pearl color. Retails for about 100 euromoneys.

The SSD then. It had the latest firmware (that came out sometime in January), so an upgrade was unnecessary. The software used to update the drive is called ‘Samsung SSD Magician’, and can be downloaded from here. It’s also on the CD that came with even the bulk drive. The latest firmware is CXM03B1Q, and you can get it from that same page. Click “See All Downloads” and then either the software or firmware page. But if you buy your drive now, chances are it’ll already come with the latest firmware. The Magician software does other things too, such as suggests performance enhancing options and you can benchmark the drive, so i figure it’s pretty much a good thing to have around.

I did a complete re-install of Windows 7 since I wanted a completely clean start. Before starting, I made sure i had AHCI turned on in the BIOS, which I did, by default. AHCI is something you really want when you have an SSD since it offers some optimizations (hotplug capability, and Native Command Queueing for instance) with newer SATA-drives versus the standard PATA emulation and other modes. Changing it while having Windows installed is not something I’d try, but maybe it can be done. It’s a small registry change, which involves changing the dword value of “start” in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci to 0 (zero). This means AHCI is enabled. If you have AHCI enabled in BIOS and do a clean install, AHCI should be installed (It was in my Win 7 SP 1 x64 at least). I had also integrated the AHCI drivers for my motherboard into the Windows 7 install media using RT Seven Lite.  That’s also how i integrated SP1 into my non-SP1 media. Finally I used these instructions to get the installer on a USB stick since I tend to avoid optical media if I can these days. You could also use RT Seven Lite to make the .iso and use this tool to get the job done.

Ok so Windows 7 installed, time for some other settings. I used the recommendations in SSD Magician to do these, but you could do them by hand too. For SSD drives, it is recommended to disable scheduled defrag, since it puts unnecessary strain on an already fast drive. Also, you should disable disk indexing, since searches are fast anyway, and again you don’t want unnecessary reads on the drive. Make sure you have TRIM enabled, using the command  fsutil behavior query DisableDeleteNotify  in an administrative command prompt. If the value returned is 0 (zero), you have trim enabled. If it returns 1 (one), then you don’t have trim enabled. In that case you can use fsutil behavior set DisableNotify 0 to enable it. Reboot required.

A note on Windows 7. The slipstreamed SP1 install worked fine, and changing the drive from mechanical to SSD did not require a re-activation by phone. The online activation worked just fine.

Samsung also recommends that you disabled “Super Fetch”, which can be done using the Magician tool or manually.

Boots are not as blazingly fast as I’ve heard, but there is a difference in how snappy things feel. The Windows Experience Score, whatever that stands for, is now 7.5 determined by the lowest sub-score, which is no-longer the Hard Drive, but the CPU (amazingly enough!), the i5 2500.

I’ve partitioned the drive so that i have 90 gigs for Windows, and the rest for my Linux operating system partitions. I haven’t yet installed linux, so I’ll tell you more if there was anything special about that. All the relevant SSD features should be supported as of kernel 2.6.19+ and OS X (should you be stuck on that..). So any modern Linux will basically have all the features you want.

Sources: SSD stuff primarily adapted from this, (on 10.08.2012) and from Samsung’s sites as well as some comments and forum posts.

Well okay, I did add an SSD…

So I went ahead an ordered an SSD, because i figured..why the hell not. Now I still need a new case, but that i’ll get in October. I bought a Samsung 830 128GB bulk, for 110€. It ought to be a fairly well performing drive, but above all, fairly reliable based on reviews I’ve read.

I’m hopefully getting the drive either today or tomorrow, so I’ll report on performance once I have it set up.

The i5 build notes

The i5 build is now complete and in production. The final specs are as follows:

  • Asus P8Z68-V GEN3 – 129€
  • Intel Core i5 2500 – 196€
  • Kingston Hyper-X (blue) 8GB – 55€
  • Sapphire Radeon 6850 1GB – 161€

For a grand total of.. 541 bucks. Prices were from the day I ordered, that is monday 30th of July.

Things I maybe would have changed, but decided not to: Get some higher perfoming memory, get a Core i5 2500k (unlocked, but then, i don’t really do overclocking), and get a Z77 motherboard. Though! The Z68 from Asus has all the features that Z77 promises. Support for Ivy Bridge (the new 3rd generation Core processors), support for PCI Express 3.0, and support for USB 3.0. Of course, I haven’t tested any of these yet. An Ivy Bridge processor would have been cool, but they are still slightly overpriced in my opinion. The new 22nm process would perhaps allow for even lower operating temperatures, though Muropaketti had an article describing the crappy heat-conductive paste used between the actual CPU core and the heatspreader, which leads to higher temps. In the article, they replaced the paste with higher quality stuff, and reseated the HS, and got much lower temperatures. Of course, this voids the warranty…

I could also have paid more for a graphics card, such as the 6870 or even something from the 69xx series, which would have come with higher clocks and more stream processors. But this seems to work just fine for what I’m currently playing. And remember, there is no such thing as futureproof, no matter what the guy behind the counter says.

All components were bought from, because they were the only ones that had the parts right now. Not a fan of waiting personally.

Some noteworthy things.  Using the stock cooler on the CPU i get down to 25 degrees idle (the CPU does clock down when idle, so that explains it). During heavy load-testing, using the Intel Burn Test, i can get it up to 79 degrees while using all four cores @ 3.7 GHz (the ‘Turbo’ mode). Nothing to worry about, since full load on all cores is not something you see in production use. Also, the processor can take the temperature quite well, and did not crash even when running multiple iterations of the burn test. According to various internet resources, the CPU can go up to around 100C before clocking down and eventually forcing a shutdown.

The memories are specced to CL9 1600 MHz. The CPU will only do 1066 or 1333 MHz, but using something called XMP (i’ve yet to go through what actually changes when you go this route), you can get the memories to run at 1600 MHz. There are varying resources of this on the internet, but based on the output from CPU-Z and the BIOS, the memory should really be running at that speed.

The motherboard gets high marks. The BIOS is something way too fancy for an “old” bastard like me. You can use a mouse. A mouse. You can also update the BIOS from within the BIOS using Asus EZ flash, which has access to say, a USB drive that you plug in that contains the BIOS image file, or even your normal hard drives. So you can just download the file on your desktop, and then boot to BIOS and point to the file on your drive. Handy. There also seems to be more settings in there than I really have use for. I updated to the latest BIOS, version 3402, which is what I am using now.

Windows had to be re-installed and re-activated of course, when switching from the previous AMD to the current Intel platform, but there were no issues with that, except for one human error, which i’ll get to later.

I still get a 5.9 score from Windows Experience, but this is due to the hard drives being the bottle neck (and lowest score). All other scores are above seven, but the 7200 rpm SATA drives are what is keeping everything on the down-low. So they are next to be replaced. I’m getting, probably, a 128GB SSD drive next month. This will be split into two partitions, for Windows 7 and for Linux. It should set me back around 130 bucks. I’ve been looking at the Intel 330 series drives, as well as the OCZ Vertex 4, both of which have performed well in tests. E recently got a 330, so I’m waiting on her experience on that one. Also, I read quite an extensive review on Anandtech about both drives.

There was only one thing that was messed up during the install, and that was my fault entirely. Currently, this machine has two 500GB drives. One has the operating systems, and the other has various stuff on it, including a truecrypt partition. When re-installing windows the drives were reversed, so that the OS drive was drive 1 and the ‘misc’ drive was drive 0. Being me, and being windows, i selected the OS drive and the partition for it to use. Only, I hadn’t counted on Windows overwriting the MBR of the ‘misc’ drive with it’s own crap. Normally, this would not be an issue. But since truecrypt has some stuff on there to identify the partition as a truecrypt volume, it messed up the TC volume. Rather, the data was still there at some point, I think, but TC wouldn’t recognize it because the MBR was fucked. TC has a feature where you can use a backup header, which is stored inside the actual volume, but this didn’t for some reason work.

Now, here comes the saving grace: Backups. I have backups of everything, so I decided, being in the middle of Assembly 2012 (the subject of an entirely different post), that I wouldn’t waste time trying to rescue the volume. Instead, I ended up reinstalling windows one..last…time..This time switching the drives over correctly. Then i completely wiped the ‘misc’ drive and wrote over some random data using dban, so I could start over from a clean slate. Learnings from this episode? Maybe i’ll use containers instead of entire drives or partitions. And if I *do* decide to use partitions, i’ll make it an entire drive, and remember to disconnect it when doing reinstalls.

Some words on performance. While I haven’t really run any extensive benchmarks, the ones I did run show that the system is performing as intended. Futuremark’s 3DMark 2011 shows my system is at the top of the bell curve for similar systems, scoring something like 3500 points. My favorite FPS, Battlefield Bad Company 2, showed a great increase in FPS (not so surprisingly….), and I can now pretty much max out the settings and still get an average of 60 fps. There is one instance where FPS goes down, that is, when I am inside a tank, when the tank fires and produces smoke from the muzzle, fps goes down to like 30. Oddly enough, standing outside the tank, viewing the same smoke does not have the same effect. Oh well, I can live with that. Most of the time, when not in action, I get 80-90 fps which is much more than I need or even can use (having a 60Hz screen). The old setup would go down to 15 fps in action, and max out at about 40, using lower settings. I’m now running with 1920×1080 resolution, High for all the graphics settings. 2xmsaa, and 16xanisotropic, no vsync to blank, no hbao, and no bloom.

I have some pictures, but i’ll post them later.