Re: Multigame controls...

From: Zonn <zonn_at_concentric.net>
Date: Wed Oct 08 1997 - 13:42:26 EDT

On Wed, 8 Oct 1997 10:26:06 -0800, Clay Cowgill <clay@supra.com> wrote:

>I fired up the old Z-80 disassembler last night and looked at the code for
>Tac/Scan, Eliminator, Zektor, and Space Fury.
>
>It looks like remapping the controls shouldn't be *too* tough. I'm a
>little perplexed that Space Fury and Eliminator only make a single read to
>some locations though...
>
>For example-- Space Fury. The code only once looks at input port 0xFA.
>(0xFA contains the right and left rotate button status.) Doesn't self test
>check those inputs too? Seems like if it did there'd need to be at least
>two accesses to 0xFA. Odd. Can you read an I/O port address indirectly on
>a Z-80?

Yes you can using the 'IN A,(C)' instructions (though there might be some
other variations of this instruction). The address of the port is placed
in the 'C' register, though in reality the full 16 bits of the BC register
is placed on the address buss, so if you decode the upper 8 bits, and
always load the BC-register with the port address, you actually have 65536
I/O ports available. Though if you do this you must *always* use the 'IN
A,(C)' instruction since it's the only instruction which sets the full 16
bits -- which would indicate Sega is only decoding a maximum of 8 bits.

-Zonn
Received on Wed Oct 8 10:40:05 1997

This archive was generated by hypermail 2.1.8 : Fri Aug 01 2003 - 00:32:37 EDT