Page 2 of 2

Re: Kolour

Posted: Sat May 23, 2015 5:05 am
by RetroTechie
If it 'must' be under software control, why not use an I/O port? Write only would do.

Leave memory writes to access ehm... memory. How a ZX81 uses memory, is complicated enough as it is imho. ;)

Re: Kolour

Posted: Sat May 23, 2015 11:41 am
by 1024MAK
But keep in mind that if you do use the Z80 CPU's I/O addressing, this is also complex due to the very simple decoding used by the ZX81's own circuitry. And BASIC on the ZX81 has no OUT command, so to control anything using an output port, a very small machine code program is needed.

Welcome to the world of Sinclair minimal address decoding :lol:

Mark

Re: Kolour

Posted: Sat May 23, 2015 3:20 pm
by PokeMon
Yes - good point the missing OUT command.
I would propose to use a write to any address above $BFFF - just check if A14 and A15 are high.
This would be compatible with many memory extensions while normally the address area is only written to, but not compatible to M1NOT modifications.
But easy to decode. Well - life is not easy make it ZX81 compatible. ;)
If you use a 74HCT138 you could use A13 and A12, too - given an adress range of $F000-$FFFF which would be rarely used. I would check all adress lines (A15-A12) high).

Re: Kolour

Posted: Sun May 24, 2015 1:01 am
by 1024MAK
If you use a 74LS688 or 74HCT688 MAGNITUDE/IDENTITY COMPARATOR you can test for /WR low, /MREQ low plus 7 address lines (say A9 to A15) all in one chip.

Data sheet (PDF) here

Mark

Re: Kolour

Posted: Sun May 24, 2015 1:11 am
by Danjovic
1024MAK wrote:If you use a 74LS688 or 74HCT688 MAGNITUDE/IDENTITY COMPARATOR you can test for /WR low, /MREQ low plus 7 address lines (say A9 to A15) all in one chip.

Data sheet (PDF) here

Mark
Good point. I have some of these here, although they are a bit hard to find in local stores (at least harder than the '138).

[]s
Daniel