Commodore C1764
La RAM Expansión Unit (REU) es una gama de expansiones de RAM para las computadoras
Commodore C64
y
Commodore C128
. Fue anunciada al mismo tiempo que la Commodore C128.1 Las REU llegaron en tres modelos, inicialmente la
Commodore C1700
(128 KB) y la
Commodore C1750
(512 kB), y luego la
Commodore C1764
(256 kB, para la Commodore C64).
La necesidad de la REU surgió cuando la administración de Commodore decidió no usar la versión final de la Unidad de administración de memoria (MMU) personalizada que luego limitó el tamaño de la memoria a pesar de la discusión inicial de un mapa de memoria más grande. Los ingenieros que viajaban al espectáculo CES de 1985 se enfrentaron con volantes y vallas publicitarias que anunciaban un tamaño de memoria que ya no era compatible y finalmente la alta gerencia preguntó dónde se conectaría la memoria adicional (hasta 512K).
Demo C1700
En la exposición CES de 1985 en Chicago, los ingenieros pudieron mostrar un globo terráqueo girando como una demostración de acceso directo a memoria (DMA) por las nuevas unidades REU.
El hardware REU fue diseñado por Frank Palia y el circuito integrado dedicado (IC) fue diseñado por Victor Andrade. Fred Bowen y Terry Ryan adaptaron el kernel y BASIC para acomodar el REU de forma nativa y Hedley Davis escribió la demo de spinning que fue una impresionante exhibición de animación a mediados de la década de 1980.
Descripción del hardware
Aunque el C128 podía acceder a más de 64 kB de RAM a través de la conmutación de bancos de memoria, solo se podía acceder a la memoria dentro de la REU mediante transferencias de memoria (STORE/LOAD/SWAP/COMPARE) entre la memoria principal y la memoria REU, lo que proporciona un equivalente a una ventana de memoria pequeña (lenta). Además, el BASIC 7.0 incorporado del C128 tenía tres declaraciones, STASH, FETCH y SWAP, para almacenar y recuperar datos de REU.
Oficialmente, las Commodore C1700 y Commodore C1750 fueron compatibles solo con el C128. El modelo Commodore C1764 (de 256 kB), fue lanzado para el Commodore C64 al mismo tiempo. Solo hubo diferencias menores entre los tres modelos. La fuente de alimentación del Commodore C64 no podía soportar a la C1764, por lo que una fuente de 2,5 amperios fue incluida en la distribución para soportar al conjunto C64 + C1764.
En la práctica, la diferencia entre las unidades C1764 y anteriores tuvo poco efecto en la compatibilidad, y las personas usaron C1700 y C1750 con éxito con el C64, y C1764 con éxito con el C128, aunque la fuente de alimentación del C64 era inadecuada para manejar de manera confiable la carga de energía.
A fines de la década de 1980, hubo una escasez de DRAM causada por la Administración Reagan que promulgó restricciones antidumping a los fabricantes japoneses, por lo tanto, la Commodore C1750 era rara y costosa. Sin embargo, fue relativamente fácil actualizar una C1700 o C1764 a 512 kB. Varias empresas hicieron esto comercialmente, ya sea vendiendo unidades mejoradas o mejorando unidades suministradas por el cliente.
A principios de la década de 1990, aparecieron esquemas de modificación de bricolaje para aumentar la capacidad de una REU a un megabyte o más en varios servicios en línea.
Diferencias en los modelos
La placa de circuito del C1700 era idéntica a la del C1750, y los pads marcados con J1 indicaba el tamaño de los chips utilizados. En la C1750 y C1764, la pista fue fue cortada.
El C1700 y el C1750 tenían una resistencia en la posición R4 que, según el ingeniero de Commodore Fred Bowen, compensaba las sutiles diferencias en el puerto de expansión en el C64 y el C128. La C1764 carecía de esa resistencia. Bowen y otros ingenieros de CBM recomendaron no usar un C1764 con un C128 a menos que se agregara la resistencia, o un C1700/C1750 con un C64 a menos que se quitara la resistencia.
Fue posible verificar la presencia de un C1750 leyendo el bit 4 de la dirección de memoria $DF00, que era 1 en un C1750 y 0 en un C1700 o C1764. Sin embargo, dado que este procedimiento no distinguiría entre un C1700 y un C1764, muchos programadores escribieron en la RAM para averiguar la cantidad de memoria instalada.
Soporte de software para REU
Muy poco software hizo uso de la REU. Al igual que otros productos complementarios de Commodore, su base instalada relativamente pequeña en relación con la gran cantidad de C64 hizo que los desarrolladores de software dudaran en invertir mucho tiempo y esfuerzo en apoyarlo, y la falta de soporte comercial mantuvo las ventas más bajas de lo que podrían haber sido. REUs vieron apoyo en la comunidad Commodore BBS. Los programas como Color64 requerían una REU para minimizar los tiempos de carga al cambiar entre secciones del BBS.
Las REU venían con software para utilizar la memoria extra como un disco RAM, pero la compatibilidad del disco RAM con el software comercial variaba de trabajar a no funcionar, ya que algunos softwares comerciales dependían en gran medida de varias peculiaridades de la unidad de disquete Commodore 1541. Además, muchos programas comerciales simplemente sobrescribían el espacio de memoria ocupado por el software del disco RAM.
El sistema operativo GEOS había incorporado soporte para REU como un disco RAM, al igual que la versión C128 de CP/M, y algunos programas de copia de disco usaron el REU para facilitar la copia a alta velocidad con una sola unidad de disco. GEOS y otros programas incluso usaron la REU para transferencias rápidas de memoria dentro de la memoria principal de la máquina host almacenando un bloque de memoria en la REU y luego volviéndolo a buscar a otra ubicación. Usando este método, sólo los datos que realmente debían ser transferidos pasaban por el bus de datos — a diferencia del método ordinario, en el que la CPU se encarga de hacer la transferencia, tanto el gasto por lo menos tres cuartas partes de la capacidad de los buses en ciclos de instrucción y sólo uno cuarto o menos en datos de carga útil.
Debido a su alta velocidad en relación con las unidades de disquete de Commodore o incluso los discos duros disponibles comercialmente, la REU también se hizo popular entre los operadores de BBS.
Fuente Wikipedia