RamSandwich

This forum is for posts that might be considered off-topic but that may be useful or interesting to members. Examples include posts about electronics or programming in general, other microcontrollers or interesting devices, useful websites, etc.
Post Reply
jay
Posts: 37
Joined: 08 July 2006, 13:58 PM
Location: Vermont, USA

RamSandwich

Post by jay »

I used the BX-01 for a while and have a RamSandwich
(64K for variables and 64K of extended RAM) laying around..
Has anyone tried to get the 24 or 40 to support this??
..jay
dkinzer
Site Admin
Posts: 3120
Joined: 03 September 2005, 13:53 PM
Location: Portland, OR

Re: RamSandwich

Post by dkinzer »

jay wrote:Has anyone tried to get the 24 or 40 to support this??
It shouldn't be too difficult to design an interface for it. You might be able to get by using one port (e.g. PortC) for both address bytes and the data path plus several more pins for control. This would, of course, require an additional 8-bit latch for the upper 8 address bits.

Although the RAM Sandwich would provide additional read/write memory, it could not be used for normal ZBasic variables on a ZX-24 or ZX-40. In contrast, the ZX-1281 and ZX-1280 both support external RAM and the RAM Sandwich board would probably work via direct connection. I haven't looked at the external memory interface of the AT90S8515 (used for the BX-01) to see if there are any differences between it and the external memory interface of the mega1281/mega1280.
- Don Kinzer
jay
Posts: 37
Joined: 08 July 2006, 13:58 PM
Location: Vermont, USA

RamSandwich

Post by jay »

Thanks Don,
I have both the 24 and 40.. I was thinking about using it for aux storage for data logging. If it's not too bad, I may give it a shot. Else, I'll look at the 1281/1280..
..jay
dkinzer
Site Admin
Posts: 3120
Joined: 03 September 2005, 13:53 PM
Location: Portland, OR

Re: RamSandwich

Post by dkinzer »

jay wrote:I have both the 24 and 40.
It would be simpler to implement on the ZX-40, assuming the I/O pins are available. You could use one port (say, PortA) for AD7-AD0 and another one (say, PortC) for A15-A8. Then, you'd need a pin each for ALE, RD*, and WR*.

As I mentioned above, if you used an external latch for A15-A8 you could use just one port (say, PortC) for outputting both address bytes and for the data input/output. You'd need an additional pin for strobing the high address latch in addition to the pins for ALE, RD* and WR*.

If necessary, you could split up the 8 address/data lines among multiple ports but that would significantly slow down the external RAM access.
- Don Kinzer
dkinzer
Site Admin
Posts: 3120
Joined: 03 September 2005, 13:53 PM
Location: Portland, OR

Post by dkinzer »

Another advantage to using an external latch for A15-A8 is that you could use BusRead() and BusWrite() to read and write data. You'd have to output the high 8 bits to the latch prior to using the bus routines but within a 256 byte "page" you'd only have to do that once.
- Don Kinzer
jay
Posts: 37
Joined: 08 July 2006, 13:58 PM
Location: Vermont, USA

RamSandwich

Post by jay »

Thanks for your thoughts.. but I'd have to make a board.. I use laser printer, single sided boards.. which starts to make it a bigger project than it started -- isn't that always the way. But I did look at the ZX-1281 Dev Board. I think I'll go that route..
..jay
mikep
Posts: 796
Joined: 24 September 2005, 15:54 PM

Re: RamSandwich

Post by mikep »

jay wrote:But I did look at the ZX-1281 Dev Board.
If you are looking at the ZX-1281 Dev Board, then one other possible solution for you are the Oak Micros ZX-128e and ZX-1281e devices which contain similar functionality in a 40-pin socket or breadboard ready package and include up to 64K RAM. You can also use the om128-ext I/O extension board to get access to either the additional I/O pins on the mega128/1281 AVRs or more than 64K RAM.
Mike Perks
Post Reply