Archive - GameModes

On Thu, 15 Aug 1996 16:51:59 BST, Alastair Gareth or Adam Duncan
wrote:
Does anyone know what the GameModes module does exactly? I think it allows
certain modes to run on pre-RiscPC computers but I'm not sure.

Well I sure do! Some of the parameters were set by me!
Don't ask me now though, 'cause I've forgotten what they do.

Basically, as usual, Acorn never gave a thought about games.
So long as their precious desktop was ok, that was enough for them!

So, when VGA 32khz screens game along they only initally defined
modes 28, and 29, which were 640*480 [16 and 256 col].

Hey, guess what, no lower res mode, for running games on.
This I say to you, must have been the ultimate in evidence, that Acorn
as a company did not really care about games. Some other OEM or
software company had even claimed modes 48, and 49, and had to give
them up!

So, a gamesmode module was designed. to give 320*480. It should have
been 320*240, but as usual, Acorn got it wrong. The PC has hardware
line doubling. The monitor actually draws 480 lines, [400 with data]
but every scan line is read out twice, so you write to 240 (actually
200) lines of screen memory. On the Acorn, you have to write each
screen line twice, in software. A waste of cpu bandwidth I must say!
The reason that the PC in mode 13H only does 200 logical lines [400
physical ones] is because mode 13H was required to be addressable in
one physical 64k segment of memory, and 320*200 = 64000
The hardware itself was quite capable of displaying 320*240. It was
just that the screen ram total then went over a 64k PC segment. (UGH!)

When the games mode module first came out, the mouse parameters were
all wrong. One moved the mouse in a circular fashion, with one's hand,
and the pointer on the screen, moved in an eliptical fashion!. This is
where I got involved with it, when we were programming Lemmings 2, I
think it was, which uses a mouse, and a hardware 'sprite' pointer,
the positioning of which, I had no control. So I ended up setting up
all the mouse (and other) parameters, and sent the reprogrammed
'GameModes' module back to Acorn, which was deemed to be correct, and
distributed.

PS To get my 320*480 screen mode, I nearly had to resort to
programming the VIDC registers!