Restaurar otro PDP-11/04

Traducci贸n de otro art铆culo de recuperaci贸n PDP-11/04. Puede leer la 煤ltima trilog铆a aqu铆: parte 1 (PDP-11/04), parte 2 (estaci贸n de cinta TU60), parte 3 (terminal LA30). Las cursivas son mis comentarios.

PDP-11/04, enviado por Gunnar


Recibimos este dispositivo de Gunnar Barbro, y con 茅l vinieron un mont贸n de cosas diferentes para el PDP-11. Pero el estado de la computadora en s铆 estaba lejos de ser perfecto. No hab铆a suficientes procesadores y tarjetas de memoria, el interruptor de encendido fue reemplazado por una nueva versi贸n y, adem谩s, todo estaba terriblemente polvoriento. La placa de consola de programaci贸n KY11-LB, XY11 (un m贸dulo para controlar un trazador, por ejemplo, IBM 1627, que ven铆a con m谩quinas DEC y era CalComp 565 can贸nico ), KW11-P ( m贸dulo RTC programable, s铆, estaban conectados a la placa posterior ) S铆, 隆hab铆a una placa completa bajo RTC! ), La placa principal RK11-D con un conjunto de m贸dulos (un controlador para unidades de disco magn茅tico, era un conjunto de tarjetas (3 o 4 piezas), combinadas por una placa com煤n ) y DR11-B (Controlador DMA, que, de nuevo, constaba de varias placas: M7194, M971, M5916, M7820, ... ), tambi茅n con todos los m贸dulos.



Limpieza


Desmontamos la computadora en partes y las lavamos suavemente con agua y jab贸n, y luego las volcamos con un compresor. Despu茅s del secado, se recogieron en un solo conjunto. Durante estos procedimientos, se encontraron manchas de 贸xido aqu铆 y all谩.

Montaje e inspecci贸n


隆Por supuesto, nada funcion贸 incluso cuando conectamos el procesador y las tarjetas de memoria tomadas de nuestras existencias! La consola estaba muerta. Si al principio pudimos marcar c贸digos digitales, y se mostraban en la consola ( indicador de siete segmentos y seis d铆gitos ), luego de un tiempo la situaci贸n empeor贸 y esta oportunidad desapareci贸.

KY11-LB


KY11-LB es una opci贸n muy interesante disponible para PDP-11/04 y PDP-11/34. 隆No solo puede encender y apagar la CPU, depurar el c贸digo, ver y cambiar la memoria, ingresando as铆 los programas y datos en la m谩quina, sino tambi茅n usar el modo de servicio, en el que est谩 disponible la depuraci贸n paso a paso del microc贸digo del procesador! Esta caracter铆stica se proporciona conectando un par de bucles al m贸dulo del procesador. Pero si falta el procesador o se congela, el KY11-LB le permite trabajar con Unibus (un bus que conecta m贸dulos en muchas computadoras DEC)) sin la participaci贸n de la CPU. Esto se realiza debido a la presencia de su propio microprocesador i8008. En la foto de abajo lo rode茅 en rojo. Y esta es una gran noticia si necesita verificar el funcionamiento del bus en s铆 mismo o realizar pruebas simples de memoria y tarjetas de E / S. Cuando se solicita un destino inexistente, se enciende la luz BUS ERR. J枚rg Hoppe escribi贸 un excelente documento sobre el uso del KY11-LB.



Despu茅s de conectar el analizador l贸gico, verifiqu茅 que el 8008 en la placa M7859 (KY11-LB) funciona normalmente y ejecuta el programa grabado correctamente. Pero el c贸digo cre铆a que nadie presiona ninguna tecla ... Result贸 que todas las se帽ales CLR ( borrar, una se帽al para borrar el registro ) para los registros de salida estaban en un estado activo. El controlador de bus unibus que proces贸 la se帽al DCLO (una se帽al en el bus Unibus, que informa que el voltaje de CC es demasiado bajo ) ten铆a errores. Varios controladores de b煤fer de colector abierto y chips de registro estaban defectuosos. 隆Tan pronto como los reemplac茅, la consola cobr贸 vida! Pero nuevamente hubo una falla despu茅s de iniciar el procesador y probarlo con diagn贸sticos de su funcionalidad. Y dos veces El primero es un error en el M9301, el tablero de arranque. El octavo bit en el bus de datos fue el 煤ltimo disponible para el conductor del bus. No pudo leer suficientes datos del autob煤s. La segunda vez, el procesador simplemente se congela. No se estableci贸 nada en el bus de direcciones, y el examen del microc贸digo mostr贸 que el enchufe ocurri贸 mientras intentaba capturar el bus. El procesador solo se inici贸 despu茅s de que saqu茅 el M7859 ( KY11-LB) Result贸 que el M7859 gener贸 una se帽al BBSY de 9MHz en el bus Unibus ( Bus Busy, en el estado activo, se帽ales de que alguien est谩 usando las se帽ales D0-D15 (los datos solicitados las atravesaron ). Por qu茅 Un gatillo 7474 se rompi贸 y oscilaba como loco. 隆Despu茅s de reemplazarlo, el diagn贸stico del procesador y la memoria tuvieron 茅xito!

M9301-YB


El PDP-11/04 M9301-YB es un m贸dulo de arranque y un terminador. La PROM de la placa almacena el emulador de consola y el c贸digo de arranque para varios dispositivos comunes. Para que el procesador comience la ejecuci贸n inmediatamente despu茅s de comenzar desde el 谩rea de arranque en la PROM, el m贸dulo genera una direcci贸n especial 0173000 en el bus ( pulso de 300 ms usando el multivibrador 9602 ) (a menudo se usa un sistema de n煤meros octales para pdp, por lo tanto, los ceros al comienzo de los n煤meros no son relleno, es decir, una referencia a CC ), y el procesador solicita la direcci贸n de reanudaci贸n del trabajo despu茅s de un corte de energ铆a, configurando la direcci贸n 024/026 en el bus Unibus ( en la primera direcci贸n, el registro MMIO en el que se encuentra la PC, en la segunda - PSW, palabra de estado del procesador, varios indicadores y estado del procesador) Como resultado, se env铆a una solicitud de datos al bus en las direcciones 0173024 y 0173026. Para la celda 0173024, M9301 encuentra una correspondencia entre el conjunto de valores del microinterruptor ( en la foto, justo en el centro, 10 piezas ) y los datos en PROM. Estos conmutadores, de hecho, determinan desde qu茅 direcci贸n en el espacio 0173xxx comenzar谩 la ejecuci贸n del procesador. Tir茅 cuatro chips PROM: 23-038A9 , 23-039A9 , 23-040A9 y 23-041A9 . Dado que el M9301-YB invierte algunos bits para admitir la posibilidad de disyunci贸n de los interruptores de la placa con se帽ales externas ( en los contactos de la foto son TP1 / TP2 / TP3, sus valores OR est谩n con los valores de los microinterruptores en la placa, por ejemplo, TP1 est谩 conectado a S1 y S2 ), escrib铆 un peque帽oUn programa que combina estos cuatro archivos en un solo binario . Habiendo hecho solo el an谩lisis inicial de la lista de desensambladores, sin embargo, ya not茅 que el c贸digo es muy similar al PROM de M9301-YA, excepto que los bloques de c贸digo est谩n dispersos en diferentes direcciones.



Lanzamiento RT11SJ y XXDP V2.2



Para ejecutar cada uno de estos programas, necesita el procedimiento apropiado en el c贸digo del gestor de arranque. T铆picamente, dichos procedimientos se realizan en un chip PROM separado, cuya ejecuci贸n del c贸digo se produce al escribir ciertos caracteres en un emulador de consola. Pero en esta m谩quina hay una placa M9201-YB que no contiene un cargador de arranque DU primario ( DEC tiene nombres muy informativos, DU es un cargador de arranque de los medios a trav茅s de MSCP (MSCP es un protocolo para comunicarse con unidades, como ATAPI) ). As铆 que tuve que martillar este gestor de arranque manualmente (el emulador de consola, que forma parte de este m贸dulo, admite 4 funciones: cargar la direcci贸n L, leer la memoria en la direcci贸n E, escribir en la direcci贸n D, iniciar la ejecuci贸n de S, de hecho, esto le permite ingresar el c贸digo manualmente. La secuencia de comandos del tipo L 016000, D XXXXXX, D XXXXXX, ..., S 16002 ). No fue f谩cil encontrar un gestor de arranque que funcionara bien, pero todav铆a encontr茅 uno en el SimH fuente ( emulador de diferentes sistemas antiguos ). Con la ayuda de PDP11GUI , cargu茅 un peque帽o archivo en la memoria de la m谩quina. Y funciona (al menos en la mayor铆a de los casos).

Volcar este cargador de arranque MSCP:
0016000  042125  012706  016000  012700  000000  012701  172150  012704
0016020  016162  012705  004000  010102  005022  005712  100001  000000
0016040  030512  001773  012412  006305  100370  105714  001434  012702
0016060  007000  005022  020227  007204  103774  112437  007100  110037
0016100  007110  112437  007114  112437  007121  012722  007004  010522
0016020  012722  007104  010512  024242  005711  005712  100776  005737
0016040  007016  001743  000000  005011  005003  012704  016020  005005
0016060  005007  100000  007204  000000  000001  004420  020000  001041
0016200  000000  

Comience a llenar la memoria con 016000 y la ejecuci贸n con 016002 ( 0x4455 - palabra m谩gica ).



Despu茅s de eso, intent茅 iniciar la imagen del disco con XXDP v2.2. Pero, por desgracia, no hubo 茅xito. La l铆nea de comando XXDP apareci贸, pero cualquier comando que funcion贸 con el disco, como "D" ( obtener la lista de archivos en el medio cargado ), termin贸 con un error en la consola "? RD ERR". Parece que el programa no puede acceder al disco. As铆 que revis茅 el peque帽o kit de distribuci贸n RT11 ( sistema operativo en tiempo real para PDP-11 ). Cre茅 una imagen de disco con la versi贸n 5.3 e intent茅 iniciar. 隆Y todo sali贸 genial! 隆Puedes jugar a Adventure o programar en BASIC'e!

Source: https://habr.com/ru/post/es390793/


All Articles