una tutorial tarjetas tag soportada poner para movil grabar etiqueta donde conseguir configurar como chip casero aplicaciones amiga
http://dl.dropbox.com/u/2920309/BEF-win32.zip

tutorial - ¿Cómo codifico y compilo una aplicación Amiga?



tag casero (14)

Me gustaría programar una aplicación para el Amiga, ¡solo por diversión!

Por favor, ¿podría alguien publicar un paso a paso cómo basado en lo siguiente?

  • Exactamente qué herramientas de programación debería usar, ¿hay alguna ya instalada?
  • ¿Estoy limitado a editores de texto sin formato, o hay IDEs y herramientas de depuración disponibles?
  • Si no hay herramientas ya instaladas, ¿cómo se puede hacer esto? ¿Hay alguno gratis?
  • Me gustaría aprender un idioma tradicional de Amiga, ¿podría recomendar uno?
  • ¿Qué debería usar para compilar el idioma que sugieres?
  • ¿Podría sugerir herramientas que pueda usar para depurar el lenguaje sugerido?
  • ¿Hay alguna biblioteca que deba tener en cuenta, como las bibliotecas de GUI?

Algunas cosas para tener en cuenta ...

  • Estoy ejecutando Workbench 3.1 desde dentro del emulador WinUAE.
  • Desde Workbench, puedo acceder a archivos desde mi disco duro de Windows.
  • Me gustaría codificar y compilarlo desde Workbench si es posible.
  • Estoy ejecutando WinUAE en modo A1200, no estoy seguro si eso importa.
  • Ya hay una aplicación instalada llamada MEmacs.
  • Sé C ++ y C # muy bien, tal vez haya un lenguaje Amiga similar.
  • Soy consciente de que puedes codificar con C y C ++, pero quiero aprender un nuevo idioma.

Actualizar:

He respondido mi propia pregunta, pero aporten más respuestas ya que pretendo extender mi respuesta. Gracias a todos los que han contribuido hasta ahora, ¡has sido muy útil!


Exactamente qué herramientas de programación debería usar, ¿hay alguna ya instalada?

Basic y AREXX fueron los únicos idiomas que llegaron preempaquetados, e incluso entonces, BASIC vino en dos dialectos (ABasic y AmigaBasic). Deberá consultar la colección Fred Fish o AmiNet para obtener más herramientas.

Para comprar compiladores comerciales, pruebe el CD de Amiga Developers que está disponible en Vesalia Online, aunque puede haber otros.

¿Estoy limitado a editores de texto sin formato, o hay IDEs y herramientas de depuración disponibles?

Ya ha vuelto al ciclo edit-save-compile-link-run-crash-whycrash-doh-fixit-edit, los IDE no están disponibles. Me gustaría ver algo como DME (Macro Editor de Dillon), también disponible en la colección Fred Fish o AmiNet ( http://wuarchive.wustl.edu/pub/aminet/ ). Proporciona algunas instalaciones básicas de construcción macro que ayudarán.

Si no hay herramientas ya instaladas, ¿cómo se puede hacer esto? ¿Hay alguno gratis?

Sí. Nuevamente, Fred Fish, o AmiNet.

Me gustaría aprender un idioma tradicional de Amiga, ¿podría recomendar uno?

Draco. Fue escrito por Chris Gray. Es un poco "primitivo", pero debe proporcionarle todo lo que necesita para ponerse en marcha, incluidos los enlaces y constantes adecuados. El lenguaje está compilado y se ejecuta a velocidades comparables a C.

¿Qué debería usar para compilar el idioma que sugieres?

Manx o Lattice C fueron los compiladores de C de la época (si puedes encontrarlos, buena suerte), con Manx tendiendo hacia 16bit y Lattice hacia 32bit. Hubo unos pocos compiladores minúsculos basados ​​en C. Hay un ensamblaje de 68k (un conjunto de instrucciones neato en mi humilde opinión), Draco, un dialecto pascal, posiblemente Modula-2, así como DICE (un compilador de C gratuito, pero estás buscando algo más) ...

¿Podría sugerir herramientas que pueda usar para depurar el lenguaje sugerido?

Una vez más, las herramientas comerciales son muy pocas, tendrás que buscar en los archivos de dominio público para encontrar algo.

¿Hay alguna biblioteca que deba tener en cuenta, como las bibliotecas de GUI?

Todas las bibliotecas están integradas. Intuition.library es el nombre de la biblioteca que proporciona soporte básico para ventanas. gfx.library le proporcionará primitivas de alto nivel, y layers.library le proporcionará soporte para entregar el enfoque único de plano de bits a los gráficos. Antes de llegar tan lejos, querrá mirar al exec , que era el corazón y el alma del sistema operativo. Proporciona multitareas preferentes, primitivas de listas vinculadas incorporadas, primitivas de paso de mensajes, primitivas de IO, etc., y se volvió a utilizar en gran medida en todo el sistema. Si comprende al ejecutivo, comprenderá las entrañas de bajo nivel del resto del sistema.

Tenga en cuenta que el estado del sistema se parecerá más a una consola de juegos integrada, ya que no habrá protección de memoria, soporte SMP, etc. Todas estas cosas no podrían agregarse fácilmente debido a restricciones de diseño que se introdujeron justo antes del primero enviado Amiga. Parece recordar que el problema radicaba en cómo manejaría múltiples procesadores y la protección de la memoria dado que todo el microkernel se ejecuta en un modo de CPU que no es priv.

Por último, pero no menos importante, el número mágico es 4, que es una dirección de memoria. Esa dirección es el puntero del ejecutor (que no es solo un microkernel sino también una biblioteca) y con él puede iniciarse en el resto del sistema a través de llamadas OpenLibrary (). Las bibliotecas que no se pudieron ubicar se cargarán automáticamente desde el disco a través de AmigaDOS. Así es como Amiga se ocupó del tema del código portátil: todo el código se escribió utilizando desplazamientos en un puntero a la "base" de una biblioteca y no había direcciones fijas, excepto la dirección 4. Cada biblioteca tiene una tabla de llamadas de 6 bytes por entrada (una instrucción de salto) que luego se convierte en el punto de entrada correcto. Fue fácil escribir su propia biblioteca, siempre que tuviera el formato correcto para su "encabezado". Los controladores de dispositivos "tomaron prestada" la estructura de las bibliotecas y utilizaron el mismo concepto para proporcionar controladores de E / S predeterminados.

Lo siento si los nombres son un poco incorrectos, esta información está fuera de mi cabeza desde hace casi 20 años ...

Puede haber otras vías de información. Alguien hizo un esfuerzo con una wiki y con algunas búsquedas estoy seguro de que puedes descubrir aún más.

Algunas cosas para tener en cuenta ...

Estoy ejecutando Workbench 3.1 desde dentro del emulador WinUAE.

Guay. Estas listo. Ese fue el último gran banco de trabajo "clásico".

Desde Workbench, puedo acceder a archivos desde mi disco duro de Windows.

Te ayudará, pero querrás ser "nativo" tanto como sea posible.

Me gustaría codificar y compilarlo desde Workbench si es posible.

Véase más arriba.

Estoy ejecutando WinUAE en modo A1200, no estoy seguro si eso importa.

Es el modelo de hardware que estás emulando; era una máquina de buen presupuesto, pero trate de configurarla para A3000 si es posible, esa era una buena máquina de gama alta antes de que Commodore tuviera problemas.

Ya hay una aplicación instalada llamada MEmacs.

Inténtalo, si Emacs es lo tuyo ... de lo contrario, miraría algunas de las herramientas nativas.

conozco muy bien C ++ y C #, tal vez haya un lenguaje Amiga similar. Soy consciente de que puedes codificar con C y C ++, pero quiero aprender un nuevo idioma.

Entonces Draco es para ti. Tiene la mayoría de los enlaces para bibliotecas, compila limpiamente y oficialmente es un lenguaje "muerto" dado que está vinculado a una plataforma de hardware específica. Muy específico de Amiga. :)

¡Buena suerte! Que todos sepan cómo resultó ...


Nota: no se deje posponer para responder; este es un hilo continuo
Gracias por todas sus respuestas hasta el momento :-)

Pasé unos días descubriéndolo. Estas instrucciones son para AMOS Pro, no dude en publicar su propia respuesta para un idioma diferente o actualizar esta respuesta (es una wiki de la comunidad).

Instrucciones del banco de trabajo:

  1. Instale Amiga Forever 2008 (la versión plus incluye Workbench 3.1).
  2. Use Amiga Forever o WinUAE como emulador (prefiero WinUAE).
  3. Instale Amiga Workbench 3.1 en un disco duro personalizado .
  4. Si usa WinUEA, solo use el archivo de configuración af_3x (instalado con Amiga Forever).
  5. Familiarícese con Workbench y el Amiga Shell (ver recursos ).

AMOS Pro Instrucciones:

AMOS Pro es un IDE que se parece un poco a algo de una vieja película de hackers, y además puedes activar esos sonidos irritantes que escuchas en las películas. ¿No es genial? De todos modos, en el howto ...

  1. Adquiera los discos para AMOSPro (hay 6 discos en total en v2.00).
  2. Inserte el disco AMOSPro_System e instale AMOS Pro según las instrucciones .
  3. Una vez instalado, abra el directorio AMOS_Pro y ejecute AMOSPro.
  4. Si no conoce AMOS, aprenda algunos conceptos básicos de codificación de AMOS .
  5. Escriba: Print "Hello world!"
  6. Presione F1 para ejecutar (hace lo mismo que el triángulo rojo a la derecha del logotipo de AMOS).
  7. Rejoyce como "Hello world!" aparece en texto blanco sobre fondo naranja.
  8. TODO: descubra cómo compilar esto como un archivo binario (?) Que se puede ejecutar desde Workbench.

AMOS Pro: ¡Hola mundo! http://img7.imageshack.us/img7/7867/001tpe.png

Aquí hay algunos códigos AMOS más por diversión.

Input "Who are you? ";S2$ S1$="Oh, hello " S3$=", nice to see you!" Print S1$+S2$+S3$

Consejos Amiga:

  • [Amiga a la izquierda] es la tecla de Windows , [Amiga a la derecha] es la tecla del Menú de contexto .
  • Presione [Amiga izquierda] + A para cambiar entre AMOS Pro y Workbench.
  • La clave británica [@ ''] produce el carácter # o @ (shift).
  • La clave británica [~ #] produce el / o | (cambio) personaje.
  • La ] key produces either the '' or ~ (shift) or] key produces either the '' or ~ (shift) or británica ] key produces either the '' or ~ (shift) or (alt).

Recursos:

* No es necesario cuando se usa la configuración de WinUAE Amiga Forever (af_3x).

QUE HACER:

Trataré de hacer un howto para cada idioma de la siguiente manera.


AMOS, como se mencionó anteriormente, es un dialecto básico bastante decente, aunque probablemente vería Blitz Basic en su lugar. O ensamblaje recto de 68k usando Asm-ONE, por supuesto. Asm-One es un tipo de IDE, pero no esperes herramientas de soporte de nivel de Visual Studio.

SAS / C fue mi arma preferida en la plataforma Amiga, aunque también hay puertos de otros compiladores C.


Ciertamente deberías usar un emulador: una PC moderna con UAE es un mundo aparte de un A1200. Puede ejecutar con una buena resolución de pantalla alta y órdenes de rendimiento de CPU de una magnitud más rápida (si desea que sea más rápido, por supuesto, todo es opcional). Ah, y puede acceder al hardware de la PC a través de las bibliotecas Amiga proporcionadas por el emulador si lo desea.

Los manuales de referencia de Amiga serían el lugar para comenzar si desea acceder al ''hardware''. Devpac fue el ensamblador elegido por la mayoría de las personas.

Hubo algunos compiladores de C y al menos un compilador de C ++, SAS / C. Aquí hay enlaces a algunos compiladores de Amiga más

Si está buscando aprender un nuevo idioma, Modula-2 podría ser una opción, pero realmente C era el idioma de elección para la mayoría de las personas. El sistema operativo en sí fue escrito en C (al menos desde 2.0 en adelante - BCPL antes de eso), y todas las bibliotecas tenían encabezados en C provistos para acceder a ellos.

El lenguaje ensamblador también era muy popular para juegos y demostraciones, y personalmente puedo afirmar que es muy divertido. Buenos libros para esto:

  • Manual de referencia del programador de Motorola para 68k-68040, el libro más completo sobre el conjunto de instrucciones. Disponible de forma gratuita para descargar here
  • Amiga Hardware Reference Manual, para obtener una lista completa de todos los registros de hardware, cómo funcionan y cómo usarlos. Copias viejas a la venta here

Otra opción divertida podría ser el lenguaje de scripts ARexx bastante poderoso. Podría hacer bastante con esto, como controlar otras aplicaciones a través de su ''puerto ARexx'' para obtener acceso a su funcionalidad. Mucho más alto nivel que las otras opciones, pero es bastante fácil hacerlo para hacer cosas interesantes.


El primer paso, compra uno de these .

Paso dos, compre uno de these e instálelo.

(También es posible que deba esperar a que se invente uno de these ).

Paso tres, obtenga hasta 88 millas por hora.


Esta tiene que ser la pregunta más extraña y al mismo tiempo bastante inspiradora.

Perdóname, como ex desarrollador de Amiga, me he rendido en la plataforma. La idea de escribir algo ahora es, para mí, bastante abstracta.

Sin embargo, el deber vinculado a una plataforma que una vez que creí que podría ser el número uno, debo responder diligentemente a sus preguntas.

Herramientas de programación; ya sea ensamblador 68k o C con SAS / C

Personalmente siempre utilicé CygnusEd para edtting, y no sé de ningún IDE. Creo que SAS / C tenía algún tipo de IDE nebuloso, pero no puedo estar seguro ya que solo usé el depurador de nivel de fuente (una cosa muy nueva en ese momento para mí).

En términos de herramientas gratuitas, participé en la creación de GCC y bibliotecas en Amiga, pero no tengo idea de lo que sucedió con este proyecto. Probablemente haya algo en mi A3000 en el granero, pero hay pocas razones para descubrirlo.

El único lenguaje Amiga tradicional es el ensamblador nativo 68k. Pero puede hacer mucho con C siempre que haya leído las 15 "de RKM en detalle.

Por cierto Amos era basura. Un juguete en su tiempo.

Para depurar, solo he usado SAS / C (o Lattice como se lo conocía formalmente).

¿Hay alguna biblioteca que deba tener en cuenta, como las bibliotecas de GUI?

Un montón. Para codificar de manera efectiva en el Amiga, realmente debe haber aprendido cómo muchas cosas sobre las capas del sistema operativo se mantienen juntas. En ese momento, este era el mayor obstáculo previo a Internet, cuando la información y el conocimiento eran mucho más difíciles de conseguir.

Workbench 3.1 es el primero de los mejores. Podría aburrirte con los detalles si solo pudiera recordarlos.

El lenguaje Amiga más similar a C ++ es C, y conocer C solo te proporcionará una pequeña parte del camino, ya que el diablo está en el detalle de las llamadas / bibliotecas del sistema.

Si quieres aprender un idioma nuevo, quizás no elijas una plataforma casi muerta. Si tuviera tiempo, estaría aprendiendo lua.

Amos sigue siendo basura, incluso ahora.


Estoy seguro de que puedes encontrar un emulador como lo mencionaron otras personas, pero quería agregar que Modula-2 era bastante popular entre los programadores de Amiga.


Existe el Amiga Developer CD 2.1 que contiene todo lo necesario: todos los SDK (incluidos los clásicos para 1.3, 2.0 y 3.1, y el más nuevo para 3.5 que también se pueden usar en 3.9 según mi conocimiento) y un adecuado 68k C- Compilador.

Aún está disponible para algunos proveedores, y recuerdo haber escrito algunas cosas con él. Es C, por lo que debería ser bastante directo.

Sin embargo, no es compatible con AmigaOS4, pero una vez más, Workbench 3.1 fue el último AmigaOS real.


Fui programador de Amiga durante un tiempo y utilicé 68k Assembly Language exclusivamente. Los manuales de referencia de Amiga fueron las biblias e indispensables. En cuanto a los programas divertidos, sospecho que la mayoría han sido ejecutados hasta la muerte en el Amiga ... solo busca cualquier idea que tengas y estoy seguro de que encontrarás un fragmento de código existente.

Jugar con el blitter siempre fue divertido para mí, pero esa es el área en la que estaba trabajando de todos modos.


Había una gran herramienta de programación para Amigas que tenía el mismo nombre que alguien en la Biblia ...

AMOS

Eso fue todo.


No olvide ARexx que viene con la mayoría de las instalaciones de Amiga. Es un lenguaje verdaderamente maravilloso, sorprendentemente legible y fácil de escribir. La mayoría de las aplicaciones existentes en el Amiga tienen ganchos para ARexx, por lo que puede improvisar aplicaciones más grandes de muchas más pequeñas con bastante facilidad y eficacia. Uno de mis aspectos favoritos de ARexx es su versátil manejo de cadenas. A pesar de que es un lenguaje interpretado, es sorprendentemente rápido, especialmente si aprovechó su conexión con otros programas para hacer cosas de bajo nivel.


Oye, si quieres hacer la programación de Amiga por diversión, hay una NUEVA pieza de software que sacudirá tu mundo:

Hollywood 4.5 de Airsoft Softwair

Es un lenguaje muy fácil y divertido, principalmente dirigido a presentaciones multimedia. Es un lenguaje de scripting, basado en la sintaxis de Lua, pero también me recuerda un poco al viejo y buen Amos debido a sus muchas y poderosas funciones gfx y de sonido. Es muy fácil de usar, viene con una excelente documentación y muchos ejemplos. Además, es multiplataforma, el intérprete / compilador funciona en todas las diferentes plataformas Amiga (incluido OS 3.1, AROS, MorphOS ...), y los scripts compilados terminados incluso se ejecutan sin esfuerzo tanto en Windows como en Mac OS X.

Puede que le resulte un poco caro a 89 euros, pero puedo decirle que vale la pena la inversión, si desea tener programación divertida, y ¡no he visto nada igual en ninguna otra plataforma!

Es posible que desee probar una de mis creaciones :-). Es un juego de lucha con actores reales, se realiza en Hollywood y la versión de Windows se puede descargar aquí:

http://dl.dropbox.com/u/2920309/BEF-win32.zip