[Conseguido] CP/M68K para Atari ST

Avatar de Usuario
ron
Mensajes: 21856
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4754 veces

Re: Intentando ensamblar un CP/M68K para Atari ST

Mensajepor ron » 10 Abr 2018 23:08

Último mensaje de la página anterior:

Estaba haciendo unas pruebas con el cpmsim68k y con el easy68k y a mi la versión 1.2 me funciona perfectamente.
De hecho cambié la fuente de la consola a la de Atari ST y el mockup parece tal cual, así es como lo recuerdo.

mockupcpm68st.jpg
mockupcpm68st.jpg (33.75 KiB) Visto 13557 veces

Avatar de Usuario
FloppySoftware
Mensajes: 226
Registrado: 21 Oct 2016 15:10
Agradecido : 39 veces
Agradecimiento recibido: 63 veces
Contactar:

Re: Intentando ensamblar un CP/M68K para Atari ST

Mensajepor FloppySoftware » 10 Abr 2018 23:34

Interesante proyecto, Ron.

Yo del 68000 no se nada, de Atari menos, y de CP/M-68k, poca cosa.

Lo que recomiendo, a partir de lo que sé de CP/M para 8 bits, es determinar lo que la BIOS (en ROM, supongo) de Atari ofrece, y en base a esto, las características básicas de la BIOS para CP/M.

Es decir, ¿floppy o HD? ¿ambos? ¿terminal a emular, VT52?

A partir de ahí, escribir la BIOS tomando como base una ya realizada y que podamos correr en emulación, por ejemplo, para tomar como modelo.

Si puedo aportar algo, gustosamente lo haré.

Saludos.
Developing software since 1987 - http://www.floppysoftware.es

dancresp
Mensajes: 6225
Registrado: 13 Nov 2010 02:08
Ubicación: Barcelona
Agradecido : 665 veces
Agradecimiento recibido: 1017 veces

Re: Intentando ensamblar un CP/M68K para Atari ST

Mensajepor dancresp » 11 Abr 2018 09:45

ron escribió:Estaba haciendo unas pruebas con el cpmsim68k y con el easy68k y a mi la versión 1.2 me funciona perfectamente.

¿Pero esto es real o una simulación? Parece lo segundo.
Buscando la IP de la W.O.P.R. he encontrado mi índice

Avatar de Usuario
ron
Mensajes: 21856
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4754 veces

Re: Intentando ensamblar un CP/M68K para Atari ST

Mensajepor ron » 11 Abr 2018 10:08

Ya se te iba echando en falta Miguel, gracias por sumarte. Al final aquel hilo del OS del ST no hizo otra cosa que la de abrir la caja de la curiosidad histórica, más allá de lo que normalmente cualquier aficionado no suele plantear, por eso pensé que lo importante era tener claro lo que se necesitaba para echar a andar todo el meollo.

Has dado en el clavo a la primera con el tema de la BIOS, eso es a priori la base de todo. Como bien dices a nivel de cosas estándar la cosa va bien, resulta que el ST y el modo VT52 es la mejor opción para la consola, partiendo que la arquitectura de la máquina va sobrada en todo y encaja sin problema.

De este modo nos quedaría una máquina que tenga soporte de al menos el floppy integrado, lo del HD se puede implementar a posteriori. Mi idea es la de generar una imagen de la versión 1.2 funcionando con lo mínimo requerido. Si funciona con la mínimo ya es cuestión de ir añadiendo funcionalidad, pero vamos, creo que lo suyo es partir de una base mínima. La tenemos.

HE subido más arriba ficheros de BIOS para que tengamos ejemplos de como son, por otro lado disponemos de los fuentes del TOS, pero es que como se puede ver en las capturas de arriba, el código de TOS y el de CP/M68K en cuanto a la parte básica de BIOS son prácticamente clavados. Le cambiaron al código el copyright, de Digital Research 1982 a Atari Corp 1985.

La documentación necesaria esta toda aquí: http://www.cpm.z80.de/drilib.html ( Sección CP/M68K )

¿ Qué tenemos actualmente ?

TOS SYSTEM DISK

Que está formado en origen y embebido en ROM por:
TOS.IMG GEM Desktop, AES, VDI, Gem DOS, y BIOS
DESK1.ACC VT52 Terminal Emulator desk accessory.
DESK2.ACC Control panel desk accessory.


¿ Qué se busca ?

CP/M68K V1.2

Solo necesitamos la BIOS, con los requerimientos mínimos.

Como indicaba floppysoftware: Todo eso se puede leer en este PDF: http://bitsavers.informatik.uni-stuttga ... _Jan83.pdf

A partir de ahí con los fuentes y el Alcyon se puede intentar ensamblar y generar un CPM.SYS, lo bueno es que se puede hacer desde el mismo ST ya que todo lo que se genera es exactamente igual en un sistema que en otro.

Hay otra opción que se podría abordar, basada en ejecutar una BIOS producida desde S-records. Que es lo que yo llamo el método Ferix.

La distribución de CP/M-68K ofrece una forma de ponerlo en marcha sin las herramientas incluidas. incluyendo una imagen del BDOS en formato S-record. Al cargar esto junto con una BIOS rudimentaria en una dirección fija, puede comenzar todo.


Desde Archive.org he podido recuperar los fuentes que usaron para hacer una version que funciona en VAX. Seguramente que tenga los cambios mínimos y nos pueda servir para ver el tema con mas amplitud.

cpm-vax-2006-02-24.tar.gz
(3.6 MiB) Descargado 148 veces


Saludos

Avatar de Usuario
ron
Mensajes: 21856
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4754 veces

Re: Intentando ensamblar un CP/M68K para Atari ST

Mensajepor ron » 11 Abr 2018 10:13

dancresp escribió:
ron escribió:Estaba haciendo unas pruebas con el cpmsim68k y con el easy68k y a mi la versión 1.2 me funciona perfectamente.

¿Pero esto es real o una simulación? Parece lo segundo.


Hola, es la salida del tty en donde ejecuto el CPMSIM68K. Lo he citado en el primer post y es el emu que utilizo para entender todo esto.
Lo puedes descargar y ver su documentación desde aquí.: http://home.earthlink.net/~schultdw/cpm ... lator.html

Para Windows puedes usar el Easy68K, pero aquí hay que usar S-records para hacer boot.

Con esto es que se pueden hacer muchas pruebas y avances.

wallycpm68.png
wallycpm68.png (33.68 KiB) Visto 6280 veces

Avatar de Usuario
FloppySoftware
Mensajes: 226
Registrado: 21 Oct 2016 15:10
Agradecido : 39 veces
Agradecimiento recibido: 63 veces
Contactar:

Re: Intentando ensamblar un CP/M68K para Atari ST

Mensajepor FloppySoftware » 11 Abr 2018 20:23

Información muy útil para el desarrollo del BIOS en CP/M:

http://info-coach.fr/atari/documents/_m ... e-V1.1.pdf

"A Hitchhiker's Guide to the BIOS", the Atari Corp.

Proceso de startup:

Imagen
Developing software since 1987 - http://www.floppysoftware.es

Avatar de Usuario
ron
Mensajes: 21856
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4754 veces

Re: Intentando ensamblar un CP/M68K para Atari ST

Mensajepor ron » 12 Abr 2018 00:40

Perfecto, el diagrama es muy intuitivo.

1984

July: Digital Research and Atari software engineers together commenced work on ports of CP/M-68K, GEM, and Dr. Logo to a new computer hardware platform to be developed at Atari. The Digital Research team, led by engineering project manager Lou Tarnay, would include Steve Schmitt (Dr. Logo), Steve Cavender (GSX and operating systems), Lowell Webster (GEM services and the GEM desktop), and Rich Greco (project architect). (Digital Dialogue Feb85)

August 22: Date of Atari, Corp. OEM Software License Agreement with Digital Research (California) Inc.

August 13: As Commodore International announced their acquisition of Amiga Corporation and plans to release the Amiga computer, Atari filed a suit for fraud against Amiga Corporation in Santa Clara, Calif., Superior Court. According to Leonard Schreiber of Schreiber & McBride, Atari's general counsel, Amiga signed an agreement in March 1984 to develop three microchips for Atari, Inc. Atari, Inc. then advanced the company $500,000. In late June, days before Mr. Tramiel and fellow investors bought the Atari unit from Warner Communications, Amiga canceled the deal and returned the money, saying that the chips did not work. (NYT)

1985

February 14-15: A GEM seminar was conducted for software developers at Digital Research headquarters in Monterey CA. 200 attended; most committed to developing software for the Atari ST. (CN 4/85 p18)

February: Atari TOS developers abandoned the CP/M-68K component for the new GEMDOS, also by Digital Research. (source)

March 30-April 2: At the 10th West Coast Computer Faire at the Moscone Convention Center in San Francisco, The San Leandro Computer Club (SLCC) and the Atari Bay Area User's Computer Society (ABACUS) both displayed 520ST and 130XE units supplied by Atari, their first showing to the general public.

April 17-24: Atari introduced the 520ST and 130XE to West Germany

June 2-5: At the Summer CES in Chicago, Atari and Activenture, a California optical media company formed in 1984 by Gary A. Kildall, founder/chairman of Digital Research, demonstrated a prototype CD-ROM drive (550MB capacity) for the 520ST, along with a CD-ROM with Grolier's Encyclopedia (unnamed at the show) and Facts and Figures retrieval software for the ST. Atari introduced the 260STD ($499; later: 260STFM; never shipped) and announced (but did not show) the 260ST ($399; later: 260STM; never shipped) as the new low-end, "mass market" complements to the 520ST, which was now only to be sold through computer specialty stores. Atari announced that the 520ST was shipping in Canada and Europe, and that the 520ST would ship in large-volume in the U.S. by July 8. While the 260ST/260STD were to include TOS on ROM, 520ST computers were shipping with TOS on disk, with a TOS ROM chip upgrade to be released later. For the XE Atari featured the XM301 modem, introduced The Professional (VIP Software; never shipped), GEM Desktop (VIP Software; never shipped), and Home Astronomer (by Atari/Deltron; would ship as: Atari Planetarium), and featured AtariWriter Plus and Silent Butler.

Estuve intentando buscar alguna pista y poco más que añadir a lo que ya se dijo. Añado la traducción guglística de : Atari ST: the good, the bad, and the ugly. (Outpost: Atari) (evaluation) Sheldon Leemon. CREATIVE COMPUTING VOL. 11, NO. 11 / NOVEMBER 1985 / PAGE 90

https://www.atarimagazines.com/creative ... _the_b.php

Va de un hombre que se compró el Kit de desarrollador de Atari ST y cuenta de que iba la movida...

El kit estaba compuesto por un 520ST, dos unidades de disco de 360K externas de simple cara, y dos monitores, uno B&N y otro a color.

Desafortunadamente, la sensación de euforia no duró mucho, ya que me di cuenta de que no tenía forma de poner el ST a prueba. El único software que tenía era Logo, una versión tan lenta que me preguntaba si el intérprete estaba escrito en Logo. El hecho de que había pagado los $ 1700 para comprar el paquete del desarrollador difícilmente me hizo sentir mejor que el comprador promedio. Aunque el paquete incluía un software de desarrollo como compilador y compilador de C, era esencialmente inútil, ya que el fabricante debía enviar el editor de textos necesario para escribir los programas más tarde, al parecer, mucho más tarde, ya que seis semanas después consiguiendo la máquina, todavía estoy esperando).

Además, la célebre pila de 6 " de documentación que viene con el paquete de desarrollo resultó contener más pistas que respuestas. La mayor parte del material consistía principalmente en fotocopias de documentación de Digital Research que, aunque de alguna manera relacionadas con la máquina, de ninguna manera eran específico de ST. Estos incluían un manual de CP/M68K y el manual completo para desarrollo bajo GEM en el PC de IBM. Solo unas pocas páginas de la documentación provenían de Atari, incluyendo algún material incompleto sobre las rutinas de la BIOS, el teclado, códigos de impresora , y un código fuente que enumera el arranque de las ROM . De las aproximadamente 1500 páginas incluidas, se dedicó más material al programa de transferencia de archivos del protocolo Kermit (250 páginas) que al ST.

Con tales modestas herramientas de desarrollo disponibles, no es de extrañar que los programas de aplicación no estuvieran listos para los primeros compradores de la máquina. Es una verdadera lástima, porque al ver la velocidad con la que se ejecutaba el escritorio GEM, tuve una idea. Si GEM corriera a la velocidad de PC AT en el ST, ¿cómo se agruparían programas como GEM Write y GEM Draw en el ST en comparación con las versiones del mismo software que se ejecutan en el AT? Y si el ST ejecutaba aplicaciones a velocidad AT, ¿qué diferencia real en potencia potencial de computación habría entre el sistema ST $ 1500 con un disco duro y el sistema AT $ 5000?

Aunque puede ser que la falta de software me haya vuelto filosófico, no puedo evitar la sensación de que si Atari hubiera organizado estas aplicaciones con las máquinas (o incluso las hubiera entregado a los distribuidores), muchos compradores podrían hacerse con la cabeza comparaciones que les harían formular algunas preguntas filosóficas serias (¿por qué el cielo es azul grande?).

Al final, me vi obligado a descubrir hechos extraños sobre el ST. Por ejemplo, ¿sabía usted que, aunque el conjunto de caracteres ST se ajusta bastante al ASCII extendido utilizado en la PC de IBM, también incluye los caracteres del logotipo de Atari, todo el alfabeto hebreo y la imagen de un hombre fumando una pipa? Algunas personas dicen que la imagen del hombre se parece al mismo Jack Tramiel, fumando un cigarro, pero creo que se parece más a Hugh Hefner. Al escribir en los programas de Logo en el Listado 1, puede decidir por usted mismo.

Avatar de Usuario
ron
Mensajes: 21856
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4754 veces

Re: Intentando ensamblar un CP/M68K para Atari ST

Mensajepor ron » 12 Abr 2018 01:13

De la revista chilena PanoramaBits/PanoramaBitsNo98
http://www.atariware.cl/shamus/escaneos ... -print.pdf

origenes001rw.png
origenes001rw.png (105.66 KiB) Visto 6224 veces

Avatar de Usuario
ron
Mensajes: 21856
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4754 veces

Re: Intentando ensamblar un CP/M68K para Atari ST

Mensajepor ron » 12 Abr 2018 22:52

Tras ver el estado de como puede salir o quedar esto y antes de lanzarse a decir si se va a hacer una bios o lo que fuera menester, voy a tomar el ejemplo del GEMDOS para Apple LISA, este me ha ofrecido unas pistas muy concretas.

GemDOS para LISA: http://www.alternative-system.com/?page ... sa&lang=EN

Básicamente....

lisgemrw.png
lisgemrw.png (74.33 KiB) Visto 6186 veces

La ventana inferior corresponde al idle, que es el emu de Lisa, en la superior como se ve el Hatari 2.1-

Si nos fijamos, cuando el se arranca en Lisa, directamente nos salta al prompt del sistema... ¿ pero que sistema ? <--- luego seguimos

He comprobado lo del CP/M68K en su versión de Atari y es correcto. Por decirlo de alguna manera:

In September 1984, Atari sent most of its software engineers down to Digital Research's facilities in Monterey, California, to begin the port of GEM. The software group lived there for most of the following four months, some staying on longer. Their task was to translate Digital's IBM PC assembly code, written for the 8086 microprocessor, into 68000 code, and also to rewrite and recompile Digital's C code on the ST system.

It was a monstrous task. Dave Staugas, who ported the text blit and later wrote the ST's NEOchrome paint program, remembers that time: "The killer was that Digital Research would give me this 8086 code and say, 'Translate this,' and then a week later they'd say, 'Oh, there were a lot of bugs in that, here's the new one.' I never really had a spec. The latest code was the spec."

Miraculously, by the beginning of January 1985 all the pieces began to come together. Atari officials realized they would meet the CES deadline, and they did: they shipped five STs to Las Vegas, with GEM still running on top of CP/M-68K.

For Shivji, this was the climactic, energizing moment: "The really exciting thing was that in five months we actually showed the product at CES with real chips, with real PCBs, with real monitors, with real plastic. Five months previous to that there was nothing that existed. You're talking about tooling for plastic, you're talking about getting an enormous software task done. And when we went to CES, 85 percent of the machine was done. We had windows, we had all kinds of stuff. People were looking for the VAX that was running all this stuff."


Entonces, desde LISA

lisa10gemrw.png
lisa10gemrw.png (14.52 KiB) Visto 6186 veces


Y según la info que tenemos, parece que concuerda:

The only version of GEMDOS for the Lisa that I know of is dated 15th August 1985, a few months after Intel GEM/1 was released, so that's quite consistent with being a port of the 8086 version.

Casualmente la fecha de la consola del LISA es del día siguiente.

En el ST si se van mirando las versiones, van a la par en cuanto a fechas.

stgemdosver.png
stgemdosver.png (17.13 KiB) Visto 6186 veces


Ahora retomo lo de, ¿ qué sistema ?

Se trata de un PORT de GEMDOS, no hay duda. Pensé en primera instancia que se trataba del CP/M68K con el GEM encima, como las versiones de desarrollo del ST, pero no.

Aquí vemos claramente que un disquete de arranque está hecho de 3 "archivos"

GEMDOSFI.SYS es el sistema operativo en un solo archivo.
COMMAND.PRG es un intérprete de comandos de modo de texto en un formato ejecutable GEMDOS, esta ejecución binaria como en el hardware de atari ST
SFBOOT.ABS es el sector de arranque

La creación del disco de arranque se hace mediante el siguiente procedimiento:
* formatear un disco GEMDOS
* copiar el archivo OS (GEMDOSFI.SYS)
* copiar el intérprete de comandos copy.prg
* instalar sector de arranque
* enlazar el archivo OS al bootsector ( un gestor de arranque no puede leer un sistema de archivos, por lo que algún tipo de tabla de sector debe escribirse en el sector de inicio mismo o en los sectores siguientes )
* hacer que el sector de arranque se ponga en marcha (es decir, un valor TAG especial para Apple Lisa).

El comando PUTBOOT (inlined en command.prg) debería hacer los últimos 3 pasos de este procedimiento ...

GEMDOS filesystem is FAT12 with minor variations.

Aquí en este ZIP todas las herramientas y todo lo usado para generar el sistema y el disco para Lisa.
gemdos_tool.zip
(436.36 KiB) Descargado 199 veces

Avatar de Usuario
ron
Mensajes: 21856
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4754 veces

Re: Intentando ensamblar un CP/M68K para Atari ST

Mensajepor ron » 12 Abr 2018 22:55

... ¿ y porqué toda la chapa de antes ?

Porque todos los programas que hay en LISA funcionan perfectamente en Atari ST, tanto en CONSOLA como en GEM.

Comprobado

finalmentefunciona.png
finalmentefunciona.png (57.82 KiB) Visto 6185 veces


gemvdidellisaenst.png
gemvdidellisaenst.png (86.6 KiB) Visto 6183 veces

Avatar de Usuario
ron
Mensajes: 21856
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4754 veces

Re: Intentando ensamblar un CP/M68K para Atari ST

Mensajepor ron » 12 Abr 2018 23:07

http://www.dadhacker.com/blog/?p=1000

Before the ST hardware started to work, we had to use existing 68000-based systems for cross development. The graphics guys had Apple Lisas that were running CP/M-68K; the Lisas had nice bitmap displays which we used as “practice” STs. The disks on these machines took forever to come back after a crash (tens of minutes). For some reason the boot code on these machines had been written to display a bitmap of a fish. You’d hear a mutter or curse from down the hall (crash), then the creaky footsteps of someone walking around, cooling their heels and waiting for their “God damned” Lisa Profile drives to boot, then a triumphant yell “CarpDOS!” and typing sounds.

The BIOS/OS guys had some Motorola VME-10 workstations that were (ahem) “Unix Ready!” (the boxes they came in said so, in large, proud letters) but instead we had them running CP/M-68K, and I’m sure they felt sad inside; I know I did. The VME-10 systems were very flaky; my own system died and needed repairs three times in six months. (A year and a half later, Gary Tramiel, the son who was heading the financial arm of Atari, asked us if we were still using the VME systems. By then we had moved all our development over to the ST itself, and the VMEs were gathering dust in a corner. “Hell no,” I said. “Fine,” said Gary, “Then we won’t pay the repair bill.” A good lesson in the Tramiel school of start-up economics).

CP/M-68K was an “Operating System” that had its roots in the 70s. About ten years earlier Gary Kildall had worked on some DEC PDP-11 systems, liked them, and had been inspired to write a small OS for the very early 8080-based microcomputers. For years CP/M had been a defacto standard. Gary had started a company called Inter-Galactic Digital Research to further develop and market it. MSDOS had only been out for a couple of years, and DRI (renamed — sensibly losing the Intergalatic bit so that people, especially conversative suit-types, would take them more seriously) was vying for market share with a port of CP/M to the 8086, the CPU of the IBM-PC.

CP/M-68K was a port the 68000, and was the OS that the Tramiels had contracted for.

CP/M (in any of its variants) didn’t really do a whole lot. There was a simple flat file system. There was some character-at-a-time console output (useless on a computer with a graphical interface). And CP/M could load and programs. That was about it. (By modern standards it was missing: A heirarchical file system with directories, networking, memory management, processes and process scheduling, a notion of time, synchronization and locking primitives, a driver architecture, graphics, fonts, character sets . . . you get the idea).

GEM was was bolted on top of this primitive base. Since the underlying OS didn’t support more than one task, GEM had a lot of its own stuff to enable things like “desk accessories” that could run concurrently with (say) a word processor. It was pretty clunky.

None of us liked CP/M-68K. So when we heard that someone at DRI had been doing something much better, even though it was still unfinished, we unofficially jumped at it. GEMDOS started as a skunkworks project by a DRI engineer who had a reputation for being a loose canon. GEMDOS had a heirarchical file system that was compatible with MSDOS; it had a few other improvements, but this was the biggie. But in December 1984 GEMDOS was still being written.

The STs that went to the CES show were running CP/M-68K. In late January, after a bunch of hand-wringing, Leonard Tramiel made the decision to go with GEMDOS. We’d had it substantially working for several weeks, and it looked like it was going to be fine. Notably we did not have any hard disks to try it out on, so all of our testing was done on floppy disk based systems — this would come back to hit us hard later.

Avatar de Usuario
Solderboy
Mensajes: 112
Registrado: 28 Feb 2018 19:45
Ubicación: En la tierra de los olivos
Agradecido : 23 veces
Agradecimiento recibido: 60 veces

Re: Intentando ensamblar un CP/M68K para Atari ST

Mensajepor Solderboy » 18 Abr 2018 21:40

ron escribió:... ¿ y porqué toda la chapa de antes ?

Porque todos los programas que hay en LISA funcionan perfectamente en Atari ST, tanto en CONSOLA como en GEM.


¡Ay madre mía! Tan pronto como le cambie el micro al STE (para arreglar lo del DMA maldito), e instale la Ultrasatán, me pongo a pico y pala a probar soft del Lisa.
Usar en un sistema retro soft de otro sistema más retro aún tiene un regustillo que me pone a cien -507

Avatar de Usuario
ron
Mensajes: 21856
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4754 veces

Re: Intentando ensamblar un CP/M68K para Atari ST

Mensajepor ron » 18 Abr 2018 22:48

NO no no, puedes ejecutar todo el software que sea GEMDOS de Atari ST en Lisa y VIceversa, pero solo GEMDOS, es decir las apps nativas de Lisa se quedan en Lisa Office o Lisa OS.

Las apps gem de ST en Lisa No suenan y solo funcionan en monocromo.

Avatar de Usuario
ron
Mensajes: 21856
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4754 veces

Re: Intentando ensamblar un CP/M68K para Atari ST

Mensajepor ron » 21 May 2018 21:10

He tenido tiempo de repasar los repositorios de ST y he dado con esto:

https://github.com/ggnkua/Atari_ST_Sources.git

Ya lo hemos explicado en otros hilos de Atari ST, es un repositorio de source para ST, en pocas palabras, fantástico.

Concretamente en este path: https://github.com/ggnkua/Atari_ST_Sour ... arch%20Inc os lleva como no podía ser de otra manera a Digital Research Incoporated, y voilá, aparece gran parte del material que no hace mucho os pedía, por si acaso aparecían.

No es que haya aparecido concretamente el CP/M68K, jajaa, que más quisiéramos, pero si mucho material que a buen seguro ayuda, y eso que no lo he terminado de mirar... promete y mucho. Por cierto ese repo ha crecido y bastante. Saludos

Avatar de Usuario
ron
Mensajes: 21856
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4754 veces

Re: Intentando ensamblar un CP/M68K para Atari ST

Mensajepor ron » 12 Jul 2018 13:34

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
vme10.png (91.21 KiB) Visto 5727 veces


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
kildall_portando_gem.jpg (58.95 KiB) Visto 5727 veces


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
mvc-013f.jpg (80.17 KiB) Visto 5681 veces


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
developmentgem.jpg (44.19 KiB) Visto 5727 veces


Diciembre de 1984:

El ST inicia TOS por primera vez.

ces_130st.jpg
ces_130st.jpg (46.97 KiB) Visto 5727 veces


Enero de 1985:

ces1985stcpm68k.jpg
ces1985stcpm68k.jpg (95.69 KiB) Visto 5727 veces


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

ces_leo.jpg
ces_leo.jpg (55.81 KiB) Visto 5727 veces


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
520st5.jpg (71.09 KiB) Visto 5727 veces
520st4.jpg
520st4.jpg (45.48 KiB) Visto 5727 veces
520st3.jpg
520st3.jpg (63.68 KiB) Visto 5727 veces
520st7.jpg
520st7.jpg (66.09 KiB) Visto 5727 veces
520st6.jpg
520st6.jpg (68.87 KiB) Visto 5727 veces


Estaba bastante claro que TOS iba a llegar tarde. Pero teníans 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 (101.35 KiB) Visto 5727 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
pce-atari-2-loader.png (117.61 KiB) Visto 5681 veces


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
atari520stc.jpg (94.17 KiB) Visto 5280 veces

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

Avatar de Usuario
ron
Mensajes: 21856
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4754 veces

Re: Intentando ensamblar un CP/M68K para Atari ST

Mensajepor ron » 12 Jul 2018 17:11

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
ceswinter8503.png (77.84 KiB) Visto 5689 veces


ceswinter8502.png
ceswinter8502.png (63.29 KiB) Visto 5689 veces


ceswinter8501.png
ceswinter8501.png (53.94 KiB) Visto 5689 veces


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
130stces85.png (47 KiB) Visto 5678 veces


130st2.jpg
130st2.jpg (97.49 KiB) Visto 5677 veces

Avatar de Usuario
ron
Mensajes: 21856
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4754 veces

Re: Intentando ensamblar un CP/M68K para Atari ST

Mensajepor ron » 31 Jul 2018 12:47

Saliendo finalmente de la espiral histórica de los Tramiel y sus ST, además de tener muchos datos y cosas muy concretas es momento de ir preparando las alternativas. De momento esas alternativas a SIMH son pocas, el Sage 2 aún no hace boot de floppy en MESS, el VME10 no fona, les pasa lo mismo a muchos ordenadores M68K y se me ocurrió lo de la tarjeta 68K...

No se si recordáis que el NCR Decisión Mate V, tiene la posibilidad de tener tarjetas de CPU pinchadas en los slots de expansión, como la i8086 o la MC68008. Así que me puse a especular con la configuración a ver si podía sacar algo...

La ranura 1 está reservada para módulos de extensión RAM (64K, 192K y 448K)
La ranura 7 ( y la 7A orientadas hacia dentro ) están reservadas para los módulos de CPU y el módulo de Diagnósticos.

Pero la tarjeta no es un MC68000, es un MC68008... en pocas palabras, el mismo micro que lleva un Sinclair QL, lo cual deja ver que nivel binario son totalmente compatibles y que con una controladora de disco y la BIOS adecuada este mismo CP/M68K se podría hacer boot en un QL.

Y vi en el manual este detalle:

K230 Internal 8088 module without interrupt controller:
If this module is installed together with K234, CP/M-68K will not boot.


Pues para que esperar....

ncr68k01.png
ncr68k01.png (64.6 KiB) Visto 11899 veces


stay tuned !!!! -rofl -507


Volver a “Atari ST”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 2 invitados