μP 2000: Equipo didáctico de la marca Alecop para practicar programación de bajo nivel en lenguaje ensamblador para el procesador 8085
Perfecto. Voy a buscar documentación técnica relacionada con el equipo didáctico microP2000 de Alecop, fabricado en España por la cooperativa de Mondragón. Me enfocaré especialmente en localizar información sobre la EPROM desensamblada del sistema, que pueda ser útil para realizar simulaciones similares al equipo real en un entorno de PC.

Documentación técnica del equipo didáctico Alecop microP 2000
Descripción general y hardware del microP 2000
El microP 2000 de Alecop (cooperativa del Grupo Mondragón, España) es un sistema didáctico de los años 80 basado en el microprocesador Intel 8085. Se trata de un entrenador o kit educativo de microprocesador, concebido para la enseñanza de la programación en ensamblador y la arquitectura básica de microcomputadores de 8 bits. Según la comunidad retro, es un equipo poco documentado públicamente (incluso menos que otros entrenadores como el Promax MI-650) (Alecop μP 2000 – ZONA DE PRUEBAS). Sin embargo, se conocen sus características de hardware principales:
- CPU: Intel 8085 (en algunas unidades, un clon fabricado por NEC) (Alecop μP 2000 – ZONA DE PRUEBAS). Opera típicamente a ~3 MHz.
- Memoria EPROM: 4 KB (desde dirección 0x0000 hasta 0x0FFF) con el firmware de monitor incluido por el fabricante (Colección de problemas de programación en ensamblador).
- Memoria RAM: 4 KB totales para el usuario, implementados como dos módulos de 2 KB cada uno (mapeados en 0x1000–0x17FF y 0x1800–0x1FFF) (Colección de problemas de programación en ensamblador).
- Interfaces de E/S: incorpora controladores dedicados para gestionar periféricos: un Intel 8255 PPI para puertos paralelos (conectores J2, J3, J4 en el equipo) (Colección de problemas de programación en ensamblador), un Mitsubishi M5L8279P para el manejo del teclado matricial y display de 7 segmentos integrados en el panel, un Mitsubishi M5L8251AP (USART) para comunicación serial RS-232, y un Mitsubishi M5L8155 (chip que combina 256 bytes de RAM, puertos de E/S y temporizador) utilizado como memoria auxiliar y temporizador (Alecop μP 2000 – ZONA DE PRUEBAS). Dos circuitos decodificadores de direcciones distribuyen el espacio de memoria/E/S entre estos componentes según el esquema de bloques del sistema (Colección de problemas de programación en ensamblador).
- Display y teclado: Dispone de una pequeña pantalla numérica formada por 6 dígitos LED de 7 segmentos (4 dígitos para direcciones y 2 para datos, siempre en hexadecimal) y de un teclado integrado con teclas de funciones (INIC, EJEC, PASO, etc.), dígitos hexadecimales (0–F) y comandos para introducir direcciones, datos y controlar la ejecución (Colección de problemas de programación en ensamblador) (Colección de problemas de programación en ensamblador). Este interfaz humano permite operar el sistema de forma autónoma.
- Puertos de expansión: El microP 2000 cuenta con conectores de expansión de E/S adicionales (asociados al 8255) para conectar módulos externos con pulsadores, LEDs, etc. (Colección de problemas de programación en ensamblador). También ofrece la posibilidad de conectar un lector de cintas externo para cargar programas (similar al sistema Promax de la época) (Alecop μP 2000 – ZONA DE PRUEBAS).
- Comunicación con PC: Mediante el interfaz serial 8251, el microP 2000 puede comunicarse con un ordenador anfitrión. De hecho, incluye un microinterruptor interno que conmuta el control del sistema entre su propio teclado+display y un PC conectado vía RS-232 (Colección de problemas de programación en ensamblador) (Colección de problemas de programación en ensamblador). En la posición PC, el equipo actúa como un dispositivo serial, permitiendo cargar programas desde el ordenador o usar un terminal en el PC para controlarlo. Al encender el sistema en modo autónomo (teclado local), el display muestra el mensaje “- 8085” indicando que está listo (Colección de problemas de programación en ensamblador).
En conjunto, la arquitectura del microP 2000 abarca un espacio de direcciones de 16 bits repartido entre la EPROM de 4K, la RAM de 4K y los registros de los controladores de E/S (mapeados en memoria). Por ejemplo, el rango de direcciones 0x2000–0x27FF está asignado al chip 8155 (incluyendo sus 256 B de RAM interna) (Colección de problemas de programación en ensamblador), 0x2800–0x2FFF al 8251, 0x3000–0x37FF al 8279, y 0x3800–0x3FFF al 8255, según el mapa de memoria ilustrado en la documentación. La última dirección usada es 0x3FFF (aunque el bus de 16 bits permitiría hasta 0xFFFF) (Colección de problemas de programación en ensamblador) (Colección de problemas de programación en ensamblador).
EPROM y programa monitor del sistema
El microP 2000 trae preinstalado en su EPROM un software de firmware denominado programa monitor, fundamental para el funcionamiento didáctico del equipo. Este monitor, desarrollado por Alecop, es el encargado de realizar las siguientes funciones básicas:
- Inicialización del sistema: cuando se enciende o reinicia (tecla INIC), el monitor indica al 8085 las rutinas a ejecutar para poner en marcha el hardware y mostrar el mensaje de arranque en el display (Colección de problemas de programación en ensamblador).
- Interacción con el usuario: el firmware gestiona la entrada por teclado y la salida por el display, permitiendo al usuario introducir direcciones, códigos hexadecimales de instrucciones, ejecutar programas paso a paso, establecer puntos de interrupción, etc. Sin el monitor, habría que controlar directamente cada dispositivo (teclado 8279, display, etc.) con un conocimiento detallado de bajo nivel (Colección de problemas de programación en ensamblador) (Colección de problemas de programación en ensamblador). El monitor abstrae esas complejidades proporcionando comandos y funciones predefinidas.
- Carga/almacenamiento de programas: facilita la carga de programas en la RAM del sistema ya sea manualmente (tecleando códigos máquina) o mediante la interfaz serial desde un PC (cuando se activa el modo terminal vía 8251) (Colección de problemas de programación en ensamblador) (Colección de problemas de programación en ensamblador). También controla la lectura/escritura desde el posible lector de cinta externa.
- Rutinas de servicio generales: el monitor incluye un conjunto de subrutinas utilitarias residentes en la EPROM, que pueden ser invocadas por el usuario mediante instrucciones CALL a direcciones fijas. Estas rutinas realizan tareas comunes (servicios del sistema) como mostrar valores en el display, leer entradas del teclado, manejar retardos, etc., sirviendo de “BIOS” o librería para facilitar la programación del estudiante (Colección de problemas de programación en ensamblador). Por ejemplo, la Tabla 4 de la documentación recoge algunas de estas rutinas con su propósito:
- 0x04C9: Mostrar un valor de 16 bits (registro HL) en el campo de direcciones del display (Colección de problemas de programación en ensamblador).
- 0x04D5: Mostrar un valor de 8 bits (registro A) en el campo de datos del display (Colección de problemas de programación en ensamblador).
- 0x03C3: Presentar en hexadecimal un valor de 16 bits (registro DE) en el “presentador” de 6 dígitos (direcciones+datos) (Colección de problemas de programación en ensamblador).
- 0x037D: Leer una dirección de 16 bits desde el teclado (el usuario ingresa una dirección) y devolverla, posiblemente en registros (DE) junto con un código de tecla en A (indicando si se confirmó la entrada) (Colección de problemas de programación en ensamblador).
- 0x02CF: Capturar el contenido actual del acumulador 8085 y mostrarlo inmediatamente en el display de datos (utilidad de depuración) (Colección de problemas de programación en ensamblador).
- 0x031F: Borrar/limpiar los campos del display (direcciones y datos), con un parámetro en registro B que indica si debe mostrarse el punto decimal del último dígito o no (Colección de problemas de programación en ensamblador).
- 0x044E: Esperar y leer una pulsación de tecla del teclado matricial; al retorno de la subrutina, el código de la tecla pulsada (en hexadecimal) queda almacenado (probablemente en el registro A) para que el programa llamante lo procese (Colección de problemas de programación en ensamblador) (Colección de problemas de programación en ensamblador).
- 0x0B74: Generar una rutina de retardo de tiempo (timing delay); al ser invocada introduce una pausa predefinida útil para sincronizaciones o simples esperas en los programas (Colección de problemas de programación en ensamblador).
CALL dirección
y usa/regresa ciertos registros predefinidos (por ejemplo, la rutina de display espera el valor en A o en HL, etc.) (Colección de problemas de programación en ensamblador) (Colección de problemas de programación en ensamblador). La documentación de la Universidad de Jaén provee una referencia de qué parámetros de entrada requiere cada rutina, qué resultados devuelve y qué registros altera (Colección de problemas de programación en ensamblador) (Colección de problemas de programación en ensamblador). Esto resulta invaluable para quien desee desensamblar o emular el comportamiento del monitor, ya que describe la interfaz de software que expone el firmware.
Internamente, el monitor también utiliza parte de la memoria auxiliar del 8155 (direcciones 0x2000–0x20FF) para almacenar datos de estado. Por ejemplo, guarda en ciertas posiciones de esa RAM interna valores como el último contenido del acumulador y del registro de indicadores (flags) del 8085, probablemente para mostrarlos o restaurarlos cuando corresponda (Colección de problemas de programación en ensamblador) (Colección de problemas de programación en ensamblador). De esta manera, el firmware mantiene información de contexto del procesador que ayuda en las funciones de monitoreo y depuración (como presentar registros tras la ejecución de un programa del usuario, implementar la instrucción POST paso a paso, etc.).
En resumen, el contenido de la EPROM del microP 2000 es un firmware de monitor completo que configura el 8085 al inicio, gestiona el I/O con el usuario (teclado, display, interfaz serial) y ofrece llamadas de servicio para facilitar la programación. Este monitor ocupa casi la totalidad de los 4K de la EPROM (desde 0x0000). Al usuario se le reserva el espacio de RAM para cargar sus propios programas ensamblador, los cuales pueden hacer uso de las rutinas del monitor o incluso sobrescribir partes de la RAM para crear sus programas. Conocer el funcionamiento de este monitor (por ejemplo, mediante desensamblado del código de la EPROM) es clave para emular el sistema en un PC, ya que esa emulación deberá reproducir las mismas respuestas del firmware a las entradas del teclado y producir las mismas salidas en el display.
Recursos disponibles para documentación y simulación
Dado que el microP 2000 es un equipo relativamente raro, la documentación técnica original (manuales, esquemas, listados de firmware) es difícil de encontrar en línea. En la actualidad no se conoce una copia pública del manual original de Alecop para este entrenador; de hecho, entusiastas en foros retro han expresado la necesidad de digitalizar dichos manuales si alguna vez aparecen, para preservación histórica (Alecop μP 2000 – ZONA DE PRUEBAS). A continuación se listan los recursos y fuentes de información más relevantes localizados hasta ahora:
- Foro Zona de Pruebas (2021) – En este foro de retroinformática se abrió una discusión específica sobre el Alecop μP 2000. Ahí se comparten fotos del equipo, se describen sus componentes principales y se comenta la ausencia de documentación disponible (Alecop μP 2000 – ZONA DE PRUEBAS) (Alecop μP 2000 – ZONA DE PRUEBAS). Los participantes confirman las especificaciones de hardware (procesador, memoria, chips de E/S) y comparan el μP 2000 con otros entrenadores de la época. También sugieren intentar contactar al fabricante. Un miembro señala que escribió a Alecop solicitando información de un equipo similar (Promax), aunque no obtuvo respuesta (Alecop μP 2000 – ZONA DE PRUEBAS). No se adjuntó en el foro ningún volcado (dump) de la EPROM, por lo que aparentemente aún no se ha publicado el código binario del monitor. Aun así, este hilo proporciona una buena visión general y deja constancia del interés por conseguir los manuales originales. (Enlaces: discusión en Zona de Pruebas (Alecop μP 2000 – ZONA DE PRUEBAS) (Alecop μP 2000 – ZONA DE PRUEBAS) ).
- Proyecto fin de carrera – Univ. de Jaén (2008) – Se trata de un documento académico titulado “Biblioteca de problemas de programación en ensamblador” (autor: F. Charte) donde el microP 2000 es utilizado como plataforma educativa (Alecop μP 2000 – ZONA DE PRUEBAS). Este extenso PDF (441 páginas) dedica un capítulo a explicar el funcionamiento del μP 2000: incluye el esquema de bloques del sistema (Figura 24) con el mapa de memoria y chips, describe el uso del teclado y display, y detalla las rutinas de servicio del monitor (Tabla 4) con sus direcciones, propósito y registros involucrados. Aunque no revela el código fuente del firmware, esta documentación es actualmente la más completa disponible públicamente. Por ejemplo, se puede encontrar la distribución exacta de memorias y periféricos en el mapa de direcciones (Colección de problemas de programación en ensamblador), así como explicaciones de cómo el monitor maneja las interrupciones, la pila, etc., en un contexto didáctico. Para quien desee simular el hardware, este proyecto proporciona la información necesaria sobre qué hace el software monitor en cada situación. (Enlace: PDF Universidad de Jaén, ver especialmente sección 5. El sistema uP-2000 (Colección de problemas de programación en ensamblador) (Colección de problemas de programación en ensamblador)).
- Contacto con el fabricante (Alecop S. Coop) – Dado que Alecop sigue activa en el campo del equipamiento didáctico, es posible intentar obtener información directamente. En el foro se compartió la página de contacto de Alecop (Alecop μP 2000 – ZONA DE PRUEBAS) y se sugirió solicitar manuales antiguos. No hay garantía de éxito (la experiencia previa no fue positiva (Alecop μP 2000 – ZONA DE PRUEBAS)), pero sigue siendo una vía abierta. Alecop podría tener en sus archivos históricos los manuales o esquemas del microP 2000 y, en el mejor de los casos, podrían proporcionarlos bajo petición.
- Archivos binarios y esquemas – Hasta el momento, no se han encontrado en Internet copias de la EPROM del microP 2000 ni esquemas eléctricos detallados. Sitios de repositorio de ROMs de microcomputadoras clásicas (p. ej. 1000bit.it, etc.) no listan este modelo en particular. Por lo tanto, cualquier intento de obtener el contenido binario del monitor requeriría acceso a una unidad física para extraer la EPROM (usando un lector de EPROMs) y luego desensamblarla con herramientas de ingeniería inversa. En el foro de Zona de Pruebas, el usuario que posee el equipo no indicó haber dumpeado la ROM, así que probablemente esta tarea esté pendiente. Una vez obtenido el binario, podría analizarse con un desensamblador de 8085 (herramientas existen para este propósito, como por ejemplo el desensamblador del kit SDK-85 de Intel, o utilidades mencionadas en foros técnicos (8031 / 8085 disassembler? – EEVblog)). Este paso sería crucial para una simulación fiel, pues permitiría conocer cada rutina y comportamiento implementado en el firmware.
- Simuladores de 8085 disponibles – Para llevar a cabo una simulación en PC del microP 2000, se puede aprovechar que el 8085 es un micro muy conocido y existen emuladores/simuladores genéricos. Por ejemplo, en entornos docentes se ha utilizado el emulador J8085Sim (software en Java) para ejecutar código de 8085 en un PC ([PDF] Enseñanza y Aprendizaje de Ingeniería de Computadores). También hay otras herramientas como GNUSim8085, EMU8085, etc., que permiten cargar código máquina y simular periféricos básicos. No obstante, ninguna de ellas emula de fábrica el entrenador Alecop con sus dispositivos específicos. En la práctica, para emular el microP 2000 habría que combinar la emulación de la CPU 8085 con modelos de los periféricos 8255/8251/8279/8155. Esto implicaría quizás desarrollar un pequeño programa que integre un core de CPU 8085 y emule las interacciones del monitor con: el teclado (matriz de 4×4 ó 4×8 teclas manejada vía 8279), el display de 7 segmentos (también controlado por el 8279), los puertos del 8255, y la comunicación serial (8251). Con el contenido de la EPROM desensamblado, se podrían identificar las instrucciones que acceden a los registros de esos chips (p. ej., escritura/lectura en las direcciones 0x3000+ para manejar el display/teclado via 8279) y así replicar su efecto en la simulación. En resumen, aunque actualmente no existe un simulador específico del microP 2000 listo para usar, las bases están sentadas para construir uno con la información recopilada: se conoce el hardware, se entiende el firmware a alto nivel gracias a la documentación disponible, y se dispone de emuladores 8085 donde podría inyectarse el código del monitor para hacerlo funcionar en un PC igual que en el equipo real.
Conclusiones
En conclusión, el Alecop microP 2000 es un sistema didáctico 8085 clásico, cuyo valor histórico radica en cómo introducía a los estudiantes en la programación de bajo nivel. La EPROM de 4KB con el monitor es el corazón del equipo, y reconstruir su contenido (vía desensamblado) resulta esencial para cualquiera que desee simular o preservar esta experiencia en la actualidad. Si bien los manuales originales y código fuente no están disponibles públicamente, la combinación de fuentes actuales – la descripción de hardware de la comunidad retro (Alecop μP 2000 – ZONA DE PRUEBAS), el material académico detallado de la Universidad de Jaén (Colección de problemas de programación en ensamblador) (Colección de problemas de programación en ensamblador), y el conocimiento general sobre microprocesadores 8085 – proporciona una base sólida para comprender el funcionamiento del microP 2000. Con estos recursos, un entusiasta podría emprender la tarea de emular el sistema en un PC, recreando fielmente el comportamiento del hardware real y manteniendo vivo este equipo didáctico del pasado.
Fuentes consultadas: Manual didáctico uP-2000 (Proyecto Univ. Jaén) (Colección de problemas de programación en ensamblador) (Colección de problemas de programación en ensamblador); Foro Zona de Pruebas (hilo Alecop μP 2000, 2021) (Alecop μP 2000 – ZONA DE PRUEBAS) (Alecop μP 2000 – ZONA DE PRUEBAS); Notas técnicas sobre el mapa de memoria y chips del sistema (Colección de problemas de programación en ensamblador) (Colección de problemas de programación en ensamblador); Discusiones sobre simulación de 8085 en entornos educativos ([PDF] Enseñanza y Aprendizaje de Ingeniería de Computadores). Todas las referencias se incluyen con sus enlaces directos para ampliar detalles técnicos específicos.
