【问题标题】:How to develop an Amiga application that is bootable from a floppy disk (NON-DOS)?如何开发可从软盘启动的 Amiga 应用程序(非 DOS)?
【发布时间】:2010-11-23 05:03:00
【问题描述】:

跟进“How do I code and compile an Amiga application?”问题,从软盘启动 Amiga 应用程序需要哪个开发库?

更新:(2012-04-10) 考虑到问题已解决,我编辑了标题和正文以仅关注库。仍然缺少从可以在另一个问题中询问的软盘部署工具启动。

【问题讨论】:

  • 来自维基百科,AmigaOS 文章:“在启动或重置时,[Kickstart 将] 检查连接的启动设备并尝试从具有最高启动优先级的设备启动。如果不存在启动设备,则会显示一个屏幕将显示要求用户插入启动盘 - 通常是软盘。[...] Workbench 环境不必加载软件即可运行。事实上,接管 Amiga 硬件并保留所有内存和资源,许多游戏直接从 Kickstart 启动(使用软盘上的自定义引导块)。”现在正在搜索有关 Amiga Bootblock 的信息。
  • From mediasrv.ns.ac.yu/extra/fileformat/emulator/adf/adf.txt : "boot block 是 amiga 的 bootstrap。操作系统会在这 2 个 block(1024 字节)中加载,并将它们作为 amiga 的 bootstrap 处理。标准的@ 987654323@ 引导块只是让操作系统查看 Dos.Library 中的启动例程,而游戏引导块可以将操作系统踢出并加载游戏的其余部分。”

标签: boot floppy retro-computing amiga


【解决方案1】:

Detailed description of how to write boot blocks on floppies

您需要学习如何使用 trackdisk.device。我强烈建议不要绕过 trackdisk;读取软盘的要求很棘手,您必须知道允许的机械差异; trackdisk 软盘代码非常非常好,并且比其他任何人都更好地处理错误。已出版的有关如何为 Amiga 进行“裸机级别编码”的书籍(尤其是有关直接使用软盘的书籍)有很多错误和失败的假设,以至于我的副本有大量便签标记错误。

注意:我是 Commodore 的人,他为 AmigaOS 2.0 完全重写了磁道。


如果您说的是普通的 AmigaOS 应用程序,则磁盘上有一个启动脚本文件来引导磁盘并启动应用程序(加上最少的 AmigaOS 文件集),以及一个启动它的图标/可执行文件如果 Amiga 从另一个磁盘或 HD 启动。四处寻找有关为 Amiga 制作可引导磁盘的信息。

【讨论】:

  • jesup,感谢您的提示,这是让我入门的非常有价值的信息。
  • 我记得我为我的游戏编写了自己的 DMA 加载器,确实我遇到了很多问题。位必须与 0 交错,以免磁头磁化过多,反之亦然。另一方面,这需要做很多工作,但是加载器的速度有多快。
  • 我可能会赌那个速度... :-) 我完全为 AmigaOS 2.0 重写了 trackdisk。在 2.0 中,trackdisk 在速度方面很难被击败。事实上,我检查过的 90% 的“快速加载器”都比 trackdisk 慢,或者最多不快 - 几乎所有其他的都违反了驱动器规范,它们在特定制造商的驱动器上会出现故障,或者如果用户的驱动器恰好在一个结束或其他规格范围。 (fastload 开发人员会在他们自己的机器和其他一些机器上进行测试,并且错过了在使用三洋(或其他)构建的机器上进行的测试)。
  • jesup 指出,取自 Amiga RKM Devices:“Amiga trackdisk 设备直接驱动磁盘,控制磁盘电机,从磁道读取原始数据,并将原始数据写入磁道。通常情况下,您使用 AmigaDOS 功能从磁盘写入或读取数据。trackdisk 设备是访问磁盘数据的最低级别的软件,AmigaDOS 使用它来访问磁盘。以前在问题的正文中作为更新,在此答案中作为评论更合适。
猜你喜欢
  • 1970-01-01
  • 2011-10-24
  • 1970-01-01
  • 2018-04-15
  • 1970-01-01
  • 2012-08-02
  • 1970-01-01
  • 2011-10-10
  • 1970-01-01
相关资源
最近更新 更多