DosBox环境配置

DOSBox 是一个基于 x86 架构的 PC 的模拟器,它允许用户在现代操作系统上运行 DOS 程序。DOSBox 是自由软件,可以在 Windows、Linux ,macOS 等操作系统平台上运行。

DOSBox 最初的设计目标是为那些依赖 MS-DOS 操作系统(即停止支持和维护)的旧 DOS 游戏或应用程序提供一个可靠的运行环境,同时最大程度地保留了这些软件能够熟悉的旧式图形界面和输入输出方式等特点。经过多年的开发和完善以后,DOSBox 已经成为一款非常流行的 PC 模拟器,并且还包含许多附加功能,如网络共享文件,挂载家目录等支持。

对于使用一些历史遗留软件或者喜欢玩老游戏的朋友,DOSBox 可以帮助他们微笑着回忆从前的黄金时代。

对于开发人员来说,DOSBox 主要有以下两个方面的意义:

  1. 能够运行老旧的 DOS 程序和游戏

    很多开发人员在学习计算机科学时可能会接触到一些历史悠久、但仍然具有价值的 DDL 和程序。而这些老旧的 DDL文件和程序通常都是针对 MS-DOS 操作系统或者 16位 Windows 系统编写的,在现代操作系统上无法直接运行。

    使用 DOSBox 就可以解决这个问题,它为用户提供了一个“虚拟”的 MS-DOS 运行环境,通过模拟硬件设备、内存分配和输入输出等功能实现了原生系统的99%兼容性,使得开发人员能够轻松地访问这些经典代码并将其应用到当前算法和方法中。

  2. 实验新技术和平台

    DOSBox 可以为开发人员提供一种安全可控的交互式实验环境, 即在不影响主机系统稳定性的前提下即刻尝试各种参数设置和应用场景调整.

    例如: 如果正在做低端嵌入式项目开发相關視窗程式工作,也许需要更改 PC 适配器/包含 CPU 组件的大小来模拟真实硬件和设备的架构,而在原生操作系统上进行类似调整可能会带来风险和重大影响。DOSBox 可以通过提供一个虚拟计算机、屏幕环境等组成部分缓解这些问题。

因此,在实践中,DOSBox 广受开发人员的欢迎,并且被广泛用于 C/C++ 开发、汇编程序设计以及学校课程教学等领域。

安装

DosBoxDoxBox-X 下载一个即可,区别是 DosBox-X 支持多语言且自定义程度相对高一些,当然对于初学者来说,DosBox 也完全够用。

配置

DosBox

下载好之后安装 DosBox,假设安装到 C:\DOSBox ,将汇编工具解压到一个目录,比如 C:\DOSBox\bin ,打开安装目录,用文本编辑器打开安装目录下的 dosbox.conf 文件,在文件末尾添加以下内容:

# 将 C:\DOSBox\ 挂载到 DosBox 的C盘
mount C: C:\DOSBox\ # 设置环境变量
set PATH=%PATH%;C:\bin\; # 将 C:\DOSBox\Workspace 挂载到 DosBox 的D盘
mount D: C:\DOSBox\Workspace # 初始时候的工作目录设置为D盘,即本地设备的C:\DOSBox-X\Workspace
D:

保存,退出。

DosBox-X

下载好之后安装 DosBox-X,假设安装到 C:\DosBox-X ,将汇编工具解压到一个目录,比如 C:\DosBox-X\bin ,打开安装目录,用文本编辑器打开安装目录下的 dosbox-x.conf 文件,在文件末尾添加以下内容:

# 将 C:\DOSBox-X\ 挂载到 DosBox 的C盘
mount C: C:\DOSBox-X\ # 设置环境变量
set PATH=%PATH%;C:\bin\; # 将 C:\DOSBox-X\Workspace 挂载到 DosBox 的D盘
mount D: C:\DOSBox-X\Workspace # 初始时候的工作目录设置为D盘,即本地设备的C:\DOSBox-X\Workspace
D:

保存,退出。

DosBox环境配置的更多相关文章

  1. Ubuntu系统下《汇编语言》环境配置

    说明 1.系统:Ubuntu codists@pc:~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Des ...

  2. uboot环境配置

    uboot环境配置 通过配置uboot让它在启动过程中从tftp获取内核和设备树,并从在加载内核之后把通过启动参数将"从nfs挂载根文件系统"传入内核.这个配置主要是通过uboot ...

  3. 史上最全Windows版本搭建安装React Native环境配置

    史上最全Windows版本搭建安装React Native环境配置 配置过React Native 环境的都知道,在Windows React Native环境配置有很多坑要跳,为了帮助新手快速无误的 ...

  4. Electron的环境配置

    原文地址http://huisky.com/blog/161218121551123 本文介绍了Electron的环境配置,包括Electron下载.nodejs下载安装.NPM+Bower安装配置. ...

  5. Python开发环境配置

    好久没有写博客了,自从6月份毕业后,进入一家做书法.字画文化宣传的互联网公司(www.manyiaby.com),这段时间一直在进行前端开发,对于后端的使用很少了,整天都是什么html.css.jav ...

  6. PHP_环境配置_python脚本_2017

    Apache配置 需要安装:VC2015 httpd-2.4.16-win32-VC14.zip VC14就是2015的环境. 又比如:php-5.6.12-Win32-VC11-x86 VC11就是 ...

  7. PHP环境配置

    PHP环境配置 1.Apache的安装 第一步: 1.    双击httpd-2.2.17-win32-x86-no_ssl.msi.出现 Windows 标准的软件安装欢迎界面,直接点“Next”继 ...

  8. Visual studio 通用开发环境配置:SDL,FFMPEG为例

    引言 每一个C++库的使用都是从开发环境的配置开始的,其实每个库的配置过程都是大同小异,总结下来有下面几个步骤: 下载库文件,这里假定是已经预先编译完成的. 配置库文件的包含目录(include)和库 ...

  9. windows 7下React Native环境配置

    React Native 是 Facebook 推出的一个用 Java 语言就能同时编写 ios,android,以及后台的一项技术,它可以做到实时热更新 .FaceBook 也号称这们技术是 “Le ...

  10. seL4环境配置

      转载声明:希望大家能够从这里收获知识之外,也能够体会到博主撰写博客的辛苦.个人博客势单力薄,对于强转甚至转载博客访问量高于原文的例子不在少数. 希望能够得到大家关注的同时,也能够稍微体谅一下博主的 ...

随机推荐

  1. Qt源码阅读(三) 对象树管理

    对象树管理 个人经验总结,如有错误或遗漏,欢迎各位大佬指正 @ 目录 对象树管理 设置父对象的作用 设置父对象(setParent) 完整源码 片段分析 对象的删除 夹带私货时间 设置父对象的作用 众 ...

  2. vite vue使用Markdown

    下载插件: npm i vite-plugin-md highlight.js github-markdown-css 配置插件: import Markdown from 'vite-plugin- ...

  3. 如何做到API文档规范化

    定义一个好的 API 文档是优秀研发人员的标准配置,在执行接口测试之前,测试人员一定会先拿到开发给予的接口文档. 测试人员可以根据这个文档编写接口测试用例,优秀的文档可以区分好的用户体验和坏的用户体验 ...

  4. pandas之画图

    Pandas 在数据分析.数据可视化方面有着较为广泛的应用,Pandas 对 Matplotlib 绘图软件包的基础上单独封装了一个plot()接口,通过调用该接口可以实现常用的绘图操作.本节我们深入 ...

  5. 碉堡!“万物皆可分”标记模型上线「GitHub 热点速览」

    这周有个让人眼前一亮的图像识别模型 segment-anything,它能精细地框出所有可见物体,它标记出的物体边界线清晰可见.如此出色的模型,自然获得了不少人的赞赏,开源没几天,就拿下了 18k+ ...

  6. JDK8到JDK17有哪些吸引人的新特性?

    作者:京东零售 刘一达 前言 2006年之后SUN公司决定将JDK进行开源,从此成立了OpenJDK组织进行JDK代码管理.任何人都可以获取该源码,并通过源码构建一个发行版发布到网络上.但是需要一个组 ...

  7. 基于 Github 平台的 .NET 开源项目模板. 嘎嘎实用!

    简介 大家好,为了使开源项目的维护和管理更方便一些,出于个人需求写了一款开源项目的模板,该模板基于 Github 平台,并使用 .NET 来实现管道功能. 在接受过实战检验后, 于今天开源, 项目地址 ...

  8. vue导入Excel数据并展示成表格

    前言: 用到的库参考链接: FileReader:https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader    这个在之前的下载exce ...

  9. Python表达式及运算符

    表达式 由一个或者几个数字或者变量或者运算符合成的一行代码 通常返回一个结果 运算符 由一个以上的值经过一系列的运算得到新值的过程叫运算 用来操作运算的符号叫运算符 运算符分类 算数运算符 比较或者关 ...

  10. 2020-08-22:I/O多路复用中select/poll/epoll的区别?

    福哥答案2020-08-22: select,poll,epoll 都是 操作系统实现 IO 多路复用的机制. 我们知道,I/O 多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是 ...