EMU2:简单的文本模式X86和DOS仿真器

2021-04-14 07:12:40

这是一个简单的DOS模拟器,用于Linux文本控制台,支持基本Dossystem调用和控制台I / O.

仿真器在命令行和更多选项asenvironment变量中接受某些选项,这允许子进程(程序运行的程序由您的Dosprogram运行)继承配置。

emu2_debug_name文件的基本名称要编写调试日志,请默认为未给出的exe name。

EMU2_PROGNAME DOS程序名称,如果未尝试将UNIXname转换为等效的DOS路径。

emu2_cwd dos当前工作目录,如果没有试图将当前目录转换为默认驱动器中的等效DOS路径,或C:\如果不可能。

emu2_drive_n将UNIX路径设置为驱动器n的root,默认为UNIX工作目录中的所有DRIVESPOINT。

emu2_codepage将DOS代码页设置为指定的字符串。设置为'?'包含代码页的Toshow列表,用逗号多种激动人心。设置为文件名以读取具有Unicode值foreach字节的文件的题称表。您可以从ftp://ftp.unicode.org/public/mappings/vendors/micsft/pc/thece-page设置下载映射表/ public/mappings/vendors/micsfte/pc/code-page设置影响键盘输入和屏幕输出,但不会更改DOS NLS信息。默认代码页是cp437。

emu2_lowmem将主内存限制为512kb,这修复了一些旧的dosprograms,其中有一个错误使用&#34检查可用内存;签名"比较的注释(JLE而不是JBE)。这是至少适用于MASM版本1.0和1.10的。

对于一个简单的例子,我们可以从古董寄件3中运行Turbo Pascal 3,作为文件TP302.zip。

$ mkdir tp302 $ cd tp302 $ unzip ../tp302.zip$ ls $ ls $ lsaccess3.box calc.pas demo-bcd.pas graph.p subdir.pas turbo.comart.pas cmdline.pas外部.doc lister.pas TINST.COM TURBO.MSGCALCDEMO.MCS COLOR.PAS GETDATE.PAS自述TINST.MSG TURTLE.PASCALC.HLP DEMO1-87.PAS GETTIME.PAS README.COM TURBO-87.COM WINDOW.PASCALC.INC DEMO2-87.PAS GRAPH .bin sound.pas turbobcd.com $ chmod + w *

最后是必要的,因为您希望之后要修改程序文件。

主文件名为" turbo.com",还有一个" readme.com"要阅读更多信息,请尝试:

您可以按EXIT返回命令行。现在,您可以配置编译器,因为Readme表示,只需加载Tinst.com,按" s" (屏幕类型)," 0" (默认)," n"(屏幕不眨眼)和" q"退出。

$ emu2 tinst.com turbo pascal安装菜单。从以下选择安装项目:[S] Creen类型| [C] OMMAND安装| [m] sg文件路径| [q] UIT输入S,C,M或Q:选择以下显示之一:0)默认显示模式1)单色显示器2)彩色显示器80x25 3)彩色显示器40x25 4)B / W显示器80x25 5)B / w显示40x25whers显示? (输入否。或^ q退出):文本滚动时屏幕是否闪烁? (y / n):

$ emu2 turbo.com ------------------------------------------------------------------------ - Turbo Pascal Systegs版本3.02 PC-DOS版权所有(c)1983,84,85,86 Borland Inc.---------------------------------- --------默认显示模式包括错误消息(Y / N)?记录的驱动器:C Active Directory:\ Work文件:主文件:编辑编译运行保存Dir退出编译器选项文本:0字节免费:62024字节>

尝试加载程序,使用" E"要编辑,键入" window.pas",您在编辑器中:

第1行1 Col 1插入缩进C:Window.PAS程序TestWindow; {$ c-} {窗口演示程序版本1.00a该程序演示了IBM PC上的Windows在IBM PC和True Compatibles上使用。伪代码1. MakeWindow - 在屏幕上绘制窗口框2.重复updateWindow 1 - 向上或向下滚动每个窗口的窗口内容。 UpdateWindow 2 UpdateWindow 3,直到按下键3.重置为全屏窗口说明1.使用Turbo.com编译器编译此程序。 2.键入退出程序的任何键。 }

退出编辑器,类型"控制+ K"和#34; D"在提示中,您现在可以输入" R"托管并运行程序。

对于一个更高级的示例,我们可以从SameAntique软件集合中安装和运行Turbo Pascal 5.5作为文件TP55.zip。

如您所见,该程序以两个磁盘分发,并且必须在运行之前安装。

输入Enter,再次输入驱动器" A"再次安装在硬盘上,转到Doverto"开始安装"再进入。安装程序显示错误,这是因为我们将所有内容复制到一个驱动器。简单地输入" s"跳过所有错误。

完成完成后,我们必须再次运行安装,以便之前复制缺少的文件,使用相同的命令行:

再次,按ENTER到问题并转到"开始安装"这次会完成错误。

$ emu2 tp / tpc.exe - '路径= c:\ tp' turbo pascal 5.5版权所有(c)1983,89 Borland Internationalsyntax:TPC [选项]文件名[选项] / b构建所有单位/ $ a-无字对齐/ dxxx定义条件/ $ b +完成布尔评估/ exxx exe& TPU目录/ $ d-没有调试信息/ fxxx查找运行时错误/ $ e-no 8087仿真/ gs映射文件与段/ $ f + force far call / gp map文件与公共ick / $ i- no i / o检查/ gd详细的地图文件/ $ l-没有本地调试符号/ ixxx包含目录/ $ mxxx内存分配参数/ l磁盘链路缓冲区/ $ n + 8087代码生成/ m make修改单位/ $ o + overdays允许/ oxxx对象目录/ $ r +范围检查/ q安静编译/ $ s-无栈检查/ txxx turbo目录/ $ v- no var-string checking / uxxx单位目录/ v exe调试信息$ emu2 tp / tpc.exe tp \\ qsort.pas - '路径= c:\ tp' turbo pascal版本5.5版权所有(c)1983,89 Borland Internationaltp \ qsort.pas(66)66行,4384字节代码,2668字节数据。$ emu2 tp / qsort.exe ....