为旧手机创建演示-AONDEMO

自从我熟悉波兰Lyra II的经典示例中的这种计算机亚文化现象以来,我就想进行演示。 我也经常想在最大的俄罗斯demopati展览馆里展出一些东西,但是每次我的手都没伸手的时候。 最终,以Van Damme的风格(从转盘上两次击打)可以同时满足这两个需求-制作和设置AONDEMO 。 在竞赛ZX Spectrum 640K演示


我们为您提供有关如何过上这种生活的详细指南。

故事


具有自动呼叫者ID(Caller ID)的电话,也称为“呼叫者ID”或“电子秘书”,于1989年左右出现在苏联,在接下来的15年中,它迅速发展起来,从为学生,失业的工程师(以及装配人员)赚钱的方式频谱)和整个合作社,这是相当大的公司的主要活动主题。 在1990年代中期,几乎在每个公寓中都发现了这样的电话,并且电话网络中的任何用户一次都可以通过听筒中发出的哔哔声来了解现在是否确定了他的电话号码(伪哔哔声和请求的特征声音)。 到2004年,此类设备的流行性消失了,首先在PBX上确定号码的服务开始收费,然后完全废除了,取而代之的是更现代的欧洲标准。 移动通信的普及迅速将有线电话带入了地下深处,目前尚不清楚谁是AON 90年代( Palikha )所要求的“精英”后代。

早期呼叫者ID的开发人员和汇编人员的情况是与国内Spectrum相平行的一种现实。 业余无线电根源和浪漫。 自发发展,发展和手工生产。 相似的硬件,相似的兴趣,相似的时期和受欢迎程度。 起初有很多人同时做这两项。 全联盟软件的年轻作者(当时是俄罗斯的作家帕维尔·苏霍多尔斯基(Pavel Sukhodolsky)大约15岁),未经选择地相互借鉴该代码,该代码中的版权和消息,fidosny地址,新闻界的文章,书籍,神话等等。 关于数字时代开始的故事,这是一个非常大规模的但已经被时间沙漏彻底掩盖的故事,仍在等待其研究人员。

来电显示和我


我与AON的相识发生在90年代上半叶,那是在我在Spectrum和Dandy上看到的第一场比赛之后,但是不久之后才开始进行创意编程活动。 我喜欢在这些手机上闲逛,尝试使用新的或不熟悉的固件中的按键序列,聆听“计算机”版本中流行的旋律,并对“计算机”的声音感到惊讶,以及阅读说明中提到的未知物品“磁带记录器”,“安全循环” ,“语音卡”,“提示音”。 一个儿时的朋友帮助他的父亲组装了这样的设备,我很喜欢电子产品,对计算机产生了兴趣,因此从一开始就涉足Z80,BB55和其他神奇符号的秘密知识。 同时,“决定因素”开始出现在所有朋友中。 他们经常摔倒在我手中,要求修理,而我却做到了,有时成功了,但常常没有成功。 在2000年代,这项活动无济于事。

2013年,在挖掘公寓最远的角落时,我遇到了几个幸存的电话,并回想起过去。 稍后,当时在1位音乐,DIY合成器以及特别是诸如KIM-1之类的旧计算机领域的研究使我认为AON是一种现成的,成熟的单板计算机,可用于非标准的音乐用途(例如鼓机或音序器)。 出于热情,我开始编写模拟器并分解旧的固件,但是很快就可以很明显地发现,先前发现的手机在清洁过程中非常成功。 该话题被推迟了。

逐渐产生各种兴趣,思想和主题-PC扬声器PCSPE的发展,对带有AON的旧手机及其历史的记忆和兴趣,阅读155la3网站上有关苏联罕见的无线电组件的信息( 令人惊叹的段指标! ),关于此铁的音乐用途的旧想法,许多Avito上的呼叫者ID以及用于各种项目的电子备件和工具,在仿真器上的持续工作等,已发展成为正确的方案。 在2018年Multimatograph之前不久终于在实体“演示”和“电话”之间建立逻辑联系(据我所记得,这是由所见的“计算器演示”引起的),开始了有目的的工作。 当然,只要一点点就可以在一周内完成任何重大工作,但速度变慢了,但是随着CC2018的临近而恢复了。 按照最好的传统,通过在聚会前两天和晚上的辛勤工作和不懈的努力,我设法发明,编写和调试了大多数计划,拍摄和编辑了视频,并将作品清晨发送给了比赛。

发布之后,我发现在Wild ompo的作品中,七段式显示并不是稀罕的客人。 但是我从未见过这样的人,也从未听说过他们。




实际上,AON是最简单的单板计算机,具有七段显示器,电话键盘和电话线接口。 在过去的十五年时间里,铁杆发生了变化,从1989年的KR580VM80(i8080)设计到俄罗斯电信 2003年的定制R100-XP芯片(8051,外围设备和模拟AY-3-8910集成在一个芯片上),许多中间停止并分支。

我选择了1990年开发中最经典,最受欢迎的版本,从历史上和技术上来说,它最接近Spectrum的精神:Z80的准确频率为4 MHz,2 KB的静态RAM,8-64 KB的ROM,端口8255和计时器8253,输入频率为1 MHz。 计时器通道中的一个产生中断,另一个声音,不涉及第三个。 该方案以“大”和“小”板的形式提出,第一个专门用于拉脱维亚VEF-TA-12按钮式电话的安装,第二个用于各种进口电话,主要是松下的办公克隆。 对于这些板,有各种固件,尤其是Arktur-36SelenaLiraHello 。 而且,当然,最著名的是俄罗斯 ,版本不超过23。

对电话进行重新编程非常简单-所需容量的任何5伏ROM和一个编程器就足够了。 我使用了旧主板上的各种EEPROM和在中国购买的新版Winbond W27C512,以及最简单,最实惠的WizardProg-87编程器。

事实证明,使用铁加工时最大的困难是四分之一世纪或更长时间的古代木板上ROM下的木板状态。 它们最初不是高质量的,如今它们之间的联系不断丢失,这使得很难确定这是书面代码中的错误还是插座中的非接触。 我试图通过安装ZIF插座来解决此问题,但是板上其他组件的高度不允许对其进行焊接,并且插入原始插座的增高连接器的架子也遭受了不断失去接触的困扰。

特效




在开始开发该示例之前,我编写了或者更确切地说,添加了AON仿真器,该仿真器始于2014年。 我必须处理一些非显而易见的问题,并应用其他人的计时器仿真代码8253,以获得或多或少的正常声音和打扰的频率。 仿真器的存在以及至少其中的基本调试功能大大加快了开发速度。 此外,该代码主要在仿真器中进行了测试,并且仅在硬件上进行了偶尔测试,以确保一切正常,并在带有动态指示的LED显示屏上看起来正常,我尚无法进行足够的模拟。

该代码是用常规SjAsmPlus编写的 。 呼叫者ID的存储卡非常奇怪,这可能是由于最大程度地减少了硬件改动,同时又为更强大的新固件扩展了ROM容量。 结果,尽管可以安装多达64 KB的ROM,但是内存中只有32 KB可用,在8 KB RAM的存储区之间交替。 完整ROM的32 KB一半可以通过输出到端口进行切换,但是演示不需要这样做,所有内容都适合32K。 在ROM映像中,应将8 KB的存储区连续排成一行,因此,必须使用汇编指令和BAT文件,我必须将存储区的位置安排在所需的地址处,并加上零,分开保存并合并到最终映像中。

演示中约有一半的效果是用诚实的代码编写的,而后一半的时间已经用完了,它是以动画形式制作的。 动画是在鞭打的编辑器LED9ED中绘制的 ,可在我的网站上下载。



由于效果的密度很高,每个效果大约需要4秒,并且效果会逐渐改组,因此在接近截止日期的情况下,演示的中央16秒部分的内容完全消失了。 迫切发明了一种显着的填充效果,尽管它很粘,但随着下降段的出现,与先前编写的频谱分析仪交替出现。 我不得不希望声音信息的高密度能够将注意力从显示器上的长时间动作中转移出来。

欢迎区中的名字是对过去的爱好者的致敬。 这些是在初始屏幕和代码中找到的AON固件作者的姓名。

尽管这不是一个主题,但错过机会展示著名的七段式题字EGGOG也是不可原谅的。 最合理的地方是在最后发现的-演示以模仿失败开始,并以错误消息结束。

分析软件实现的效果没有多大意义,一切都是相当透明的。 值得一提的是,该平台的主要功能是对软件动态指示的需求,也就是说,您需要不断地对显示的位进行排序,并包含所需的段。 这是通过中断来完成的。 选择的中断速率相当高,为960赫兹(每个中断约4166个时钟周期),并且通过任意长度的列表进行指示,该列表描述了放电打开的顺序。 除了具有稳定的亮度和稳定的显示效果外,还可以轻松实现两种效果-具有特有的八位亮度的“冻结”(数字枚举停止工作)和亮度变化的效果(某些放电在一个周期内打开几次)。 在正常显示模式下,显示器的刷新率约为106赫兹,从而消除了肉眼可察觉的闪烁,并简化了随后的视频拍摄。

乐曲


唯一的AON声音通道建立在8253计时器的一个通道上,并且实际上是复制PC Speaker设备,只是使用不同的输入频率-也就是说,在处理器运行时,它可以发出给定高度的声音。 无法更改信号的形状和音量。 由于我一段时间以来一直在经典PC扬声器上研究音乐主题-我编写了PCSPE VST工具,可以在现代DAW中方便地创建此类音乐,并获得了安排严格单音的旋律的经验(一次只能发出一个音符)-解决方案很明显:不编写另一个1位引擎,而只是在PCSPE中制作音乐并将其改编为AON。 它不那么费力,声音真实,在意识形态上是真实的-将熟悉之处中的不寻常之处榨干。



音乐是用收割机写的。 因为开始演示的艺术想法是模仿标准的Rus固件发布,所以我只是重复了这一旋律,模仿了一些典型的声音(按键,标准铃声),并从中构建了节奏感。 此外,基于最初的想法,该曲目逐渐发展为逐渐复杂的道路-越来越多的聚会,产生了多个通道同时发出声音的幻觉。 由于该演示中最困难的效果的想法是从左到右以不同的亮度水平运行的符号,让人联想到Kitt机器的灯光,因此我还制作了一个带有Knight Rider旋律的插入片段,并找到了合适的放置位置。

选择的平台在视觉手段上非常有限,为了增加娱乐性,最初决定做trackmo,即音乐和视觉效果的精确同步。 因此,演示的音乐和情节主要是并行创造和编写的。 与跟踪器不同,在跟踪器中仅显示当前模式和顺序列表,在“收割者”中您可以看到轨道及其整体结构,并可以轻松地重新排列片段。 这有助于对演示的结构和内容进行决策。

不幸的是,要使效果与音乐精确同步非常困难。 我的原始仿真器中的声音与显示不完全匹配,很难在硬件上进行频繁的测试,并且没有时间使用时间戳开发正常的同步系统。 结果,在某些地方您可能看不到音乐中效果的确切音调。 虽然有时间,但在整个过程中,都是手动调整时间,但最后我不得不接受最不准确的同步,并按原样发布。

除声音外,语音样本还包括用于AON的固件。 在此过程中,我大体上整理了它们的存储格式,并听了其中有很多有趣的事的样本(3-4种不同的声音,从固件到固件的借用,毫不客气,将订户发送到各个地方的短语)。 有一个想法是在由这些样本组成的演示中插入语音,用可识别的声音说出一些意想不到的内容。 但是没有足够的时间来提出一个好主意及其实现。 有趣的是,旧固件中的声音以4位采样的形式存储,采样频率为4500-5000 Hz,并通过PWM定时器播放。

录影带


为了演示不寻常的硬件演示,而无法使用该硬件参加聚会,我需要录制和编辑视频-对于程序员来说,创建演示不是一个普通的职业。



在开发过程中,使用了两种设备,一种设备用一块小板完全无法呈现,另一种使用大板保存得很好的经典VEF-TA-12 。 测试主要在第一个进行,最后一个调试过程和视频录制在第二个进行。 尽管其中的指示符类型相同,但在显示上较大的数字上也有不同之处。 从显示器到滤镜的距离越小,大概起了作用。

该显示器的一个有趣特征是计算器ALS318 ,事实证明,在我手握的所有AON副本中,一些放电明显损失了亮度。 最有可能的事实是呼叫者ID喜欢挂起,并且当动态指示冻结时,长时间的放电之一会以全亮度点亮。 尽管可以选择并放置最生动的显示,但我对此并没有做任何事情,因此认为这可以增加视频的真实性。

一切都在最后一刻急忙地用普通的摄像机拍摄了,然后又迅速地安装在Blender中-因为在那里我以某种方式知道如何做,但是手头上什么也没有。 入门部分旨在提醒您这是什么技术奇迹,并解释另一个程序是如何实现的。 该计划还具有一个将ROM插入板中的框架,但是由于ROM面板的状态而不得不将其丢弃,这需要用一只长满淫秽的手进行两只手更换。

发布和结果


对于那些对蠕虫的生活和组织的细微之处感兴趣的人的部分。

事实证明,该演示位于ZX Spectrum类别中。 在活动开始前的两周,对规则进行了修订,说允许参加此类别的活动“适用于ZX Spectrum兼容计算机和不迟于1991年发布的其他计算机”。 实际上,该类别已变成组合的Oldschool演示 ,即适用于所有旧计算机平台的演示,并且由于场景政治的原因,名称保持不变。 当然,这引起了一定程度的误解和批评,并且已经开始成为当地的模因。

此外,在聚会上,由于各种比赛中作品数量不足,大多数用于稀有平台和Wild的演示都被合并到Combined Demo中 ,除了我的工作外,只有一部非ZX的作品进入了ZX Demo 。 在这种情况下,我认为在“ 合并的作品”中突出显示这两项作品会更合适,而这次仅以ZX Spectrum的名义与ZX Spectrum竞争。 如果在发送工作时知道这种情况,则可以选择“ 组合演示”类别。

由于什么原因,我决定不参加“ 野生”类别的展览(传统上它以视频和动画的形式展览作品,尽管从理论上讲它也适用于非标准平台上的作品)。 我并不认为实际上这项工作非常接近这个方向。但这仍然是一个真实的演示,带有真实的TRD二进制代码和源代码,适用于过去类似于我们的家用计算机的真实且非常流行的平台。它可以轻松启动并在实际硬件上查看-与控制台一样,您只需要一个程序员即可。铁本身也很便宜,绝对比ZX-81更便宜。也没有模拟器。换句话说,这不是一次以视频形式出现的独特,难于重复的动作(例如ATM的演示或罕见的摄像机模型),任何人都可以轻松地看到我的作品并立即执行类似的操作。

资料下载


带有源
AONZ80Emu的AONDEMO用于Windows
LED9ED用于Windows
PCSPE用于具有VSTi支持的DAW

Source: https://habr.com/ru/post/zh-CN421961/


All Articles