我如何编码和编译Amiga应用程序?

我想编一个Amiga的应用程序,只是为了好玩!

请有人可以一步一步发布如何基于以下?

  • 到底什么编程工具,我应该使用,有没有已经安装?
  • 我仅限于纯文本编辑器,还是有IDE和debugging工具吗?
  • 如果没有安装工具,那怎么办? 有免费的吗?
  • 我想学习一种传统的Amiga语言,你能推荐一个吗?
  • 我应该用什么来编译你所build议的语言?
  • 请你能build议我可以用来debuggingbuild议的语言的工具吗?
  • 有没有我应该知道的库,如GUI库?

有些事情要注意…

  • 我从WinUAE模拟器中运行Workbench 3.1。
  • 从Workbench,我可以从Windows硬盘访问文件。
  • 如果可能,我想从Workbench进行编码和编译。
  • 我在A1200模式下运行WinUAE,不知道是否重要。
  • 有一个应用程序已经安装称为MEmacs。
  • 我非常了解C ++和C#,也许还有类似的Amiga语言。
  • 我知道你可以用C和C ++编写代码,但我想学习一门新的语言。

更新:

我已经回答了我自己的问题,但是请您提供更多的答案,因为我打算扩大我的答案。 感谢所有迄今为止所做的贡献,您一直非常乐于助人!

注意:请不要拖延回答; 这是一个正在进行的线程。
感谢所有你迄今为止的答案:-)

花了几天的时间搞清楚了。 这些说明适用于AMOS Pro,请随意发布您自己的不同语言的答案,或更新此答案(这是一个社区wiki)。

工作台说明:

  1. 安装Amiga Forever 2008(加版包括Workbench 3.1)。
  2. 使用Amiga Forever或WinUAE作为模拟器(我更喜欢WinUAE)。
  3. 将Amiga Workbench 3.1安装到一个定制的硬盘上 。
  4. 如果使用WinUEA,只需使用af_3xconfiguration文件(与Amiga Forever一起安装)。
  5. 熟悉Workbench和Amiga Shell(请参阅资源 )。

AMOS Pro说明:

AMOS Pro是一个IDE,它看起来有点像一个老黑客轻弹,再加上你甚至可以打开你在电影中听到的恼人的声音。 这不是很好吗? 无论如何,在如何…

  1. 获取AMOSPro的磁盘(在2.00版本中共有6个磁盘)。
  2. 插入AMOSPro_System磁盘并按照说明安装AMOS Pro 。
  3. 安装后,打开AMOS_Pro目录,运行AMOSPro。
  4. 如果您不了解AMOS,请学习一些AMOS编码基础知识 。
  5. types: Print "Hello world!"
  6. 按F1键运行(与AMOS徽标右侧的红色三angular形相同)。
  7. Rejoyce为"Hello world!" 出现在橙色背景上的白色文本。
  8. TODO:了解如何将其编译为可从Workbench运行的二进制文件(?)。

AMOS Pro:Hello world! http://img7.imageshack.us/img7/7867/001tpe.png

这里有一些更有趣的AMOS代码。

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

Amiga提示:

  • [左Amiga]是Windows键,[Right Amiga]是上下文菜单键。
  • 按[左Amiga] + A在AMOS Pro和Workbench之间切换。
  • 英式[@']键产生#或@(移位)字符。
  • 英国[〜#]键产生\或| (移位)字符。
  • 英式[¬ ] key produces either the ' or ~ (shift) or (alt)字符。

资源:

  • AMOS工厂 – AMOS论坛和资源
  • Amiga Forever – 我的Amiga模拟器套装(包括WinUAE)
  • * 绿色Amiga异形指南:工作台3.1 – 工作台定制
  • Amiga为新手提供的东西 – Amiga Shell和Workbench的技巧
  • Amiga OS开发 – 在Amiga.org上的论坛类别

*使用WinUAE Amiga Foreverconfiguration(af_3x)时不会坏死。

去做:

我会尽力为每种语言做如下的指示。

  • 德拉科 (谢谢你们的支持)
  • Amiga E (感谢Paul Ruane)
  • SAS / C (感谢汉克)
  • Modula-2 (感谢JasonTrue)
  • ARexx (感谢Nik)

这必须是最奇怪的,同时也是一个令人鼓舞的问题。

原谅我,作为前Amiga的开发者,我放弃了这个平台。 现在写点东西对我来说是相当抽象的。

然而,一旦我相信这个平台的责任可能是第一,我必须认真回答你的问题。

编程工具; 或者是68k汇编器,或者是C / SAS / C

就我个人而言,我总是使用CygnusEd来编辑,而我不知道任何IDE。 我认为SAS / C有一些模糊的IDE,但我不能确定,因为我只使用源代码级别的debugging器(当时是一个非常新的东西)。

在免费工具方面,我参与了在Amiga上制作GCC和图书馆的工作,但是我不知道这个项目发生了什么。 我的A3000在谷仓可能有些东西,但没有什么理由要知道。

唯一的传统Amiga语言是原生的68k汇编程序。 但是如果你详细阅读了RKM的15“,那么你可以用C做很多事情。

顺便说一句阿莫斯是垃圾。 在它的时间玩具。

debugging我只使用SAS / C(或正式知道的莱迪思)。

有没有我应该知道的库,如GUI库?

许多。 为了在Amiga上有效地进行编码,你需要知道关于操作系统层的许多事情是如何挂在一起的。 当时这是互联网上最大的障碍,信息和知识难以应付。

Workbench 3.1是第一个最好的。 如果我能记住他们的话,我可以让你知道细节。

与C ++最相似的Amiga语言是C,知道C只会给你一小部分的方式,因为魔鬼是在系统调用/库的细节。

如果你想学习一个新的语言,那么也许不要select一个几乎死去的平台。如果我有时间,我会学习卢阿。

即使现在,阿莫斯仍然是垃圾。

你当然应该使用一个模拟器 – 运行阿联酋的现代PC是一个除了A1200之外的世界。 你可以运行一个不错的高屏幕分辨率,并且CPU性能提高了几个数量级(如果你希望速度更快,当然是全部可选)。 噢,如果你愿意,你可以通过模拟器提供的Amiga库实际访问PC硬件。

如果你想打“硬件”,Amiga参考手册将是开始的地方。 Devpac是大多数人的首选汇编程序。

有几个C编译器,至less有一个C ++编译器,SAS / C。 这里有几个Amiga编译器的链接

如果你想要学习一种新的语言,那么Modula-2可能是一种select,但对于大多数人来说,C语言是最好的select。 操作系统本身是用C编写的(至less从2.0开始 – 在此之前是BCPL),并且这些库都提供了用于访问它们的C头文件。

汇编语言在游戏和演示中也非常stream行,我可以亲自certificate这是非常有趣的。 这本好书:

  • 摩托罗拉程序员参考手册68k-68040,该指令集的最全面的书籍。 可在这里免费下载
  • Amiga硬件参考手册,了解所有硬件寄存器的完整列表,以及它们如何工作以及如何使用它们。 旧版本在这里出售

另一个有趣的选项可能是相当强大的ARexx脚本语言。 你可以做很多事情,比如通过他们的“ARexx端口”来控制其他的应用程序来访问它们的function。 比其他选项高得多,但很容易让它做有趣的事情。

Amiga Developer CD 2.1包含了所有需要的东西:所有的SDK(包括经典的1.3,2.0和3.1,以及3.5的新版本,据我所知3.9也可以使用)和一个合适的68k C-编译器。

它仍然可以从一些供应商,我记得写一些东西。 这是C,所以它应该是相当直接的。

虽然不支持AmigaOS4,但是再一次,Workbench 3.1是最后一个真正的AmigaOS。

不要忘记大部分Amiga安装附带的ARexx。 这是一个真正精彩的语言,令人惊讶的可读性和易于编写。 Amiga上的大多数应用程序都支持ARexx,因此您可以轻松高效地将大型应用程序从许多较小的应用程序拼凑在一起。 我最喜欢的一个方面是它的多functionstring处理。 即使它是一种解释型语言,它的速度也是惊人的快,特别是如果你很好地利用它与其他程序的联系来做低级的东西。

到底什么编程工具我应该使用,有没有已经安装?

Basic和AREXX是预先打包的唯一语言,即便如此,BASIC也有两种方言(ABasic和AmigaBasic)。 你会想看看弗雷德鱼集合或AmiNet更多的工具。

要购买商业编译器,请尝试在Vesalia Online上提供的Amiga Developers CD,尽pipe可能有其他版本。

我仅限于纯文本编辑器,还是有IDE和debugging工具吗?

你几乎回到编辑 – 保存 – 编译 – 链接 – 运行 – 崩溃 – whycrash – doh – fixit – 编辑循环,IDEs不是现成的。 我会看像DME(狄龙的macros编辑器),也可在弗雷德鱼集合或AmiNet( http://wuarchive.wustl.edu/pub/aminet/ )。 它提供了一些基本的macros观build设设施,将有所帮助。

如果没有安装工具,那怎么办? 有免费的吗?

是。 再次,弗雷德鱼,或AmiNet。

我想学习一种传统的Amiga语言,你能推荐一个吗?

德拉科。 这是由克里斯·格雷写的。 这有点“原始”,但它应该为您提供所需的一切,包括正确的绑定和常量。 该语言编译并运行的速度与C.相当。

我应该用什么来编译你所build议的语言?

Manx或Lattice C是当时的C编译器(如果你能find它们,祝你好运),Manx趋向16位,Lattice向32位。 有几个小型的C编译器。 有68k大会(一个neato指令集恕我直言),Draco,一个pascal方言,可能Modula-2,以及DICE(一个免费的C编译器,但你正在寻找别的东西)…

请你能build议我可以用来debuggingbuild议的语言的工具吗?

再次,商业工具之间的差距很小,你将不得不挖掘公有领域的档案find任何东西。

有没有我应该知道的库,如GUI库?

这些库都是内置的。intuition.library是提供基本窗口支持的库的名称。 gfx.library将为您提供高级基元,而layer.library将为您提供将独特的位平面方法交给graphics的支持。 在你到达那里之前,你会想看看exec ,这是操作系统的核心和灵魂。 它提供了先发制人的多任务处理,内置的链表原语,消息传递原语,IO原语等,并在整个系统中大量重用。 如果你了解执行,你就会理解系统其他部分的低层内部。

请记住,系统的状态看起来更像一个embedded式游戏控制台,因为不会有内存保护,SMP支持等等。所有这些东西都不容易被添加,因为在首先Amiga发货。 我似乎记得,问题是如何处理多个处理器和内存保护,因为整个微内核运行在非私有CPU模式下。

最后但并非最不重要的,幻数是4,这是一个内存地址。 这个地址是指向exec的指针(它不仅是一个微内核,也是一个库),并且可以通过OpenLibrary()调用引导到系统的其余部分。 无法find的库将通过AmigaDOS从磁盘自动加载。 这就是Amiga如何处理可移植代码的问题 – 所有的代码都是使用偏移量写入指向库“基址”的指针,除了地址4之外,没有固定的地址。每个库都有一个调用表每个条目6个字节(一个跳转指令),然后vectorclosures到正确的入口点。 如果您的“标题”格式正确,编写自己的库很容易。 设备驱动程序“借用”了库的结构,并使用相同的概念来提供默认的I / O处理程序。

对不起,如果名字有点不对劲,这些信息从近20年前就已经不在我的脑海了。

可能还有其他途径的信息。 有人在维基上做了一些努力,并且有一些search,我相信你可以find更多。

有些事情要注意…

我从WinUAE模拟器中运行Workbench 3.1。

凉。 你定了 这是最后一个伟大的“经典”工作台。

从Workbench,我可以从Windows硬盘访问文件。

这会有所帮助,但是你会尽可能地去“本地化”。

如果可能,我想从Workbench进行编码和编译。

往上看。

我在A1200模式下运行WinUAE,不知道是否重要。

这是你正在模拟的硬件模型。 这是一个很好的预算机器,但如果可能的话,尝试将其设置为A3000,这是Commodore遇到麻烦之前的高端机器。

有一个应用程序已经安装称为MEmacs。

试试看,如果Emacs是你的东西,否则我会看看一些本地工具。

非常了解C ++和C#,也许还有类似的Amiga语言。 我知道你可以用C和C ++编写代码,但我想学习一门新的语言。

那么德拉科是为你而设的。 它具有大部分库的绑定,编译干净,它是一个“死”的语言,因为它是绑定到一个特定的硬件平台。 非常Amiga具体。 🙂

祝你好运! 让大家知道结果如何

仿真器

  • 阿联酋

操作系统

  • AROS (试图使AmigaOS恢复生机)

编程资源

  • Kickstart ;)

Amigas有一个很大的编程工具,和圣经里的人有同样的名字。

AMOS

就是这样。

http://en.wikipedia.org/wiki/AmigaE

这就像C,但没有指针。 我仍然有我的系统API书在家里的地方。

嘿,如果你想做Amiga编程的乐趣,有一个的软件,这将摇滚你的世界:

好莱坞4.5来自Airsoft Softwair

这是一个非常容易和有趣的语言,主要针对多媒体演示。 这是一种基于Lua语法的脚本语言,但它也让我想起了一些老式的Amos,因为它有很多强大的gfx和声音function。 这是非常容易使用,带有一个很好的文档和许多例子。 此外,它是多平台的,解释器/编译器可以在所有不同的Amiga平台(包括OS 3.1,AROS,MorphOS …)上运行,并且完成的编译脚本甚至可以在Windows和Mac OS X上运行。

你可能会觉得它有点儿贵,但是我可以告诉你,如果你想要有趣的编程,这是值得的投资,我还没有看到任何其他平台上的任何东西!

你可能想testing我的一个创作:-)。 这是一个真正的演员格斗游戏,这是在好莱坞,Windows版本可以在这里下载:

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

我曾经是一名Amiga程序员,专门使用了68k的汇编语言。 Amiga参考手册是圣经,不可或缺。 至于有趣的程序,我怀疑大部分都是在Amiga上死的……只要search一下你的想法,我相信你会find一个现有的代码。

玩弄刺激物对我来说总是很有趣,但是这正是我工作的地方。

我相信你可以像其他人那样find一个仿真器,但是我想补充一点,Modula-2在Amiga程序员中非常受欢迎。

AMOS,如前所述,是一个相当不错的基本方言,但我可能会看看Blitz Basic。 或当然使用Asm-ONE直68k大会。 Asm-One是一个IDE的种类,只是不指望Visual Studio级别的支持工具。

SAS / C是我在Amiga平台上select的武器,虽然也有其他C编译器的端口。

第一步,购买其中一个。

第二步,购买其中一个,并安装它。

(你可能还需要等待其中的一个被发明。)

第三步,每小时达到88英里。

Interesting Posts