Newsgroups: comp.robotics,sci.eletcronics
Path: brunix!uunet!spool.mu.edu!sdd.hp.com!cs.utexas.edu!sun-barr!decwrl!deccrl!news.crl.dec.com!dbased.nuo.dec.com!e2big.mko.dec.com!labrea.zko.dec.com!man
From: man@labrea.zko.dec.com (Richard Man)
Subject: Help on adding memory to HC16 EVB needed
Message-ID: <1992Dec11.163950.4565@e2big.mko.dec.com>
Followup-To: comp.robotics
Lines: 43
Sender: usenet@e2big.mko.dec.com (Mr. USENET)
Reply-To: man@labrea.zko.dec.com (Richard Man)
Organization: Digital Equipment Corporation
Date: Fri, 11 Dec 1992 16:39:50 GMT


Hi I am on wit's end trying to add byte-accessible RAM to the Motorola
HC16 EVB. I appreciate any help on this. Thanks.

Goal: add 32K or (64K) RAM to the HC16 EVB to use as data memory. Hence
it must be byte-accessible.

Try #1:
Follows the direction in the exercise program #4 - put RAM chips in both U1
and U3 (word) sockets. The program works. However,
the program accesses the data memory using word instructions. When I try to 
write to the memory using byte instructions, seems to be BOTH odd and even
bytes are changing. The "ghost" byte is not necessarily a copy of the
written byte, but it can be.
FYI, the chip select logic is set up such that CS0, CS1,
and CS2 are all 16 bit ports. CS2 is the chip select for both RAM chips, CS0
is the write enable for one and CS1 is the write enable for the other. Thus
when a byte is written to the memory, both chips are selected by CS2, but
only one is write enabled, which I PRESUME is OK? The signals are verified
by a scope and it appears to be working this way.

Try #2:
Take out the RAM chip from the U1 socket and use the (byte) position on
the U3 socket. Program the chip selects so that CS0, and CS2 are 8 bit ports,
CS1 is left untouched. This time writing a byte appears to write the same byte
to both half of the memory word! FYI: the chip select pgm is as follows:

CSINIT:                         ;Initialize the Chip Selects.....
        LDD     #$0303
        STD     CSBAR0          ;set U3 RAM base addr to $30000: bank 3, 64k
        STD     CSBAR2          ;set Chip Select 2 to fire at base addr $30000
        LDD     #$1370
        STD     CSOR0           ;set Chip Select 0, write only
        LDD     #$1b70
        STD     CSOR2           ;set Chip Select 2, read and write
        LDD     #$3FBB
        STD     CSPAR0          ;set Chip Selects 0,2 to 8-bit ports

Help!
--
- Richard F. Man (man@labrea.zko.dec.com)
"Small Rovers, Big Dreams"

