Emulador de DEC PDP-11/40 en Teensy 4.1

En este artículo vamos a emular sobre una Teensy 4.1 uno de los miniordenadores más icónicos de la historia de la informática, el PDP-11.

Sobre DEC PDP-11/40

En enero de 1972, Digital Equipment Corporation presentó la serie 40 de la familia PDP-11. Esta mantendría la compatibilidad con la arquitectura general de la familia, aunque mejora rendimiento, memoria y soporte de sistemas operativos respecto a los modelos anteriores.

A nivel de arquitectura, el PDP-11/40 presenta una CPU de 16 bits basada en lógica discreta TTL y memoria de ferrita de hasta 256 KB. Implementa el bus Unibus para la comunicación entre CPU, memoria y periféricos.

Emulador

Utilizaremos como base el emulador Teensy11 sobre esta misma plataforma.

Cambios en nuestro emulador

Se realizan cambios en el código original incluyendo:

  • Se deshabilita el panel visual.
  • Se deshabilita el servicio TFTP.
  • Actualización de rutas en platform.ini para permitir compilación correcta desde Linux.

Entorno e instalación del emulador

Elementos

Vamos a necesitar los siguientes elementos:

  • Placa Teensy 4.1.
  • Tarjeta microSD con formato FAT32.

Instalación

Nos basta con descargar el código fuente de GitHub.

$ git clone https://github.com/RafaGS/Teensy11_lite.git

Construimos los binarios y los subimos a la placa.

Preparación de la microSD

Vamos a ejecutar en nuestro emulador el sistema operativo Unix Version 6 (V6), desarrollado por Bell Labs (AT&T) en 1975.

Para ello, necesitaremos la versión en cinta de este SO para PDP-11.

$ wget https://www.tuhs.org/Archive/Distributions/Research/Ken_Wellsch_v6/v6.tape.gz $ gunzip v6.tape.gz

Asimismo, crearemos un disco RK05 vacío, que replicaremos en 3 unidades.

$ dd if=/dev/zero of=empty.rkx bs=512 count=4872 $ cp empty.rkx r.rk0 $ cp empty.rkx s.rk1 $ cp empty.rkx d.rk2

Copiaremos los archivos anteriores, junto a mkdevs.tap distribuido en el repositorio de GitHub, al directorio raíz de la microSD.

$ cp r.rk0 s.rk1 d.rk2 v6.tape mkdevs.tap /mnt/sd/

Emulación

Una vez realizada la subida, y conectada la microSD a la Teensy, nos conectamos vía serie. Aparecerá información sobre la placa y el prompt del monitor del emulador.

Comenzamos montando la cinta.

$ tm 0 v6.tape

A lo que el sistema nos dará una confirmación.

attached v6.tape on tm0

Igualmente, adjuntaremos el disco virtual r.rk0 al controlador RK05.

$ rk 0 r.rk0

A lo que el sistema nos dará otra confirmación.

attached r.rk0 on rk0

A continuación, indicamos 6 valores para que se carguen en la RAM del PDP-11 a partir de la dirección octal 100000. Esos 6 valores representan código máquina que ejecutaremos con la orden G. Con este código indicamos al controlador TM11 que lea un bloque de la cinta y lo deposite en la dirección 0 de la RAM.

$ > 100000 012700 172526 010040 012740 060003 000777 $ G 100000

El sistema entrará en loop, del que saldremos pulsando [Ctrl][P]. Este nos devolverá información de estado.

2730459 instr/s, mmu: off
R0 172522 R1 000000 R2 000000 R3 000000
R4 000000 R5 000000 R6 000000 R7 100012 PS [kK ]

Lo siguiente es ejecutar lo que se ha cargado en la RAM desde la cinta.

$ G 0

Automáticamente, se envía una orden de rebobinado a la cinta y nos aparece el prompt del instalador de V6, un «=».

tm11: rewind
tm11: rewind done, MTS: 000041, MTC: 060217
=

Introducimos el comando tmrk, que copia bloques de cinta a disco RK05.

=tmrk

Nos pedirá disk offset, tape offset y count, a lo que responderemos respectivamente 0, 100 y 1.

tm11: rewind
tm11: rewind done, MTS: 000041, MTC: 060217
tm11: rewind
tm11: rewind done, MTS: 000041, MTC: 060217
disk offset
0
tape offset
100
count
1

Repetimos la copia para los valores de 1, 100 y 3999.

=tmrk tm11: rewind
tm11: rewind done, MTS: 000041, MTC: 060217
tm11: rewind
tm11: rewind done, MTS: 000041, MTC: 060217
disk offset
1
tape offset
101
count
3999

Salimos del prompt del instalador con [Ctrl][P] y volvemos al del monitor, desde donde llamamos un reinicio.

$ reset

Tras el reinicio, arrancamos V6. Para ello, volvemos a adjuntar el disco virtual r.rk0 al controlador RK05.

$ rk 0 r.rk0 attached r.rk0 on rk0

Lo siguiente es escribir el valor 173030 en el Switch Register del PDP-11, lo que equivale a dar la orden de arrancar desde el disco RK05 número 0 una vez que introduzcamos la consecuente orden boot.

$ > 777570 173030 $ boot

Vuelve a cambiar el prompt, esta vez al del bootloader. Indicamos que use el kernel para RK05 con rkunix.

@rkunix

Aparecerá el mensaje de inicio del sistema operativo.

Antes de nada, forzaremos una sincronización introduciendo tres veces seguidas la orden sync.

$ SYNC $ SYNC $ SYNC

Nos habremos percatado de que nos sale todo en mayúsculas, cuando lo normal en los UNIX es trabajar en minúsculas. Solucionaremos esto con la orden stty.

$ STTY -LCASE

Vemos cómo las entradas aparecen por defecto en minúsculas. Así, podremos utilizar órdenes típicas de UNIX.

Y, por supuesto, escribir un «Hola mundo» apropiado, esta vez en lenguaje C.

Nótese que en esta antigua versión de C printf está implícito en la sintaxis del lenguaje.

#1973 #DEC #PJRCTeensy41
Franklin J. Schaffner – „Papillon“ (1973)

Einer der größten, spannendsten und schönsten Filme meines Lebens. Da gibt es gar kein Vertun. Außerdem die einzige Zusammenarbeit von Steve McQueen und Dustin Hoffman. Kein Wunder, dass ich diesen Film lieben musste. Und lesen Sie das Buch! (ARD, Wh)

Zum Blog: https://nexxtpress.de/mediathekperlen/steve-mcqueen-dustin-hoffman-papillon-1973/

War Powers: Senate Approves Act Blocking Trump in Venezuela – TIME

Subscribe, Jan 8, 2026 9:13 AM PT

Senate Backs War Powers Measure Intended to Block Trump in Venezuela

By Nik Popli, Reporter

Senator Tim Kaine, a Virginia Democrat, left, and Senator Rand Paul, a Kentucky Republican, who led the Senate in advancing a war powers resolution. Al Drago — Bloomberg via Getty Images

The Republican-led Senate on Thursday backed a resolution seeking to curb President Donald Trump’s ability to carry out further military action against Venezuela without congressional approval, delivering a largely symbolic rebuke from lawmakers of both parties just days after a dramatic U.S. raid that captured the country’s president.

The War Powers Resolution advanced 52 to 47, with Democrats joined by five Republicans: Sens. Josh Hawley of Missouri, Todd Young of Indiana, Lisa Murkowski of Alaska, Susan Collins of Maine, and Rand Paul of Kentucky. The resolution is set to soon move to the House, where Republicans hold a narrow majority and previously rejected a similar measure. Its prospects there remain uncertain, and even if it were to pass, Trump is expected to veto it.

The resolution, brought forward under the War Powers Act and led by Democratic Sen. Tim Kaine of Virginia, would require Trump to seek explicit authorization from Congress before carrying out additional military strikes or sustained operations against Venezuela. It does not retroactively block the raid that led to the capture of President Nicolás Maduro, but it aims to prevent the Trump Administration from expanding what critics fear could become a prolonged campaign to reshape the Venezuelan government and control its oil resources.

“The Constitution is clear—only Congress can declare war,” Paul, a sponsor of the resolution, said on the Senate floor. “Our founder’s intent is not a close call open to equivocation.”

Read more: What’s Happening With the U.S. and Venezuela, Explained

Under the War Powers Resolution, passed in 1973 over President Richard Nixon’s veto, presidents must notify Congress within 48 hours of deploying U.S. forces and must end hostilities within 60 to 90 days without authorization.

The vote came one day after all members of Congress received a classified briefing from top Trump Administration officials on the Venezuela operation, a session that left several lawmakers saying Congress had been kept in the dark as the United States crossed a consequential new threshold overseas.

In a post on Truth Social, Trump called out the five Republicans who voted to strip his war powers—saying they “should never be elected to office again.”

“This Vote greatly hampers American Self Defense and National Security, impeding the President’s Authority as Commander in Chief,” Trump added. “In any event, and despite their ‘stupidity,’ the War Powers Act is Unconstitutional, totally violating Article II of the Constitution, as all Presidents, and their Departments of Justice, have determined before me.”

The Senate’s action followed months of failed attempts to rein in Trump’s war powers as his Administration steadily escalated pressure on Venezuela, including repeated strikes on vessels off its coast and sweeping seizures of Venezuelan oil shipments. A similar resolution narrowly failed in November, falling short by a 51–49 margin after only two Republicans backed it. Thursday’s vote marked the third time lawmakers confronted the issue on the Senate floor since last year—and the first time the measure cleared the chamber.

Continue/Read Original Article Here: War Powers: Senate Approves Act Blocking Trump in Venezuela | TIME

#1973 #5247Vote #Act #BlockTrump #Congress #Democrat #Measure #Politics #senate #SenatorRandPaul #Time #Trump #USSenate #Venezuela

Guy Reibel – Signal sur bruit

https://www.youtube.com/watch?v=fzq5UIponJg

Signal sur bruit (1973) ist ein Stück, in dem absichtliche, kalibrierte Klänge mit einer präzisen Morphologie allen Störphänomenen widerstehen, die versuchen, sie zum Verschwinden zu bringen.

#1973 #absichtliche #GuyReibel #kalibrierteKlänge #MUSIK #SignalSurBruit

Guy Reibel - Signal sur bruit

YouTube

Sidney Lumet, Al Pacino – „Serpico“ (1973)

Der beste Al Pacino aller Zeiten? Es gibt Leute, denen mag ich da einfach nicht widersprechen. Ganz sicher eines der besten Cop-Movies der Kinogeschichte. Alle, wirklich alle, die danach gekommen sind, mussten sich daran messen lassen. (ARD, Wh)

Zum Blog: https://nexxtpress.de/b/u1o

Steve McQueen, Dustin Hoffman – „Papillon“ (1973)

Einer der größten, spannendsten und schönsten Filme meines Lebens. Da gibt es gar kein Vertun. Außerdem die einzige Zusammenarbeit von Steve McQueen und Dustin Hoffman. Kein Wunder, dass ich diesen Film lieben musste. Und lesen Sie das Buch! (ARD, Wh)

Steve McQueen, Dustin Hoffman - "Papillon" (1973)

Einer der größten, spannendsten und schönsten Filme meines Lebens. Da gibt es gar kein Vertun. Außerdem die einzige Zusammenarbeit von Steve McQueen und Dustin Hoffman. Kein Wunder, dass ich diesen Film lieben musste. Und lesen Sie das Buch! (ARD, Wh)

NexxtPress

Steve McQueen, Dustin Hoffman – „Papillon“ (1973)

Einer der größten, spannendsten und schönsten Filme meines Lebens. Da gibt es gar kein Vertun. Außerdem die einzige Zusammenarbeit von Steve McQueen und Dustin Hoffman. Kein Wunder, dass ich diesen Film lieben musste. Und lesen Sie das Buch! (ARD, Wh)

Steve McQueen, Dustin Hoffman - "Papillon" (1973)

Einer der größten, spannendsten und schönsten Filme meines Lebens. Da gibt es gar kein Vertun. Außerdem die einzige Zusammenarbeit von Steve McQueen und Dustin Hoffman. Kein Wunder, dass ich diesen Film lieben musste. Und lesen Sie das Buch! (ARD, Wh)

NexxtPress

Al Pacino – “Serpico” (1973)

Der beste Al Pacino aller Zeiten? Es gibt Leute, denen mag ich da einfach nicht widersprechen. Ganz sicher eines der besten Cop-Movies der Kinogeschichte. Alle, wirklich alle, die danach gekommen sind, mussten sich daran messen lassen. (ARD, WH)

Al Pacino - "Serpico" (1973)

Der beste Al Pacino aller Zeiten? Es gibt Leute, denen mag ich da einfach nicht widersprechen. Ganz sicher eines der besten Cop-Movies der Kinogeschichte. Alle, wirklich alle, die danach gekommen sind, mussten sich daran messen lassen. (ARD, WH)

NexxtPress
#536: 1973

PeerTube