我有一个学校编程项目,只要我们展示我们的编程技能,该主题是免费的,我有一个 amiga 500,我想知道我是否可以为它制作游戏?也许没什么复杂的,我知道系统有多么有限,但是是否可以在带有模拟器的 Windows 10 pc 上制作/测试它,然后将其刻录到磁盘上?还有可能我把一个comodore disquette放在一个USB磁盘阅读器中来阅读代码吗?还是它“过于编译”而无法从中学到任何东西?谢谢 !
3 回答
Amiga是(曾经)一台不错的编程计算机。根据您的时间预算,从头开始学习和编写游戏代码可能会非常耗时(除非您已经熟悉 68000 汇编语言)。
不过,有很多替代方法可以在这台计算机上使用各种语言进行编程:
C 编程 使用 C 与 GCC 或 VBCC 以及专用(但非常简单和紧凑)游戏引擎,例如 ACE:https ://github.com/AmigaPorts/ACE
Amiga 带有一个内置的图形和音频功能库(甚至是好的旧 A500),它可以帮助您以完全操作系统友好的方式开发游戏。结果会很慢,但是您将能够使用硬件的每个部分(blitter、copper、bob、sprites ...):http://amigadev.elowar.com/read/ADCD_2.1/Includes_and_Autodocs_2。 _guide/node040D.html
Basic Amiga 有几个版本的 Basic 语言,其中大多数都实现了一套相当全面的命令,以充分利用其硬件规格(精灵、鲍勃......)您可能想尝试AMOS Basic,最著名的一个:https://www.ultimateamiga.co.uk/index.php/page,16.html
作为替代方案,Blitz Basic可能是这台机器上第二受欢迎的基础:https ://www.amigafuture.de/downloads.php?view=detail&df_id=3663&sid=661dbda78c2a180a20715f7467a95708
68K 组装 如果您真的需要在超级接近金属的同时充分利用 Amiga,并且几乎从零开始,那么您可能需要查看 Photon 的视频教程: https: //www.youtube.com/watch ?v=p83QUZ1-P10&list=PLc3ltHgmiidpK-s0eP5hTKJnjdTHz0_bW 这些教程是相当面向演示场景的,但是游戏开发项目的视觉方面与您在演示场景项目中发现的大部分相似(使用 bobs、sprites、blitter、copper list、播放 ProTracker 模块...)
我唯一的建议,无论你家里是否有合适的硬件,都是在模拟器中完成大部分工作。WinUAE 是一个近乎完美的精确仿真器。您还将受益于所有用于编辑/版本代码的现代工具(Visual Studio Code、Git...)。
除了 Amiga,我会推荐 2 台老式机器(截至 2018 年):
- SEGA Megadrive/Genesis ,可以使用优秀的SGDK 库以超级友好的方式进行寻址: https ://github.com/Stephane-D/SGDK
- Pico-8,一个可以(必须)在 Lua 中编程的虚拟老式控制台。Pico-8 可以理解为一个从未存在过的 8 位游戏机的模拟器。不过,它的社区非常活跃。可以在这里找到:https ://www.lexaloffle.com/pico-8.php
同样,关于 Megadrive,模拟器可能是你最好的朋友。
一旦您的作品值得在真机上进行测试,并且如果您需要在软盘上“刻录”(复制)您的作品,我的建议是使用带有 PCMCIA/CompactFlash 适配器的 Amiga 1200。使用Gotek(USB 到软盘适配器)可能是一种更便宜的替代方案,也可以在您的 A500 上使用(但请不要将您的 Amiga 用于安装 Gotek)。
如今,Megadrive 提供了一个不错的选择,这要归功于Everdrive SD 卡适配器,它允许您在真正的控制台上启动您自己的任何 ROM 文件。
在 Windows 上运行/测试您的 Amiga 东西使用 WinUAE: http: //www.winuae.net/
您可以使用几乎任何您喜欢的编程语言,但可能最好支持 C(许多编译器、官方文档),而汇编程序(摩托罗拉 MC68000 CPU)让您可以完全控制硬件以获得精美的效果和超高效的编码(快速图形、 ...)。还有(或多或少)Amiga 特定语言,例如 AMOS 或 BlitzBasic/AmiBlitz,它们(或多或少)旨在处理 Amiga 特定的东西或简化事情(屏幕处理、精灵、音乐、硬件访问,...... )
如果你想使用 C,那么最好使用 Amiga 的“官方”编译器,如果可能的话:SAS-C(以前:Lattice-C)。如果您找不到,请尝试 vbcc、gcc、DiceC、...(此 CD 包含完整的 gcc/POSIX 开发环境(以及更多):https ://archive.org/details/cdrom-geek-gadgets -2 )
这里有很多 C 和 AmigaOS 编码文档:http ://amigadev.elowar.com/
PC 软盘驱动器无法直接读取或写入您的 Amiga 软盘,您需要一些额外的硬件,尝试使用谷歌搜索其中的一些:ADTWin、ADF-Copy / ADF-Drive、Disk2FDI、“Arduino Amiga软盘读写器”
nullmodem 电缆(例如,到 PC 或 Linux 盒的 nullmodem-serial-USB-adapter 电缆)是一种在 Amiga 之间传输文件的简单方法 - 尝试 google:“amiga SER: nullmodem”或“Amiga Explorer”(一个 Windows 应用程序, 还可以让您直接将 .adf 磁盘映像从 PC 写入 Amiga 的软驱)
好吧,当然你可以从软盘上的旧东西中学习,这取决于磁盘的内容和你的专业知识。;-) 如果磁盘包含一些源代码,那很好。更有可能的是,意味着任何商业游戏等,它将包含由机器代码组成的可执行文件 - 用汇编程序编写,或从 C 代码编译,或其他 - 甚至是自定义加载程序(=非 AmigaDOS 磁盘,无 DOS 访问权限) ,为此您需要对 M68000 指令、Amiga 硬件,也许还有 AmigaOS (API) 有一定的了解。换句话说:它可能是“过度编译”的,除非你是汇编大师,或者想成为一名汇编大师。
注意:正如您所说,您想为您的 Amiga 500 编写游戏 - 这意味着我们正在谈论“经典”Amiga:m68k CPU、A500、A1200、A2000 等,Workbench/Kickstart 版本 3.9/3.1,软盘磁盘等,包括现代重新实现,如 MiniMIG、Vampire、M5 等 - 如果您对非经典(可能称为“下一代”)Amiga 计算感兴趣,请尝试使用谷歌搜索其中一些:AmigaOS4、AROS , MorphOS, AmigaONE
您也可以尝试使用E编译器,请参阅https://en.wikipedia.org/wiki/Amiga_E。
- 原版 Amiga E,作者 Wouter van Oortmerssen
- 创意,作者 Tomasz Wiszkowski。
- PowerD,由 Martin Kuchinka 撰写。
- YAEC,由 Leif Salomonsson 着。
- ECX,由 Leif Salomonsson 撰写。
- RE,马可·安东尼亚齐着。
- PortableE,克里斯托弗·汉德利(Christopher Handley)。