EndBASIC 0.14:我们已经多媒体化了吗?
发布时间:2026年7月4日 就在一个多月前,我宣布了EndBASIC 0.13,推出了全新的编译器和虚拟机实现。0.13是六个月工作的结果,而我必须 "排空思维",以清晰的头脑面对接下来的挑战。然而,归根结底,0.13 "仅仅" 改善了性能。是的,性能提升巨大,但它并没有让EndBASIC对你来说有多酷。今天的0.14是一个不同的存在。这次发布包含了遍布各处的新特性,特别增加了基础声音支持。正因为后者,0.14标志着一个重要的里程碑,因为它解锁了通往可能的1.0版本的最后领域。我在这次发布中还有很多想要加入的内容——而有一个特性由于其难度我最终不得不放弃——但总得在某个时候停下来,发布代码。所以我们来了!有很多话要说,但在我们进入之前,这里是必须访问的链接: 启动在线解释器 桌面和嵌入式设备下载 查看发行说明 访问互动项目画廊 图形,更多图形! 我想在0.13带来的巨大性能提升后做的首要事情是提供额外的图形原语,以让额外的性能充分展现。我们现在拥有绘制三角形(GFX_TRI和GFX_TRIF)、多边形(GFX_POLY和GFX_POLYF)和填充区域的命令(GFX_FILL)。作为这项工作的组成部分,我将我为EndBASIC编写的最初的示例程序之一 “生产化” 了——一个渲染多个圆圈并让它们在一个容器框内弹跳的小程序——以展示新的图形原语。这个演示现在包含在EndBASIC的DEMO驱动器中,用户可以通过画廊访问。你可以在下面见证,并请注意,这是真正实时运行的程序,而不是一个视频!你可以在这里与之互动,在浏览器中。 复古VGA,任何人愿意来吗? 当我为EndBOX添加对LCD显示器和基于NetBSD的控制台的支持时,我不得不为帧缓存实现一个位图字体渲染 “引擎”。虽然这很酷,但它也引入了与网页和SDL控制台的不一致性,因为这些控制台依赖于IBM Plex Mono TTF字体。这种字体看起来不错,受到了旧PC字体的启发,但仍然太… “现代”。因此,为了统一所有控制台的外观和感觉,并让EndBASIC看起来更“复古”,我取消了所有TTF支持,而是改用我自己实现的字体渲染设施。作为这项工作的组成部分,我将标准的IBM VGA 8x16字体添加到字体集合中,并使其成为所有控制台的默认字体。这让控制台看起来复古,但也显得乏味,如果你第一次启动EndBASIC,可能永远想象不到它的控制台可以混合文本和图形。因此,为了让大家明白控制台是混合的,我还修改了欢迎横幅,这个横幅已经有多年未修改,以便在旁边显示一个小图标。快来瞧瞧! EndBASIC 0.14的新混合欢迎横幅。 macOS,终于修复 EndBASIC中的SDL图形控制台已经存在多年,当我最初编写代码时,它在macOS上工作正常。不幸的是,虽然我最初的实现将所有图形操作卸载到一个单独的线程,但它有一个致命的缺陷:那个单独的线程并不是主线程。macOS当时没有抱怨,但自从不久前的一个版本发布以来,EndBASIC在启动时开始崩溃。解决这个问题从概念上讲很简单,因为单独的线程架构已经到位,但翻转角色证明是棘手的。无论如何,这个问题终于修复了!话虽如此,我要警告你,在macOS上运行预构建的EndBASIC二进制文件有点麻烦。我没有对它们进行代码签名,因为我没有一个Apple开发者证书,而且随着每个macOS版本的发布,运行未签名的二进制文件变得异常困难。在我最后一次在macOS Tahoe的尝试中,你必须逐一批准运行二进制文件和捆绑的共享库。Windows同样会显示关于不受信任的二进制文件的恐怖警告,但至少绕过它们更简单。我知道相信来自互联网的随机二进制文件是一个难以吞下的苦药,所以至少让我告诉你,你可以下载的二进制文件都是通过GitHub Actions从已检查的代码生成的,因此你有明确的审计路径,了解它们的来源。多年前设置这一切是一个痛苦的过程,但我特意这么做,以便你无需信任“开发者工作站中的随机二进制文件”这种情况。 shebang支持 另一个新功能是对类Unix系统中直接执行EndBASIC二进制文件的支持。没什么花哨的,对吧?毕竟这是一个解释器的基本要求。但尽管如此,这是一个很酷的新功能!这从原则上说是微不足道的,但有一个小麻烦:某些程序可能会想要特定的控制台尺寸,而如果你使用常见的#!/usr/bin/env endbasic shebang,你就无法...
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡