Archive for December, 2014

31
Dec
14

Xmas Lemmings 1991 for DOS: a Belated Xmas Post

Christmas here in Australia is quite the different experience to that in the northern hemisphere, as it is near the peak of summer and usually fairly hot. Where I grew up regularly gets over 40 degrees Celsius in the shade at that time of year. Consequently Christmas day was usually filled with lots of rest or leisure activities during the hottest time of day, like playing a computer game.

The hot weather usually feels like a good time to play slower paced games like puzzle and turn based strategy games. Something that doesn’t demand too much of the reflexes, but still engages the brain.

Lemmings pretty much fills that spot nicely, so lets talk about Xmas Lemmings 1991, a Christmas themed version of the game released late 1991. It was made as sort of a demo and to help promote Oh No! More Lemmings. There are only 4 levels in the 1991 Christmas release, two made especially for the demo and two others from Oh No! More Lemmings.

There isn’t much difference in a technical sense between the Xmas and normal version of Lemmings, although I did notice that the Xmas one doesn’t seem to support CGA. Most of the difference is basically the Christmas themed graphics and music. The little lemmings are all wearing Santa costumes and the levels are bedecked with snow and ice. The music includes some Christmas songs such as Jingle Bells and is of high quality, much like the music in the original game.

As I noted before, there are only 4 levels in this release, so they omitted the easier levels in favour of some trickier ones. The amount of time if fairly tight, so even the straight forward parts of the levels can be tricky getting the timing and positioning right. The later two levels are challenging because of the limited number of different workers you have. I still haven’t managed to beat the last level, it is exceptionally hard.

I found this version of Lemmings was pretty fun and the Christmas themed graphics and music were quite appropriate for this time of year. You’ll definitely enjoy it if you played the original Lemmings, but might struggle with the levels if you haven’t. It has always been freeware so you shouldn’t have any trouble finding a download.

This slideshow requires JavaScript.

16
Dec
14

Improving Joystick support for Bob’s Fury

Some of the hardware support within Bob’s Fury has been far from ideal, the joystick/game pad being one such device. I had only added support for a simple 2 button joystick, as that’s all I had when I first wrote the code a long time ago. It proved to be inadequate as there just simply wasn’t enough buttons to support all the functions in game, and you couldn’t choose what the buttons do.

Old Joystick Configuration

Old Joystick Configuration

So with the aid of a real machine and a Gravis game pad I worked out how the basic 4 button devices work. It turns out they aren’t much different. I had originally coded my interface to expect two joysticks, each with 2 axis and 2 buttons. It turns out that the buttons on the second joystick correspond to the 3rd and 4th buttons on the Gravis game pad, which means it was fairly simply to allow such a device to support 4 buttons with a minimal effort. I re-wrote the joystick hardware code to be a single joystick with 4 buttons and axis which should support most devices.

New Configuration Screen

New Configuration Screen

Once I got the joystick code re-worked I didn’t want to give fixed functions to the buttons, so I had to recode the configuration interface to allow changing what the buttons do, which funnily enough took longer to get right than the hardware side of things. After some testing in Dosbox I’m pretty happy with the result. I still need to test on some real hardware to make sure everything works, and I need to test a two button joystick to ensure that still works as well. I’ll update the download once I’ve tested it on real hardware.

10
Dec
14

Redhat Enterprise Linux 7.0 Workstation

At work I have been using Redhat Enterprise Linux 6 for some time to run some multimedia equipment. With the need to upgrade to new software and hardware I’ve had to also look at upgrading the OS to meet some of the requirements for the new software. The new version has some significant “upgrades” in the form of using Gnome 3 and systemd, lets see how good they are.

The desktop

The desktop

Gnome 3 is a significant departure from the previous version, it is clearly heavily influenced by Mac OSX and tablet interfaces. Personally I am not a huge fan. Most of the customisation features that were in Gnome 2.x have been removed. Some I miss the most are placing application launchers and widgets on panels and having a proper visual pager for the work spaces. There seems to be very little option for any customisation at all.

There are some small improvements however. The configuration dialogue for the network setup is nice and simple, but still allows for more advanced settings if required. The calendar is cleaner and incorporates your schedule information in the display. Still it somehow feels very uninspired.

Mac OSX like controls

Mac OSX like controls

Even the lock screen leaves something to be desired. It expects you to uncover the password entry box by swiping upwards or doing the equivalent with your mouse before you can enter your password and unlock the screen. This is annoying every time I come back to my computer as it adds an extra step to an otherwise simple process, it is completely unnecessary. From what I can tell it was added simply as eye candy.

Gnome 3 certainly isn’t ugly, it is full of eye candy everywhere. Lots of animations and fades that you couldn’t do on older hardware because of performance concerns. But I find the lack of customisation features makes the desktop feel sterile, I can’t make it my own, which is something I’d expect from Apple, not a open source desktop environment.

Systemd components (from wikipedia)

Systemd components (from wikipedia)

Systemd is the other perhaps more controversial change, there has been much debate and flaming across the internet from both sides. Basically it is a replacement for sysvinit and a number of other small daemons such as cron and the login process. I did note in this instance that RHEL 7 still includes and runs crond and rsyslogd even though systemd has replacements. I’m guessing they are _trying_ to ease the pain of migration.

I had a look into the configuration files for systemd, and whilst they are at least readable and you can edit them, there are many options that aren’t clear. It is however easier than the old configuration system under sysvinit, but no-where near as nice as the RC system under BSD which is much easier to handle. The thing I felt was the most concerning is the binary log files, which fortunately you don’t need on RHEL 7.0 because of rsyslogd logging in a readable format.

The settings windows

The settings windows

There are many technical issues with systemd that could and should be addressed, but I don’t think they are really the source of most of the conflict. It seems to me that the proponents of systemd have cleverly and somewhat underhandedly managed to force a number of larger Linux distributions to use it. The long and short of it is that because they managed to merge udev into it, and have been swallowing other small important services, it is forcing its way into many distributions regardless of merit. Using such means was always going to upset many people. If they had only replaced sysvinit instead of swallowing up so much and behaved better when it came to bugs and criticism, many people would have fewer or no arguments against it.

On a technical level I understand why systemd was made, sysvinit was a bit of a pain, although extremely flexible. But I disagree with them replacing and swallowing other services into the main init package. Larger more complex software is more likely to have bugs and security flaws, and the init process is perhaps the most important one in terms of security. The fact that they have practically coerced people into using it is distasteful. It seems that the systemd devs are attempting to co-opt the entire Linux eco-system to control for themselves.

File Broswer

File Broswer

I don’t know why OpenRC wasn’t adopted as it’s a quite nice clone of the BSD rc.d system which I’ve found _very_ easy to use and works very well. The problem now is that systemd has incorporated important parts of the Linux OS that now make it difficult to use anything else, and will likely make implementing portability to BSD difficult but not impossible. I suspect that a compatibility layer will eventually be created for the BSD systems.

I didn’t mean this to be a rant about systemd or gnome 3, but there is little else to talk about in the base install of RHEL 7.0. It was pretty bare bones, which isn’t such a bad thing, but it was even lacking some of the useful system tools such as the disk utility. I found many packages seem to be older than they should be, which has caused some minor issues, but this is something common to the older releases. I’ll still end up using this RHEL due to requirements at work that are unavoidable, but I won’t be recommending it to anyone that can avoid it.

I was considering using a form of Linux on my home desktop system to replace the ageing windows install, but seeing Gnome 3 and systemd has made me reconsider my position. I’m seriously thinking FreeBSD may be better for me, but if I do install a Linux it will likely be Debian, as that is generally a bit friendlier to power users. I’ll almost certainly not use Gnome and systemd if possible, but given the politcs currently in process that may become difficult.

07
Dec
14

Lightning Strikes

Unfortunately for many in the Hunter valley there have been many quite severe storms, most including lightning. Lightning had knocked out power to some parts of the valley, but it also is often the cause of damage to electronics when they cause power surges.

Usually in storms I try to play it safe by powering down and switching off (or unplugging) at the wall anything that could be damaged and I can do without. This for me usually means doing this for my computers, TV and anything else I’m not using. Stuff like my ADSL modem I normally leave on so I can use my tablet or laptop on the WLAN.

Unfortunately my ADSL modem is exactly what got hit in a lightning strike recently. I have all my sensitive electronics connected to surge protectors so some may find it surprising anything got damaged, but there are good reasons something like this can happen.

Surge protectors are great for protecting your equipment, but they aren’t perfect. For starters they all have a limited amount of energy that they can absorb, anything more and a surge will still get through destroying the protection circuit in the process. In my case today I don’t think the surge came from the mains power supply. Other devices on the same power board didn’t fail, and most of my modem still functions.

I thought the surge may have come from the phone line, but I’m unsure because of the damage caused. Basically any ethernet ports that were connected to the modem have been damaged and no longer function. This includes the ports on the modem. In total two ports on the modem, an ethernet card and a port on my switch have failed.

Luckily I have some spare network cards to replace the broken one, and my switch and modem work well enough to continue using until I can replace them. In the future I may have to also disconnect ethernet cables.




Enter your email address to follow this blog and receive notifications of new posts by email.


Mister G Kids

A daily comic about real stuff little kids say in school. By Matt GajdoĊĦ

Random Battles: my life long level grind

completing every RPG, ever.

Gough's Tech Zone

Reversing the mindless enslavement of humans by technology.

Retrocosm's Vintage Computing, Tech & Scale RC Blog

Random mutterings on retro computing, old technology, some new, plus radio controlled scale modelling.

ancientelectronics

retro computing and gaming plus a little more

Retrocomputing with 90's SPARC

21st-Century computing, the hard way