Monthly Archives: December 2005

Moving files from BBC Micro to PC

Well I’ve finally done it, transferred my old Ultima BBC clone game “Quest” onto the PC, so it’s now playable in a BBC Micro emulator such as BeebEm.

First thing to do was get the two beasts talking to each other. Unlike many 8-bit computers, the Beeb was blessed with a relatively standard serial port, the RS423 which is basically a cut-down version of the RS232 serial port we’ve all grown to know and love on modern PCs. Fortunately I had an old RS423 (DIN-5) to 25 pin modem cable I could use. I got hold of an old null modem, and the right combination of 25 pin to 9 pin adapters and gender changers to plug it into the PC, and Bob’s your uncle.

Except it wasn’t quite that simple. The software I tried out, XFer (later version here), which would transfer whole disks from the Beeb across the wire, wouldn’t work. Turns out it doesn’t like the standard cables, but wants something special.

I’m not much of a hardware-type person, so I elected to find other software that would do the job. I ended up with an ancient BBC Kermit ROM (actually a sideways ROM image, if you know what that is; if not I’m not going to explain it right now) that I had, talking to Windows 2000 Hyperterminal on the PC.

They would talk at a max baud rate of 9600, which is pretty damn slow, but hey, we’re talking disks of a max 200Kb a side here.

Oh, if you try this, be very careful to SET FILE TYPE BINARY in Beeb Kermit.

There was, however, a problem in that after a period of time, the old BBC disk drive started smelling funny, and smoke started coming out. Seriously.

I had to shut it down for a while to calm it down, and from that point on I was doing things bit by bit, and letting it rest in between.

Once the files were across, I needed to run an *INFO on the Beeb to get a look at their attributes. BBC files have a load and execute address that’s important to let the Beeb know what to do with the file when it’s loaded. A BASIC file, for instance, is normally loaded at &FF1900 and has an exec address of &FF8023. Without these, the files don’t work very well.

The way the Beeb emulators work with this is to look for an INF file for each file, which contains the load and execute addresses. Once I’d figured this out, I could read them into a BBC disk image creator (there’s two that I found: BBC Explorer, and DFS Explorer — the latter under active development, with the author helpfully answering my questions).

Battling dodgy 15-year-old disks, I gradually got all the files I needed for the game across. I did find the latest version wouldn’t run properly, but a slightly older one did run okay… even if it brought back memories of bugs that I’d obviously intended on fixing when I last looked at the code, back in May 1990.

For those with the energy to try it, the game (in all its bugridden glory) will be made available by the BBC games archive site Stairway To Hell shortly.

Quest screenshot

Playing Quest

Once you load the disc image into BeebEm, you will need to turn off Write Protect on drive 0, as the game periodically saves the character’s progress.

Some of the keys are a little unresponsive in BeebEm. Hold down the space bar to stop the horrible music at the title screen!

There are a number of bugs, the most serious being if you try and enter a village/town for which no map was defined, it tries to send you straight past it without stopping. If this results in you going into a spot on the map you can’t walk on (such as water) it goes into an infinite loop. To get out of this, press Escape, then CHAIN “BS” which will go back to the last save.

Controls:

  • cursor keys or ; [ ‘ / to move
  • G get
  • A attack (useful to go into the starting town and find some
  • weapons/armour first)
  • S status
  • Q save (and quit)
  • U use weapon
  • W wear armour
  • V view document
  • R read sign
  • T talk to someone
  • C cast spell

There’s a lot of characters to talk to, and clues lying around, but I honestly don’t remember how far we got the plot developed.

Enjoy!

Download Quest from Stairway To Hell

Don’t panic, DON’T PANIC!

Oh joy! Reports of a really bad exploit in WMF, which will affect fully patched Windows XP systems. Ed Bott sums it up nicely:

This is a zero-day exploit, the kind that give security researchers cold chills. It works by exploiting a weakness in the Windows engine that views graphics in the Windows Metafile (WMF) format. You can get infected by simply viewing an infected WMF image.

Fun stuff. Until there’s a patch, beware the metafile, my son! The jaws that bite, the claws that catch!

Update Saturday: Some computers are already protected from this, via Data Execution Prevention. Read about it (including how to check) here.

Warning!

Warning in the custom configuration options of a setup program:

This component is an essential part of the application. If it is not installed, the application will not run properly

Well if that’s the case, why even give me the option of not installing it?!

WordPress 2.0 is coming soon

WordPress junkies may be interested to hear that the WordPress 2.0 Release Candidate is out, with the real release expected to be only days away. From the sounds of it there’s a heap of cool new features in it, though much of it is under-the-hood changes that will affect developers more than anybody else.

One of my summer holiday projects is to upgrade all my WordPress installations. I’ll take a look at 2.0, but of course I’m always wary of jumping straight into major new releases, especially since 1.5.2 is incredibly stable.

MS Word footers are buggy

I thought I was going crazy the other week. I had a Word document, overdue for sending to a professional printers, with an incorrect footer on pages 7 and 8.

So I tried to fix it. Double-click on the footer. Amend “September” to “December”, like this:

Editing the page footer in Word

Click the Close button on the header/footer toolbar… and it changed back to “September”.

Page footer in Word

I swear, I must have messed with the thing for about half an hour, trying it over and over, even trying to blank out the footer completely. The change just would not stick. Turning on and off the “Same as previous section” didn’t seem to help either. I tried it on my main machine (Office 2003) and the other one (Office XP). Same result. Somehow, somewhere, it was remembering September.

Possibly it’s something to do with all the sections I have in this document. It’s a newsletter, and has a mix of 3 column (article) and 1 column (heading) sections. Not that it’s any excuse. But perhaps it’s a fairly obscure problem; there’s certainly nothing about it that I could find in the KB.

Eventually I somehow managed to get it fixed on page 7. Page 8 wouldn’t stick though. Given it was past the deadline, I gave up and sent it off to the printers as it was. Hopefully nobody would notice.

A couple of it got shot through to Tony. He found the same thing. He got Rae to try, and… she fixed it. And couldn’t understand what the fuss was about.

Later on I figured it out. If you double-click on the footer, things can go wrong. But if you go via the menus: View / Header and Footer, you’ll be okay. Bizarre.

Mind you, when you change it this way, it temporarily throws the page count and repagination right out. In this case, it suddenly thought it was on page 10 (when actually there were only 8 pages).

Editing the page footer in Word

Still, the document was finally fixed, and the superb people at Flash Print in Collingwood (Melbourne), used the fixed version on the job, even though the file was 24 hours late.

But my conclusion? Page headers and footers are buggy when using lots of sections. Another item for the MS Word bug bucket.

Seeing a new server before re-delegation

One of the weaknesses of WordPress and most other web-configured applications is that unless you want to go SQL or config-file-wrangling, it’s pretty much only configurable via the web, at least for tweaking, importing posts, setting up most of the options. This is a problem when, for instance, you’re migrating an existing site onto WP, and it’s on a new server, as you can’t get to the wp-admin screens.

The way to do it is to hack your hosts file. Once the new server is running and WP is setup on it, find your hosts file and add an entry to the new server. On Windows, this is the c:\windows\system32\drivers\etc\hosts file.

Chuck in a line that says contains your new server’s IP address, and the hostname. Something like:

192.168.0.1 www.evision.com.au

(Whoopsie, real-world example with a fake IP. The new evision site is going live Real Soon Now.)

Save, then away you go. You can see the new site and tweak to your heart’s content, but nobody else will be able to see any of it until you re-delegate.

The catch? It probably won’t work from behind corporate networks, where your computer uses a proxy.

TBL blogs

Tim Berners-Lee now has a blog. Only one posting so far, which has attracted 400 comments mostly thanking him for inventing the Web.

Digging around, I found one of his old articles: Cool URIs don’t change, which along with Jakob Nielsen’s similar post, form my views on the cardinal rule of web design: your URIs should never change.

(Maybe Tony will blog something about his pain in moving Movable Type to WordPress, and how it’s likely to break his URLs).

Online trip planners

Outlook now has links to MSN Mappoint, providing driving directions. Though I never drive in or out of central Melbourne unless I absolutely have to, I decided to see if it and a competitor, Multimap.com, could plot me a path home.

The main problems with these types of map sites is

  • the data is inadequate (often a problem with international companies trying to cover lots of cities), or
  • the mapping software decides you should do something wacky (which I’ll admit, is often down to the data again, though sometimes it seems to be the algorithms used)

Mappoint wanted to know which of two identical “247 Flinders Lane” addresses I wanted to use. I tried both, and both gave the wrong position along Flinders Lane. (Not bad, but a search for an address on Collins Street gave me 8 to choose from.)

Mappoint question

Mappoint also told me to drive down Kingsway/Queens Road, then do a right hand turn at St Kilda Road. Most Melbourne locals would know that you can’t do a right hand turn there. Like, physically, you can’t. Queens Road passes under St Kilda Road. If you want to do a right hand turn, you have to do a left a bit earlier and go via Union Street.

Mappoint directions

Multimap found the right spot in Flinders Lane. It then suggested I go left into Elizabeth Street (okay), left into Flinders (okay), then right into St Kilda Road — wrong! No right turn allowed there.

Rather than send me straight down St Kilda Road, it had me take a right via Albert Road to Queens Road, then left via Union Street back onto St Kilda Road. Pointless and confusing.

But it gets better. Rather than drive straight down St Kilda Road/Brighton Road/Nepean Highway, it got me to do a quick diversion around some of the side streets of Elsternwick, before turning back onto the highway. WTF?!

And according to Street-Directory, one of those side streets is actually blocked off to through-traffic. Pure genius!

Multimap directions

Lest you give up and decide to catch public transport, rest assured, the Connex trip planner is no better. Instead of telling me to walk half a block to Flinders Street station, it instead got me to unnecessarily wait for a tram to go three blocks to Flagstaff station.

In the past it’s provided even more stupid directions, suggesting you catch a tram in the wrong direction, then another back again, or needlessly change trains.

(PT umbrella organisation Metlink is working on a better planner, and are considering feeding their data into the new Google PT planner, too.)

It seems no matter which way you’re travelling, it doesn’t pay to trust the online trip planners just yet.

Adventures with the Windows XP video screensaver

Doctor Who trailerA new trailer for Doctor Who, so time to switch my screensaver to playing videos again.

The old Windows XP Video Screensaver (once a semi-official MS Powertoy), in my humble opinion was always a bit dodgy (some of the options never worked, for instance, and it would stop working if you upgraded Windows Media Player 9 to version 10).

Happily it’s been superseded by a newer seemingly fully official Microsoft video screensaver (requires Windows genuine validation).

A catch though: the video I wanted to play was MPEG2, and both the old and new screensavers choked on it on one machine, even though MediaPlayer would happily play it. The whole machine would turn to mush.

Plan B was to try and convert the MPEG2 to WMV, by simply loading it into Windows Movie Maker. Oddly, WMM wouldn’t read it.

I noticed a process called igfxext.exe ended up grabbing way too much CPU than is sensible. The errant EXE is associated with Intel graphics adapters, and evidently under some circumstances decides to go ape when MPEG2s come along.

Through this page I found that PowerDVD (which evidently does some of the work playing MPEG2s) needed patching.

This done, and things started to behave. Almost. It wouldn’t crash, but performance was crap. Probably the onboard video not cutting it.

I tried Windows Movie Maker again. This time it worked. Converted it to WMV, plays okay now, and while the quality isn’t as good (what is the deal with Movie Maker and its restrictive output options, anyway?!), it hardly matters that much for a screensaver.

(The other machine has a decent video card, and plays the MPEG2 okay.)