问题标签 [amiga]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
631 浏览

amiga - 为旧系统开发游戏

我有一个学校编程项目,只要我们展示我们的编程技能,该主题是免费的,我有一个 amiga 500,我想知道我是否可以为它制作游戏?也许没什么复杂的,我知道系统有多么有限,但是是否可以在带有模拟器的 Windows 10 pc 上制作/测试它,然后将其刻录到磁盘上?还有可能我把一个comodore disquette放在一个USB磁盘阅读器中来阅读代码吗?还是它“过于编译”而无法从中学到任何东西?谢谢 !

0 投票
1 回答
109 浏览

c - 在 Amiga 和 68881 上使用 gcc 2.7.0 的浮点乘法错误 - 任何修复/解决方法?

见鬼,我决定看看我多年前开始在 Amiga 上编写并在其他机器上进一步开发的程序是否仍然可以在 Amiga 上编译和运行(在其他机器上开发之后)。我最初使用 Lattice C,因为那是我以前使用的。但是 Lattice 对 68881 的支持非常有问题。所以我决定尝试 gcc。我认为 Amiga 的 gcc 最新版本是 2.7.0(所以我无法升级)。它工作得相当好,除了 68881 支持中的一个错误:当任何负数乘以零时,结果总是:

1.:00000

打印出来时(冒号不是错字)。顺便说一句,如果您将 x 设置为零,然后打印出来,它应该是 0.00000。

这是一个测试错误的示例程序,哪个变量是0哪个是负数都没有关系,如果非零值是正数,它就可以正常工作。

它是用以下方式编译的: gcc -o tt -m68020 -m68881 tt.c -lm

取出-m68881工作正常(但当然,不使用 FPU)取出-lm和/或math.h没有任何区别。

有谁知道错误修复或解决方法?也许是 gcc 命令行参数?(宁愿不必做像“ if ((a<0)&&(b==0))”这样的丑事)

顺便说一句,由于我不再有工作的 Amiga,我不得不使用模拟器。如果你想看看我在这个项目上做了什么(使用 Lattice C 版本),你可以在以下位置观看我的视频:

https://www.youtube.com/watch?v=x8O-qYQvP4M

(Amiga部分从10:07开始)

谢谢你的帮助。

0 投票
2 回答
124 浏览

assembly - 68000汇编语言怎么定义一个枚举?

我在 Commodore Amiga 500 上使用 Manx Aztec C 编译器(5.0 版)附带的汇编程序。

我想编写与以下 C 代码等效的代码:

我尝试了以下方法——这很有效——但它似乎有点做作:

我知道我可以这样做:

但我希望能够插入和重新排列值而无需手动重新编号。

我在想我也许可以用宏做一些事情,但我对它们没有太多经验。

0 投票
1 回答
127 浏览

amiga - Amiga 500 的堆栈边界检查

我在 Commodore Amiga 500 上运行了一个 68000 汇编语言程序,它可能会使用大量堆栈空间,所以我想做边界检查。

如果我调用 FindTask(NULL),并检查 tc_SPUpper 和 tc_SPLower,我会得到 $c22c24 和 $c21fa4,它们是 3200 字节的堆栈;但是,CLI 分配了 8000 字节的堆栈,并且程序以 $c29598 的堆栈指针开始——在内存中比 tc_SPUpper 大约高 26K。

我在 AmigaDOS 开发人员手册中读到,在启动时,4(sp) 包含堆栈大小。该值确实包含 8000。(“在 4(SP) 的堆栈上低于此值是堆栈的大小(以字节为单位,如果您希望执行堆栈检查,这可能很有用。”)

我可以安全地将 sp - 4(sp) 作为堆栈的下限吗?我是否需要考虑堆栈大小、返回地址和 CLI 可能在堆栈上的一些其他数据?

0 投票
1 回答
95 浏览

compiler-errors - vbcc 编译器抱怨:找不到文件“stdio.h”,但它位于“包含”目录中

目前这不是交叉编译设置。只是一个本地 C 开发环境。这是代码:

我用命令编译:vbbcm68k test.c

输出:

我已经安装了 vbcc_bin_amigaos68k 和 vbcc_target_m68k-amigaos

我的用户启动看起来像这样:

我的安装根目录如下所示(头文件存在于 include/ 中):

如果我将 .h 文件复制到根目录,它可以工作,但显然我希望在 vbcc:include 中检测到它们。任何人都可以帮忙吗?