impulse-tracker

impulse-tracker

90年代音乐制作软件源码发布 回顾经典创作工具发展

Impulse Tracker是90年代一款重要的音乐创作软件,其完整源代码现已在GitHub开源。项目包括声音驱动、网络驱动和相关文档,展示了早期音乐软件开发技术。源码使用Turbo Assembler编写,需在DOS环境下构建,为研究计算机音乐发展史提供了宝贵资料。项目还提供了详细的文件说明和常见问题解答,有助于理解当时的软件架构和编程方法。

Impulse Tracker源代码音乐软件DOS汇编语言Github开源项目

Impulse Tracker

Impulse Tracker的完整源代码,包括声音驱动程序、网络驱动程序和一些支持文档

这最初于2014年在BitBucket上发布,同时发布了一系列名为"Impulse Tracker 20周年"的文章。但由于BitBucket停止了对Mercurial仓库的支持,因此现在在GitHub上提供。

前置软件要求

要构建Impulse Tracker,你需要:

  • Turbo Assembler v4.1

  • Turbo Link v3.01

  • Borland MAKE v4.0

  • DOS环境

一旦你拥有这些,构建IT.EXE只需要一个简单的MAKE命令

声音驱动程序通过SoundDrivers子目录中的M*.BAT文件单独构建

文件快速概览

  • IT.ASM: 启动例程

  • IT_DISK.ASM: 磁盘IO例程。使用IT_D_*.INC文件

  • IT_DISPL.ASM: 播放屏幕(F5)的显示例程

  • IT_EMS.ASM: EMS内存处理例程

  • IT_F.ASM: 对象模型使用的函数集合

  • IT_FOUR.ASM: 快速傅里叶例程。用于图形均衡器(Alt-F12)。 并非所有声卡都可用

  • IT_G.ASM: 全局按键处理函数

  • IT_H.ASM: 帮助模块(F1)

  • IT_I.ASM: 采样列表(F3)和乐器列表(F4)模块

  • IT_K.ASM: 键盘模块

  • IT_L.ASM: 信息行代码

  • IT_M.ASM: 主消息循环/调度器

  • IT_MDATA.ASM: 全局音乐变量数据

  • IT_MMTSR.ASM: 采样压缩/解压缩例程

  • IT_MOUSE.ASM: 鼠标处理代码

  • IT_MSG.ASM: 消息编辑器模块(Shift-F9)

  • IT_MUSIC.ASM: 模块播放代码。还使用IT_M_EFF.INC

  • IT_NET.ASM: 网络代码

  • IT_OBJ1.ASM: UI对象定义

  • IT_PE.ASM: 模式编辑器模块(F2)

  • IT_S.ASM: 屏幕功能,包括字符生成

  • IT_TUTE.ASM: 交互式教程模块

  • IT_VESA.ASM: 图形均衡器的VESA代码

  • SWITCH.INC: 程序的高级开关

常见问题

问:"源代码中那些奇怪的字符是什么?"

答:我最初使用DOS字符编写源代码,在源代码的注释中使用字符绘制边框/方框。为了保持原貌,我保留了代码的原始状态。

问:"为什么你在ASM源代码中不使用STRUCs或ENUMs?"

答:仅仅是因为我当时不知道它们。我希望我知道。在仓库中包含了一个InternalDocumentation文件夹,详细说明了代码中出现的一些神奇数字可能的含义。

问:"一些函数的流程似乎到处跳转。为什么?"

答:原始代码兼容早至8086机器。8086只允许在+/-128字节范围内进行条件跳转,所以我花了太多时间调整代码以满足这个限制。当我摆脱这个8086限制时,我从未回去更新被它破坏的代码。

许可证

BSD 3条款许可证可以在LICENSE中找到。

编辑推荐精选

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

QoderWork

QoderWork

阿里Qoder团队推出的桌面端AI智能体

QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

nano-banana纳米香蕉中文站

nano-banana纳米香蕉中文站

国内直接访问,限时3折

输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成AI工具AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机AI图像热门
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

下拉加载更多