La historia del CP/M68K para Atari ST

Del hilo:

Intentando ensamblar un CP/M68K para Atari ST

http://retrowiki.es/viewtopic.php?f=4&t=200033933

 

Con partes extraídas de filfre.net Part II Jack is Back y de dadhacker.com.

Contrario al mito popular, el ST no existía en ninguna forma o forma en Atari antes de la toma de control de los Tramiels. La planificación de lo que se convertiría en Atari ST comenzó a fines de abril y principios de mayo de 1984. El primer paso fue cuando Jack Tramiel formó una pequeña compañía llamada Tramiel Technology, Ltd. Luego, poco a poco comenzó a reunir a personas de todo el mundo, todas ex empleados de Commodore, con la intención específica de diseñar, fabricar y luego comercializar de alguna manera una computadora nueva y de precio popular. Pero en esas primeras semanas, adquirir Atari era solo un sueño.

Tras decantarse definitivamente por el procesador Motorora 68000 y descartar el National Semiconductor NS32000, Shiraz Shivji desarrolló la base del hardware con una arquitectura bastante conservadora, quedando pendiente el asunto referente al software, que es de lo que iba este hilo.

Para lograr esto, los planes de Jack pasaban por esperar que sus ingenieros comenzaran en agosto de 1984 con prácticamente nada más que los toscos parámetros de diseño de Shivji, con el fin de construir un prototipo listo para ser mostrado en el CES de invierno en Las Vegas en enero de 1985.

A modo de resumen la cosa pudiera haber sido de la siguiente manera.:

Julio de 1984:

Los Tramiel compran Atari.
Tramiel renombró Tramel Technology a Atari Corporation. En los próximos años habría dos Ataris:
Tramiel's Atari Corporation, fabricante de ordenadores personales y consolas de juegos, y Atari Games, fabricante de juegos arcade. Les llevaría bastante tiempo desenredar los dos; incluso el edificio de la sede se compartiría durante un tiempo.

El plan "ST" es comunicado, pero nadie sabe mucho.

Aunque no lo parezca, la gente de Tramiel tenía muy en cuenta que tanto Apple con su Lisa y Macintosh y el Lorraine de Amiga funcionaban con un 68000 y el autor matiza; { Generalmente descrito como un chip de 16 bits, el 68000 era de alguna manera un diseño híbrido de 16 y 32 bits, un hecho que dio nombre a la nueva computadora: "ST" significa " Sixteen / Tirty-two Bit" }

Agosto de 1984:

El hardware ST se vuelve más claro. Evalúan otros sistemas operativos, etc.

Habría un sistema de ventanas, iba a tener gráficos de mapa de bits, sabían aproximadamente cuáles serían las resoluciones de la pantalla, y así sucesivamente. Todos esos parámetros se decidieron antes de la adquisición. La idea era un ordenador avanzado, 16/32 bits, buenos gráficos, buen sonido, MIDI, todo. Un ordenador divertido, pero con la última tecnología de software.

El asunto del software los trajo de cabeza. Si bien el hardware se podía juntar con relativa rapidez, escribir un sistema operativo en cinco meses, que fuera moderno, rápido, basado en GUI... como para que no les diera dolor de cabeza !!!. Apple llevaba dos años desarrollando el System/Finder y cuando se comercializó aún estaba lleno de errores y bugs. Para Tramiel esto era un verdadero problema, ya no podía usar las ROM del PET, así que tocaba ponerse a buscar quien le podría suministrar un OS que cumpliera con las expectativas.

Los Tramiel volvieron a tantear a Gates, ( Bill se la tenía guardada... -507-rofl ). Estuvieron considerando el Windows 1.0 de Micro$oft, pero se encontraron que no había nada desarrollado para funcionar en 68000. Por tanto, tendrían que portar desde el código de intel el MS-DOS para luego portar el Windows. Estas expectativas no eran nada prometedoras.

Finalmente encontraron la solución en un lugar muy sorprendente. Al tener varias lineas abiertas fueron a ver a la gente de Digital Research, que al menos ya disponían de un sistema operativo que funcionaba bajo 68000. El CP/M estaba perdiendo sus últimas cuotas de mercado contra el monstruoso MS-DOS de Micro$oft, así que Kildall había adoptado una mentalidad de "si no puedes con tus enemigos, únete a ellos" en respuesta.

John Feagans, un ingeniero de software que había abandonado recientemente Commodore, estaba entre los estrategas originales. "Bajamos a la investigación de DRI", . "GEM no se llamaba 'GEM' en ese momento. Se llamaba 'Cristal'. Nos lo demostraron funcionando en un Apple Lisa. Bueno, en realidad, era todo humo y espejos. Casi no había nada de uso en esa demo, porque habían dedicado todo su esfuerzo de programación a ponerlo en el PC de IBM ".

La versión de GEM demostró por primera vez a Tramiel Technology que en realidad se estaba ejecutando sobre CP/M-68K. De hecho, la encarnación CP/M-68K de GEM era la única versión de GEM disponible para el microprocesador 68000 en ese momento, y Atari continuaría planificando que fuera el sistema operativo subyacente de ST en los próximos meses.

En DRI estaban trabajando duro en el desarrollo de un administrador de ventanas completo tipo Mac que podía ejecutarse sobre MS-DOS o CP/M.
GSX es una biblioteca de gráficos, para CP/M y CP/M-86, diseñada para ser portátil. GSX pasó a convertirse en la interfaz de dispositivo virtual del entorno GEM. Las versiones 1 y 2 de GEM son compatibles tanto con la API GSX como con la de GEM. https://www.seasip.info/Cpm/gsx.html

GSX constaba de dos partes: una selección de rutinas para operaciones de dibujo comunes y los controladores de dispositivo que son responsables de manejar la salida real. El primero se conocía como GDOS y el último como GIOS ,un set en la división de CP/M en BDOS independiente de la máquina y BIOS específico de la máquina. GDOS era una selección de rutinas que manejaba el dibujo GKS, mientras que GIOS realmente usaba el hardware subyacente para producir el resultado.

GSX evolucionó en una parte de lo que luego se conocería como GEM , que fue un esfuerzo para construir un sistema completamente GUI utilizando como base el anterior trabajo de GSX. Originalmente conocido como Crystal como una obra de teatro en un proyecto de IBM llamado Glass , el nombre se cambió más tarde a GEM.

Bajo GEM, GSX se convirtió en GEM VDI (Interfaz de dispositivo virtual), responsable de gráficos y dibujos básicos. VDI también agregó la capacidad de trabajar con varias fuentes y agregó una selección de comandos de dibujo ráster a los antiguos comandos de dibujo vectoriales, solo basados en GKS. VDI también agregó varias ventanas gráficas , una adición clave para usar con Windows.

Un nuevo módulo, GEM AES (Application Environment Services), proporcionaba la gestión de ventanas y los elementos de la interfaz de usuario, y GEM Desktop utilizó ambas bibliotecas en combinación para proporcionar la GUI. La versión 8086 de todo el sistema se demostró por primera vez en el COMDEX de 1984, y se lanzó como GEM Version 1, el 28 de febrero de 1985.

Finalmente los Tramiel tomaron una decisión: Digital Research recibió el visto bueno porque estaban dispuestos a licenciar tanto GEM como una capa de CP/M para que corriera por debajo bastante barata, siempre música para los oídos de Jack Tramiel. El único problema es que salvo el CP/M68K actualmente todo se ejecuta solo en procesadores Intel, no en los 68000.

Septiembre de 1984:

El trabajo comienza en Monterey, cerca del campus de Digital Research.

La gente de Atari logró en pocos meses portar suficiente CP/M y GEM al ST para darle a Atari algo que mostrar en los cinco prototipos de máquinas que Tramiel presentaría en el CES en Las Vegas ese enero de 1985

El lado Atari del equipo de software ST se dividió en seis pequeños grupos:

Gráficos. Dos o tres chicos tomaron la capa de gráficos especificada por DRI y escribieron renderizadores de fuentes, blits, line-drawing y otras primitivas. Las primitivas gráficas en el ST tenían extensiones interesantes, y GEM solo usaba un subconjunto de lo que estaba disponible.

Port GEM. Conseguir que el GEM se ejecute y funcione. Dos o tres personas más ayudaron a que GEM se portara al 68000. Esto no solo se trataba de "compilación, depuración, limpiar, reescribir y repetir ", ya que el GEM no estaba terminado en ese momento. Esos muchachos trabajaron muy de cerca con los ingenieros de DRI todos los días, y probablemente fueron los más frustrados de todos ellos.

BIOS (controladores) y sistema operativo

Los chicos de BIOS / OS tenían estaciones de trabajo Motorola VME-10 corriendo CP/M-68K.

vme10.png


Infraestructura

Aplicaciones

Antes de que el hardware ST comenzara a funcionar, tuvieron que usar los sistemas existentes basados en 68000 para el desarrollo cruzado. Los chicos del grupo de gráficos tenían Apple Lisas que ejecutaban CP/M-68K; los Lisas tenían pantallas de mapa de bits que utilizaron como ST de "práctica". Los discos Profile de estas máquinas tardaban una eternidad en recuperarse después de un golpe o de moverse. Por alguna razón, el código de arranque en estas máquinas se había escrito para mostrar un mapa de bits de un pez.

CP/M-68K es un "sistema operativo" que tenía sus raíces en los años 70. Aproximadamente diez años antes, Gary Kildall había trabajado en algunos sistemas DEC PDP-11, le gustaban y se había inspirado para escribir un pequeño sistema operativo para las primeros microcomputadores basadas en 8080. Durante años, CP/M había sido un estándar de facto.

CP/M-68K era un port para el 68000, y fue el sistema operativo contratado por los Tramiels.

En septiembre de 1984, Atari envió a la mayoría de sus ingenieros de software a las instalaciones de Digital Research en Monterey, California, para comenzar el port de GEM. El grupo de software vivió allí la mayor parte de los siguientes cuatro meses, y algunos se quedaron más tiempo. Su tarea era traducir el código ensamblador PC de DRI de IBM, escrito para el microprocesador 8086, al código 68000, y también reescribir y recompilar el código C de DRI en el sistema ST.

Fue una tarea monstruosa. Dave Staugas, quien portó el blitz de texto y luego escribió el programa de pintura NEOchrome de ST, recuerda esa época: "El asesino fue que Digital Research me daría este código 8086 y diría, 'Translate this', y luego, una semana después, di, 'Oh, hubo muchos errores en eso, aquí está el nuevo'. Nunca tuvo una especificación. El último código fue la especificación ".

Milagrosamente, a principios de enero de 1985 todas las piezas comenzaron a unirse. Los desarroladores de Atari se dieron cuenta de que cumplirían con la fecha límite de CES, y lo hicieron: despacharon cinco ST a Las Vegas, con GEM todavía funcionando en la parte superior de CP/M-68K.

CP/M (en cualquiera de sus variantes) realmente no hacía gran cosa. Disponía de un simple sistema de archivos planos. Salida de consola de carácteres a la vez (inútil en un ordenador con una interfaz gráfica). CP/M-68K podía cargar programas. Eso fue todo.

( Según los estándares modernos, faltaba: un sistema de archivos jerárquico con directorios, redes, administración de memoria, procesos y programación de procesos, una noción de tiempo, primitivas de sincronización y bloqueo, una arquitectura de controlador, gráficos, fuentes, juegos de caracteres). ( A ver si se pilla la idea...)

GEM estaba atornillado en la parte superior de esta base primitiva. Dado que el sistema operativo subyacente no admitía más de una tarea, GEM tenía muchas cosas propias para habilitar cosas como "accesorios de escritorio" que podían funcionar simultáneamente con (digamos) un procesador de texto. Fue bastante torpe.

A ninguno de los programadores de Atari les gustó el CP/M-68K. Entonces, cuando escucharon que alguien en DRI había estado haciendo algo mucho mejor, a pesar de que todavía no había terminado, extraoficialmente dieron el paso.

El equipo de software en Monterey, mientras tanto, tuvo que lidiar con una gran crisis cuando se dieron cuenta que el CP/M-68K simplemente no iba a funcionar correctamente como el sustento de GEM en el ST. Terminaron portando y completando un proyecto abandonado por DRI pero funcionando en el Apple Lisa para crear GEMDOS, o, como se conocería más popularmente, TOS

kildall_portando_gem.jpg


Lo explico, simultáneamente DRI había estado trabajando en el port de GEM a Apple LIsa. De ahí el trabajo hecho por Kildall que luego delegó en su grupo de ingenieros.

GEMDOS comenzó como un proyecto de skunkworks por un ingeniero de DRI que tenía una reputación de ser un canon suelto. GEMDOS tenía un sistema de archivos jerárquico que era compatible con MSDOS; tenía algunas que otras mejoras, pero esta fue la gran cosa. En diciembre de 1984 todavía se estaba escribiendo GEMDOS.

mvc-013f.jpg


Los ST que fueron al show CES en enero de 1985 estaban ejecutando CP/M-68K. A finales de enero, después de un montón de retorcimientos de manos, Leonard Tramiel tomó la decisión de ir con GEMDOS. Lo habían trabajado sustancialmente durante varias semanas, y parecía que iba a estar bien. Cabe destacar que no tenían ningún disco duro para probarlo, por lo que todas las pruebas se realizaron en sistemas basados en disquetes; esto les afectaría más tarde, ya que tuvieron un caos de floppies con fuentes y binarios...

developmentgem.jpg


Diciembre de 1984:

El ST inicia TOS por primera vez.

ces_130st.jpg


Enero de 1985:

ces1985stcpm68k.jpg


CES (con ST corriendo CP/M-68K). Decisión tomada para pasar al nuevo sistema de archivos (GEMDOS).

ces_leo.jpg


Como Atari había proporcionado la mayor parte del desarrollo de la versión de 68K, se les concedieron todos los derechos sobre desarrollos continuados sin necesidad de devolver la licencia inversa a DRI, que aparentemente había perdido interés en la plataforma 68000. Como resultado, la demanda Apple-DRI no se aplicó a las versiones Atari de GEM, y se les permitió mantener una interfaz de usuario más similar a Mac.

520st5.jpg
520st4.jpg
520st3.jpg
520st7.jpg
520st6.jpg



Estaba bastante claro que TOS iba a llegar tarde. Pero tenían el código de arranque funcionando bien, así que pasaron unas semanas haciendo una pequeña ROM de cargador de 16K. Todo lo que hacía era pintar una pantalla colorida, cargar un sector desde un disquete y ejecutarlo. Enviaros las imágenes ROM de arranque sin saber realmente si arrancarían un sistema operativo, pero funcionaron bien.

tosdisk.png
tosdisk.png (11.56 KiB) Visto 432 veces



Lo realmente emocionante fue que en cinco meses mostraron el producto en CES con chips reales, con PCB reales, con monitores reales, con plástico real. Cinco meses antes de eso no había nada que existiera. Estás hablando de herramientas para plástico, estás hablando de hacer una enorme tarea de software. Y cuando fueron al CES, el 85 por ciento de la máquina estaba hecho. Tenían ventanas, tenían todo tipo de cosas. La gente estaba buscando el VAX que ejecutaba todo esto. -507

pce-atari-2-loader.png


Cuando el 520ST hizo su primera aparición en el CES de invierno, era difícil creer que alguien pudiera diseñar un sistema como el 520ST y armar un prototipo en solo unos seis meses, el tiempo transcurrido desde que el ex presidente del Commodore Jack Tramiel había adquirido Atari de su empresa matriz, Warner Communications.

Obligado a recortar de varios miles de empleados a varios cientos, Atari aceleró el desarrollo en el 520ST aprovechando algunas partes ya hechas. El 520ST llegó justo a tiempo para aprovechar el CP/M-68K y el GEM de Digital Research. Esto es importante para comprender la estructura subyacente del 520ST, que ha recibido el apodo de "Jackintosh".

GEMDOS era completamente nuevo. , sin probar, no probado, un sistema operativo incompleto. Sin embargo, también ofrecía un rendimiento significativamente más alto y proporcionaba el sistema de archivos jerárquico completo que CP/M-68K simplemente no tenía. Fue una decisión bastante difícil de tomar, pero consideraron que entraban en la dirección correcta con GEMDOS ".

GEMDOS, aunque no está escrito como un clon de MS-DOS, se modeló en MS-DOS. Existe casi una correspondencia uno a uno entre las llamadas al sistema operativo GEMDOS y las de MS-DOS, y el mecanismo para almacenar archivos en el disco es idéntico, razón por la cual las unidades de disco ST pueden leer discos de IBM.

"Nos dio una conexión con el mundo del PC", dijo Mike Schmal, ingeniero de software y uno de los arquitectos del software de sistema de ST "Con GEMDOS, los programadores entendieron mejor nuestro código. Les dimos la impresión de que ya estaban en su propio terreno, no tenían que aprender los pormenores de un SO completamente nuevo, lo que habría sucedido si hubiéramos escrito el nuestro ".

atari520stc.jpg
(718.94 KiB) No descargado aún


Imagen

Fuentes:

http://mcurrent.name/atarihistory/trame ... ology.html

(Fuentes: On the Edge de Brian Bagnall, New York Times del 3 de julio de 1984, 21 de agosto de 1984 y 29 de agosto de 1984; Montreal Gazette del 12 de julio de 1984 y del 14 de julio de 1984; Compute! De agosto de 1984, febrero de 1985, marzo de 1985). Abril de 1985, julio de 1985, agosto de 1985 y octubre de 1985, ST Art of Summer 1988, InfoWorld del 17 de septiembre de 1984 y 17 de diciembre de 1984, Wall Street Journal del 25 de marzo de 1984, Philadelphia Inquirer del 19 de abril de 1985

y de los terribles recuerdos de Landon Dyer como parte del equipo GEM de Atari

Del Winter Consumer Electronics Show de las Vegas en 1985 no hay muchas imágenes y menos videos... de momento lo poco que he encontrado es esto.

ceswinter8503.png

 

ceswinter8502.png



ceswinter8501.png


Como anécdota, he leído en casi todas las fuentes que para que estos prototipos de 130ST que se mostraron en el CES funcionaran, les tuvieron que doblar la RAM, Los 130 ST solo se mostraron en el CES y este modelo nunca salió al mercado.

130stces85.png



130st2.jpgUna vez que se ha llegado a este punto, es o sería muy interesante focalizar la búsqueda de información tirando del hilo del 130ST....

Casualmente: ftp://ftp.pigwa.net/stuff/mirror/www.at ... 130st.html

130st.jpg


Del número de Atari Explorer de 1985, en donde se presentó la nueva línea de Ordenadores Personales Atari que estaban preparando. Originalmente, la línea ST iba a comenzar con el Atari 130ST con 128K de RAM ordenador de entrada a la familia ST con todos los mismos puertos y características que su hermano mayor, el Atari 520ST que tenía 512K de memoria.

tomorrow.jpg


130st_label.jpg


130ST_bottom.jpg

El Atari 130ST se mostró a un público ansioso y expectante en la feria CES de Las Vegas de enero de 1985. La exhibición se llamaba "Atari Country" y las vallas publicitarias daban la bienvenida a los invitados al centro de convenciones, en donde se mostraban comparativas de precios de cuánto cobraban IBM y Apple por sus sistemas y el "Bienvenido a Atari Country".

El 130ST fue solo una maqueta de epoxy hueca con teclado funcional. La placa madre no encajaba correctamente en la carcasa ya que las aberturas de los puertos y las aberturas laterales aún no estaban terminadas, este caso fue la muestra real de CES que se exhibió en la feria.

... y llegados a este punto, BOMBA !!! ( de atari claro jajaj ), a través de Bob Lash:

Imagen

http://bob-project.bambi.net/atari/atar ... otype.html
Circa August/September 1984

Al parecer uno de los propietarios de uno de los prototipos es Leonard Tramiel, quien tenía pensado donarlo al Computer Museum History Center.

atari_83.jpg


Video Shifter Board

mvc-003f.jpg
520st_proto_shifter_back.jpg

RGB Output

mvc-002f.jpg

OMS

mvc-006f.jpg

CSI Board (Atari Computer System Interface)

mvc-007f.jpg


256K X 32 RAM Development Piggy-Back PC Board mounted to Memory Controller Board

mvc-008f.jpg


Processor Board

mvc-013f.jpg

CPU

mvc-011f.jpg

Otras...

mvc-016f.jpg
mvc-012f.jpg
mvc-010f.jpg

 

mvc-009f.jpgResulta
que los prototipos eran de esta guisa:

atari_130st_3.jpg