Commodore REU

Under RAM Expansion Unit ( REU) is understood in the broadest sense, a memory expansion in the form of an expansion card or module. Mainly used the term but for memory expansion for the Commodore C64 and C128 home computer.

The Commodore REUs for the home computer C64 and C128

Introduction

The Commodore for the C64 and C128 memory upgrades manufactured ("RAM Expansion Units", or " REUs " ) are plug-in modules that this home computer can be plugged into the so-called " expansion port ".

In 1985, the REUs at the Consumer Electronics Show ( CES) were presented in Chicago. Originally developed for the C128, all REUs but can also be operated without restrictions on C64 (even if to read on the board of this plug-in modules explicitly " C128 RAM EXPANSION" is ). Since there can be problems with the operation due to normal compared to plug-in modules slightly higher power consumption in the " smaller" C64, a slightly stronger C64 - PSU has been recommended and is supplied with the Model 1764 for the operation. This power supply is not, as often assumed, rare. Practically you get it offered en masse on any flea market or even on well-known online auction sites. The power for the C128, however, is already sufficiently large, so that this normally does not create problems.

The REU is a kind of external RAM disk, which can indeed be addressed from the computer, but not directly. This is partly because the C64 has only 64 KiB address space, on the other hand, to the lack of support of the REU in BASIC V2.0 or kernal of the C64. In particular, the free BASIC memory of the computer does not automatically expand. Consequently, the REU can be used by programs to explicitly implement the memory access routines for the REU.

Specifications and Operation

The three memory upgrade differ superficially, only in their capacity. There are three different Reus

The RAM chips are called dynamic RAMs ( DRAMs), which must be refreshed periodically, typically, so they do not lose their contents. This is done automatically by the computer. If you switch the computer off, all will be lost in the REU stored data. Since the external memory can not be accessed directly from the computer, there must be an interface through which you can read from the memory and write to memory. This interface is a manufactured by MOS Technologies DMA chip, MOS 8726, also called REC (RAM expansion controller). About special register ( $ DF00 -$ DF0A ) that are mapped into the main memory of the C64/128 and which can thus be accessed directly from C64/C128 from, you share with the REC, he in which area of ​​which part of main memory REU (and vice versa) has to shift.

Thanks to this DMA chip, the CPU must not each byte separately from or to the REU merged (which is required by a copy operation several cycles to read, write and increment / comparison of the end address ) and, but only need two addresses ( source address and destination address) be the size of the area to be transmitted given (in bytes ) ( direct memory access ). Does the rest of the DMA chip, the REU all by itself: the number of clock cycles for the operation corresponds (apart from special bus cycles of the VIC II, where the DMA controller must also wait ) the specified range (up to 64 KB) is thus also often as soon as the execution on the CPU. Compared with the bank - switching practices of other memory extensions (eg GeoRAM ) where the memory is available immediately after selecting a bank select register which is still slower and slower, to get to storage data - for certain applications ( see below) but this is not a disadvantage, because you would have the data already moved or compared in memory, and this, it may take the DMA controller.

The DMA chip controls four functions:

  • Fetch: data transfer from the REU in the computer
  • Stash: data transfer from the computer to the REU
  • Swap: exchange of memory contents between the computer and REU
  • Verify: comparison of memory contents between the computer and REU

The data transfer is at about 1 MB per second. By fixing the source and / or destination address other functions are still possible, uA the rapid filling of storage areas (useful for graphics functions ) or special graphic effects.

Increasing the storage capacity

Theoretically, the REUs can be upgraded to 16 MB of RAM, in practice, with some DIY effort, 2 MB realistic.

  • On ... 512 KB:

A 1700 - or 1764- REU can top up with a little effort to 512K. One then has a memory expansion that is ( unlike the mentioned below 2MB REU) 100% compatible to 1750:

In 1764 you only need 8 ICs of the type '41256 '. These are soldered into the not yet occupied on the circuit board an eight slots.

In 1700 it requires 16 IC type '41256 ', through which the existing ICs are replaced by the Type 4164. Additionally, the jumpers ( J1) has to be cut through on the back of the REU board. (This is in 1764 not necessary, since this is already set so there factory. )

  • On ... 2 MB:

With relatively high cost craft, you can extend an REU also to 2 MB: You need to a 1750 with 512 KB or 1700 or 1764, which was extended with up standing instructions to 512K. The REU is then indeed in the 2- MB mode no longer fully compatible to original REU, but can via a switch in the original 1750 mode (512 KB) to be reset, if problems arise.

Software for the REU

In contrast to the BASIC V2.0 of the C64 BASIC V7.0 of the C128 already has reasonably comfortable commands for reading and writing to the external RAM. These are the commands FETCH, and SWAP STASH, fetch the data from the REU, write to the REU and exchange data between REU and normal C128 - RAM. However, these commands are still working with raw memory addresses, a direct use of the REU memory about the storing BASIC programs or variables is thus not readily possible.

When C64 must instead POKE or PEEK used or equal to machine programs are written, which is incomparably more complex and especially uncomfortable.

Apart from the already built- in BASIC C128 commands there are also programs that use the special abilities of the REU, such as Disk copy utilities (disks need then for example only once for reading and once inserted for writing), Assembler ( programs without going through the store on a diskette tested immediately ), a whole 1541 - or 1571 disk can in memory of a correspondingly large REU find space etc.

The GEOS operating system can use by itself an REU, with no additional software needed. Later GEOS versions also allowed use as disk cache. The C128 comes with the CP / M operating system uses the REU as a RAM disk.

In addition, Commodore delivered with their REUs with a test / demo diskette. Thereafter, the program " RAMDOS " was included, with the REU can be addressed by BASIC like an extremely fast disk drive. Next to it contains programs with which the REU can be tested. This includes the time technically amazing " Globe " demonstration, which shows a large, rotating world globe on the screen of the C64. A whole revolution of the globe takes a little longer than a second. The animation consists of 36 " high-definition " graphics (300 × 200 pixels ), which are loaded individually at the beginning of the demonstration from disk and then cached in the REU ( together they would not completely fit into the main memory of the C64 ). From there they are copied using the REU as quickly directly into the video memory of the C64 that the impression of a rotating globe is produced.

On the REU board comes with an unused mounting location is on a ROM chip. It is believed that there a variant of the above-mentioned RAMDOS program should be installed directly ( hypothetically as " ROM-DOS ") is such that no inviting disk would have been necessary. Why ultimately refrained from doing so is unclear.

671898
de