Re: Build your own REU
Date: 2001-04-13 15:37:15

On Thu, 12 Apr 101 wrote:

> Hallo,
> As some of you know I am trying to find a way so someone can build his own 
> REU. One of the last emails about the PC-card I talked about using two 
> 8237's to perform at least a REU-like copy. This triggered the following 
> idea: 
> I know some of you are (very) familiar with micro-controllers (PIC, ATMEL 
> etc.). I ain't. What about a micrcontroller and two 8237's to emulate a REU?

The commodore REC (reu controller chip) is mainly a bunch of counters linked
to a few registers.  I've realized this, and have mapped most of these
counters on paper.  This is part of a project of mine to make a 16-meg REU,
using the whole third byte (bank pointer) instead of just a few of its bits. 
This design will be put on a CPLD, and will likely not be an IC you can toss
directly in place of the old REC.  However, as far as software knows, it'll
act exactly the same. ;)

BASIC stamps are far too slow to be able to serve as an REC.  You need at
least 4MIPS, and even this would be tight.  I'd recommend the Amtel SVR (I
think) series so that you have time to increment, check, read, and write. 
Further, you'll need a microcontroller with at LEAST 24 bits of I/O, and
even this would require a considerable amount of glue logic surrounding it. 
Bear in mind the lines you need for an REC:

C-64 side:
/CS R//W Sysclk Reset	 4 lines
A0-A15, D0-D7		24 lines
DMA, BA			 2 lines

This is 30 lines for the c64 side alone ;)

The DRAM side requires fewer lines, of course.  I'd wire this as 4 banks of
4M each, since a lot of simms are either 4Mx8/9 30pins, or a 16M 72pin
(which is, in fact 4 banks if 4Mx8/9).
DRAM side:
CAS0-CAS3, RAS0-RAS3	 8 lines
WE, OE			 2 lines
A0-A11,D0-D7		20 lines

There's 30 more lines.  This leaves us with 60 lines we have to twiddle.  If
we have to multiplex them on a smaller microcontroller (and I know of none
that have 60 lines), we'll need even more MIPSs to spend time switching our
glue logic around between all these lines. ;)  I'd rather put it in a cpld
with a simple counter/register/latch circuit.  I'm aware that not everyone
can generate a CPLD program file, but there are a fair number of CPLDs that
can be programmed via a JTAG or other serial port.  While the programming
data cant be generated on the c64, it could fairly easily be sent to the
PLD, even quite possibly via the casette port. ;)

Let this roll around in your head for a while and see what spills out.

This message was sent through the cbm-hackers mailing list.
To unsubscribe: echo unsubscribe | mail

Archive generated by hypermail 2.1.1.