Big K


McVid

Publisher: Pica
Machine: BBC/Electron

 
Published in Big K #7

McVid

There are as many sprite draw routines and utilities for the BBC around now as there are leaves on trees. They even come free with magazines, so it's nice to see that someone has gone to some trouble to provide a really worthwhile piece of software that does more than just let you shift aliens around the screen.

McVid does, and is a great deal more than that. Firstly, it covers not only sprites but machine code line drawing - which isn't that hard but seems to be notably devoid of attention in books and magazines - and screen scrolling. Secondly, it lets you do it in magazines - and screen scrolling. Secondly, it lets you do it in any graphics mode, even Mode 0, which is something none of the others even consider.

Finally, the reason why it rises head and shoulders above the rest is its accessibility. These are not utilities but machine code routines. A source listing is provided so you can adapt them to your own needs - trim them down, expand on them and whack them into your programmes.

If you can produce fast, smooth graphics in one of the high-res screens you're going to impress people. The reason why most games are written in Mode 2 rather than any other is not, as a lot of people who should know better try to tell you, because there are more colours, but because it's easier. In Mode 2, each byte holds information on only two pixels. Reasonably smooth animation can be achieved by whopping your shape two pixels at a time into the next byte. Hi-res modes are another matter altogether. Each byte holds either four or eight pixels, depending on the resolution, you you have to get into rolling bytes in and out of each other. Even if your assembler isn't too hot (although you'll need a bit) you can use these routines without really understanding them.

The line drawing is nice. A little slower than some I've seen, but they do include fairly fast rotate and scale routines. The rotation uses a look-up table for COS and SIN values so it's probably as fast as you'll get and the line draw is an incremental method so it only needs one division at the beginning of the draw.

McVid is a very nice little package, especially if you want to know more about machine code graphics techniques. Even if you don't, it's useful to have around just to speed things up a little.