Software

软件

有大量的伟大的软件,作者和版权所有者已经免费提供给最终用户。 而不是重复的努力,我尽可能使用标准工具。 偶尔,那里没有什么比较适合账单。 这里有一些奇怪的工具,你可能会发现,如果你不能得到一个更一般的工具来快速有效地完成这项工作,你会发现。


日历转换

美国航空航天局和商业卫星行业的大部分时间是从日期开始的,而不是排序发射,调度跟踪设施和其他任务规划活动的月/日日期。 在定期参与规划的时候,通常要携带一个“万年历”,这是一张包含转换表的单张纸。 一边有1到365年的共同年表,另一边有从1到366的闰年表。电子表格很容易处理这种转换。

惠普32SII 的一年一年

由于我经常发现自己没有“万年历”或电子表格程序,但是使用我的Hewlett-Packard 32SII可编程计算器,我写了一个执行转换的计算器程序。 该程序从Jean Meeus的书天文算法实现方程式 Meeus将前向转换算法归功于美国海军天文台 ,并将反向转换为荷兰的私人记者。

Perl中的Julian日数

在用于长期规划和数据分析的台式机上,天文学中普遍使用的更完整的儒略日号系统很方便。 这个Perl脚本位于〜/ bin中 ,使用三种不同的算法在公历日期和朱利安日数之间进行转换。 如果在命令行上可选地指定,一种算法能够转换分数天,即小时,分钟和秒。

PCLNFSS – 用于PCL字体的LaTeX 2e样式文件

一组样式文件,用于在任何PCL 5e或更高版本的高端打印机的ROM中使用标准的45个可缩放字体。 该软件包必须与dviljk或类似的DVI至PCL驱动程序一起使用, 以便从LaTeX生成的DVI文件生成PCL。

要做清单:

  • 更好的用户文档。
  • 生成用于T1编码的* .fd文件。 目前只支持OT1编码。
  • 改进* .sty包的命名,以避免与其他通用字体包的命名空间冲突。
  • 找出teTeX附带的special.map文件是否足够好,或者PCLNFSS中是否应包含单独的pclfonts.map文件。 src /目录中有一些例子* .map文件,其余的是Karl Berry的虚拟字体生成程序。
  • 虚拟数学字体是一个 PSNFSS。
  • 欧元符号支持。
  • 字符度量和字距调整表基于LaserJet 4开发人员CD-ROM中包含的标记字体度量(TFM)文件的值。 注意:这些文件与TeX字体度量标准文件不同,它们也使用TFM扩展名。 必须从某个地方提供更新的PCL产品中TrueType ROM字体的度量标准和字距调整表。 (令人惊讶的是,在打印机随附的用户CD-ROM上的TrueType文件中不包括字距表,字距调整表位于二进制驱动程序中)。这些较新的度量值应该包含在包中。

Xcms资源

很少有人需要在桌面上精确地进行色彩再现,大多数人以未校准的RGB模式或假定校准sRGB模式操作显示器。 自X11R5以来,X Window系统已经内置了显示颜色管理API,但文档散布在X分发版中,很少包含在XFree86发行版中。 如果没有正确的文档,软件很难使用。 幸运的是,有许多文档存档可用。 这是一个帮助休闲Xcms程序员的集合。



复古计算

有时由于某种原因,您可能会发现使用过时的设备是必要的甚至是愉快的。 由于教会的猜想似乎是真实的,当我们得到一台新机器时,我们不需要彻底摒弃过去的劳动。


高级研究院40位架构

1945年,在宾夕法尼亚大学摩尔电机工程学院的 Eckert和Mauchly与冯·诺依曼合作撰写了关于EDVAC的一份报告草稿 本文件描述了32位位串行架构的逻辑结构,并定义了存储程序电子计算机的概念。 一年后的1946年,Burks和Goldstine,最近搬到高级研究所加入冯·诺依曼的电脑工作,发表了一个电子计算工具的逻辑设计与冯·诺依曼作为第三作者的初步讨论 这个Burks,Goldstine和von Neumann的报告描述了一个40位的并行异步架构。 大多数现代计算机都来自第二份报告。 该设计被称为普林斯顿或IAS架构,以区别于艾肯的马克一世的哈佛建筑。 冯·诺依曼在国际会议组织了一个团队,以构建报告中概述的机器。 IAS电子计算机项目的进展报告得到广泛传播,导致在其他六个机构建设和安装类似的机器:阿贡国家实验室(AVIDAC),橡树岭国家实验室(ORACLE),洛斯阿拉莫斯国家实验室(MANIAC)伊利诺斯大学(ILLIAC),阿伯丁弹道研究实验室(ORDVAC)和兰德公司(JOHNNIAC)[JOHNNIAC目前在加州山景城计算机历史博物馆展出 ]。 ORDVAC和ILLIAC在伊利诺伊大学建成,然后ORDVAC运往阿伯丁考试场。 ORACLE和AVIDAC在阿贡建成,然后将ORACLE运到Oak Ridge。

1946年Burks,Goldstine和von Neumann报告和现代建筑手册之间的一个显着差异在于没有机器代码或指令布局。 今天,在现有机器上模拟新架构,因此在硬件实现开始之前,最终确定了指令集并进行了记录。 国际会计准则中的电子计算机项目组没有一台机器来模拟他们提出的架构。 实际指导集在实施过程中定稿。 IAS机器于1952年上线。实施的指令集的描述在机器运行第一年的Estrin公开文献中公布。 1954年,Goldstine,Pomerene和Smith出版了关于电子计算仪器物理实现的最终进度报告 ,其中列出了IAS机器中实施的指令集。

由于实际的指令编码在原始报告之后八年没有发布,因此IAS 40位架构的每个实现都具有独特且不兼容的指令集。 下面的链接导致包含针对架构的每个特定实现的指令集编码的文档。

  • IAS
  • ILLIAC
  • JOHNNIAC
  • MANIAC注意: Los Alamos限制某些政府机构的电子访问权限,如果您的代理机构在其批准的列表中,该URL将起作用。如果此URL失败,则技术报告LA-1725“MANIAC”的纸质副本可在芝加哥大学,宾夕法尼亚大学以及堪萨斯城林达大学科学与技术图书馆的图书馆馆藏。)
  • ORDVAC

40位IAS架构机器的其他资源包括:


IBM 704的拆装

IBM 704是第一款具有硬件浮点算术单位的商业化科学计算机,并在20世纪50年代为科学编程设定了标准。 今天仍然很有趣,原因有几个,首先是对编程语言结构的影响,第二,其用户社区和该社区开发和分发的编程工具。

CARCDR汇编子程序是Lisp历史上 着名的例子 有关这两个子程序的列表,请参阅Steve Russell(MIT AI实验室备忘录AIM-6)的编写和调试程序 Fortran被开发为704的科学编程语言,固定格式源代码输入格式的许多边界是由于704架构的特性所致。 36位字机只能将两个二进制字从一个puch卡卡行加载到内存中,这对应于标准80列行的前72列。 704使用6位BCD字符编码,具有6个字符的单词。 由于机器是字地址,不是字符寻址,将标签和变量名称限制为6个字符是有意义的。 因此,标签和连续字符组成输入卡的前6列,变量名称限制为6个字符。 704的三个索引寄存器和缺乏间接寻址使多维数组成为主导数据结构。

第704台导致了第一台电脑用户群SHARE 在加州南部航空工业( 现代化身 )形成。 SHARE成员开发了一个通用的汇编器,SHARE汇编程序或SAP,用于交换子程序和程序库。 保罗·皮尔斯(Paul Pierce)的努力,大量的SHARE软件仍然以机器可读的形式存在。 SHARE代码库中的第一个磁带,由1955-1957年的汇编器和库子程序组成,可能代表了现有的最早的机器可读社区开发的编程系统。 IBM的商业科学汇编程序(Fortran II装配程序或FAP)在SAP之后建立了模型。

IBM的后续科学计算系统,管逻辑709和晶体管逻辑7030(STRETCH),7090和7094主要保留了与704的二进制兼容性。分享继续为IBM 709(SHARE操作系统,缩写为SOS)[Shell,DL,et al。 共享709系统。 (六篇论文)。 ACM学报 ,Vol。 6,No.2,1959,pp.123-155]。 对于System / 360,IBM终于破坏了硬件兼容性,并为旧的科学应用程序提供了一个仿真解决方案。

SHARE程序主要以BCD源形式分发,但一些例程是列二进制格式。 反汇编器将将160字节的标准输入(表示列二进制卡映像)转换为人类可读形式。 反汇编器首先打印卡上的孔的ASCII表示,然后再进行二进制拆装。

相关链接:


Atlas – 用于UNIX系统的1103A仿真器

Atlas是Univac Scientific 1103A的模拟器。 除了实现CPU的所有41个基本指令,包括重复( RPjnw ),Atlas还模拟程序中断功能。 仿真器作为交互式命令行程序运行,并解释存储在模拟内核/磁带存储器中的二进制1103A机器代码。 仿真提供的设备包括以八进制形式直接输入机器代码,断点,拆卸和手动步骤调试。 模拟输入/输出设备包括纸带读取器,纸带冲头和电子打字机。

仿真器是用C编写的,应该可以移植到大量的UNIX系统中。 它需要一个编译器,支持C89标准的两个C99扩展:64位整数( unsigned long long )和C ++ -style注释( // )。 仿真器目前在Linux上运行(gcc或Intel cc for IA-32),SunOS(Sun cc或gcc for SPARC)和Darwin(gcc for PowerPC)。


用于HP Series 80和Integral个人电脑的BASIC拆卸器

部分教师的名誉成员约有一天,一台3.5“的软盘充满了Hewlett-Packard Integral Personal Computer的BASIC程序,1985年的Integral PC是Corvallis,俄勒冈州分公司生产的最新一台个人电脑惠普是从20世纪70年代中期到90年代中期开发手持式可编程计算器产品最有名的,早期的80系列台式机工作站大都在1980-83年,使用了原来为计算器市场设计的定制HP 8位微控制器,并启动通过ROM直接进入BASIC解释器,与那个时代的许多8位计算机一样,Integral PC使用16位摩托罗拉68000,并从相当大的512k ROM引导到UNIX(HP-UX 5.x)。技术基础IPC的封装被设计为与Series 80 BASIC源兼容。

积分PC在磁盘上格式化了77个气瓶。 我可以在运行Red Hat Linux, setfdprm(8)的PC和以下/ etc / fdprm条目上使用标准软盘驱动器来将软盘记录到磁盘映像。

 #HP Integral Personal Computer
 hpipc 1386 9 2 77 0 0x2A 0x02 0xDF 0x50

磁盘映像生成:

 setfdprm / dev / fd0 hpipc
 dd bs = 9k count = 77 if = / dev / fd0 of = disk.img

一旦以磁盘映像的形式,Peter Johnson的IPC实用程序在运行Debian Linux的HP 9000/782(C240)PA-RISC工作站上编译,用于从Integral PC的分层文件系统中提取单个文件。 任何大端机都将与彼得公用事业公司合作,这些公用程序最初是在运行Solaris的SPARC上开发的。

与上世纪80年代的大多数微型计算机BASIC口译员一样,Integral PC的技术BASIC可以以ASCII源形式保存程序,也可以以解释器使用的内部二进制标记格式存储程序。 在磁盘上的130多个程序中,只有两个保存为ASCII。 二进制标记格式的加载速度和紧凑性使其成为归档目的的逻辑选择。

磁盘上的两个程序以ASCII和二进制标记格式进行归档。 使用这两个程序,以及原始HP-85 BASIC格式的描述[NA Mills,HC Russell,KR Henscheid,“Enhanced BASIC Language for a Personal Computer”, Hewlett-Packard Journal ,Vol。 1980年7月31日,第7期。 26。 写下了以下的拆装器。

这些BASIC解释器在源文件中的每一行内部使用反向波兰符号(RPN)语法。 去折算的输出以详细的RPN呈现,每行一个令牌,而不是以每行多个令牌的中缀符号。 操作码随BASIC解释器进行修改并移植到每个新机器上,因此出现在一个版本的detokenizer中的操作码不一定显示在其他版本中。 由于磁盘上可用的程序的性质是数学而不是I / O相关的,所以许多I / O操作码是未知的。 detokenizers远未完成,但提供足够的输出能够读取代码和评论,并将程序端口到现代平台上的符号语言。

稍后版本的机器的更新版本的解释器无法从以前的型号中读取标记化的二进制格式。 HP支持的代码迁移方法是通过ASCII SAVEGET


VT200系列终端的软字体转换

十多年来,我唯一的家用计算机设备是数字设备公司VT220兼容终端(GraphOn 230),连接到调制解调器。 由于八十年代中期的8位字符集已经开始使用,所以硬件终端开始出现限制。 此Perl程序将位图分布格式(BDF)中的标准6×10 X Window System字体转换为DEC sixel图形,并将上一页下载到终端。 终端可以与任何标准的ISO拉丁文8位字符集一起使用。

Click Here to Leave a Comment Below 0 comments

Leave a Reply: