开源项目介绍:VirtuaNES 模拟器

专栏导航

上一篇:Visual Studio 软件操作:添加附加依赖项

回到目录

下一篇:无

本节前言

对于本节所讲解的知识,有可能,你会需要时不时地参考本专栏之前的文章。真的遇到了需要参考之前的文章的知识点,请你自行查阅。

我呢,也会提到一部分的参考课节。但是呢,你不应该依赖于我的主动提及。最好呢,你自己能够多去了解和查看本专栏目录。

通过最近几章的知识讲解,我想,大家应该是对 Windows 程序设计有了初步的了解了。

本节,我们来介绍一个开源的软件,VirtuaNES 模拟器。

一. VirtuaNES 模拟器简介

对于 80 后,90 后来讲,他们很可能会接触过小霸王游戏机,或者叫做红白机。

在那个小霸王游戏盛行的时代,放学后,或者五一,十一假期,寒暑假,小伙伴们聚在一起玩小霸王游戏,应该会是一种常见的情景。

小霸王游戏,大概会是许多的 80 后,90 后的一种充满回忆的东西了。

相比于现今的网页游戏,手游,3D 网游啥的,小霸王游戏是一种非常简单的游戏。它的画质,运行机制啥的,与穿越火线,和平精英,王者荣耀之类的游戏,是完全不能相比的。然而,就是这样的一种技术条件有限的游戏,它充满了可玩性与趣味性,它填充了一代人的童年回忆。

个人觉得,相比当今时代新出的 switch,PS5,xbox 等等的许多的主机游戏,小霸王游戏是不逊色的。我自己在逛游戏店,看到新的主机游戏的时候,往往有一个感觉,那就是,这些个新游戏的画质,特效等等,这种技术元素是完美地胜过小霸王游戏的。然而,在可玩性,趣味性上面,我认为,它们是不如小霸王游戏的。

当初,想要玩小霸王游戏,需要去购买游戏机和游戏卡。将游戏卡插在游戏机上面,连上手柄,连接好电源等等的接线,调好电视模式,就可以开机玩游戏了。

如今,想要玩小霸王游戏,若是想要有着较好的游戏体验,一个可行的选择,是采用模拟器。

本节,我们所要介绍的模拟器,叫做 VirtuaNES 模拟器。

VirtuaNES 模拟器,它可以玩很多的小霸王游戏,包括原版的与改版的游戏。它体积小巧,方便灵活。

我们来看一看它的运行视频演示。

超级玛丽演示

我在视频中演示的,是红白机游戏里面,比较经典的一款游戏,叫做超级玛丽。

小的时候,常玩的游戏,有超级玛丽,坦克大战,魂斗罗1代,魂斗罗2代,魂斗罗3代(也有人管它叫魂斗罗力量,魂斗罗外传,魂斗罗6代),双截龙2代,双截龙3代,魔鬼总动员,人间兵器,赤色要塞,快打旋风,忍者神龟3代,松鼠大战1代,松鼠大战2代,金刚战士,加纳战机,三目童子,忍者猫,冒险岛1代,冒险岛3代,等等。

有机会,我会教一下大家,如何来使用 VirtuaNES 模拟器,来玩小霸王游戏。

本节,我主要是想向大家介绍这款模拟器软件。

二. 为啥要介绍 VirtuaNES 模拟器开源项目

我为啥要去讲,而你为啥要去学呢?

经过一段时间的学习,我想,Windows API 知识,MFC 知识,很多人应该是能够学完的。可是,学完了基础知识以后,要如何来进阶学习呢?

或许,你可以进入某一家企业,跟着项目走。

可是,现如今的时代,MFC,Windows API,已经是不流行了,市场上难得见到使用 Windows 程序设计技术,来编写软件的企业了。这种情况下,若是想要精进技术,又该如何做呢?

阅读开源软件的源代码,其实是一个不错的选择。

刚好,VirtuaNES 模拟器软件,它就是一款开源软件。我们可以通过阅读它的源代码,来了解这款模拟器软件的运行机制,也由此来锻炼和提升自己的 Windows 程序设计的技能。

对于有兴趣进行 Windows 程序设计的学习与应用的同学来讲,VirtuaNES 模拟器是有着这样的作用的。

然而,VirtuaNES 模拟器的作用,不止于此。

VirtuaNES 模拟器,它要模拟的,是 80,90 年代的小霸王游戏机的行为。小霸王游戏机,使用的是一款叫做 6502 的 CPU 。

我们通过学习 VirtuaNES 模拟器的源代码,也可以了解 6502 CPU 的运作机制。

在我的规划里,我是打算去建设一批教程的,以培养一批操作系统与 CPU 开发人员,培养一批系统级程序员。

通过学习 VirtuaNES 模拟器的源代码,我们可以了解一点 6502 CPU 的运作机制。而了解 6502 CPU 的运作机制以后,我们便有机会,将这样的一款 CPU,给再现出来。结合着 Verilog HDL 硬件描述语言,使用着市面上能够买到的赛灵思 FPGA 开发板,再结合着焊接开发板的一些个技术,我们便有机会,自行组合出一套小霸王游戏机,并用它来运行小霸王游戏。

所以呢,如果在学习 VirtuaNES 模拟器的过程中,我们能够了解 6502 CPU 的行为,并使用 Verilog HDL 等等的硬件描述语言,将这一款 CPU 给再现出来,我们便可以用运行机制相对简单的 6502 CPU,用它的源代码,来讲授 CPU 的原理,培养 CPU 开发人才。

培养 CPU 开发人才,是我计划去开展的一个大的任务。

VirtuaNES 模拟器软件,是一个小的软件,但却是可以用来运行小霸王游戏的一个软件。我们可以通过这样的软件代码,来了解 Windows 程序的开发思路,来精进 Windows 程序设计的技术。

在当今时代,Windows 操作系统,是一款非常成熟的电脑操作系统,它有着极为成熟的图形界面。

想要研发操作系统,图形界面这一块,是必须要去搞好的。学习图形界面的知识,学习设计图形界面软件,我认为,是培养操作系统开发人才的十分重要的步骤。

在本节,我向大家介绍 VirtuaNES 模拟器软件。将来,我还有可能亲自去讲解 VirtuaNES 模拟器的源代码。通过这种源代码的阅读与讲解活动,我希望能够锻炼和提升大家的 Windows 程序设计水平,并且为培养操作系统开发人才作准备。

这样的一个小小的 VirtuaNES 模拟器软件,这样的一个小小的开源软件项目,我们可以用它来培养操作系统开发人才与 CPU 设计人才,可以用于培养系统级程序员。

而培养系统级程序员,是我建设一系列教程的目的所在。

真的想要培养系统级程序员,光靠 VirtuaNES 模拟器开源项目代码,那是不够的。但是呢,它的确是可以成为系列教程中的重要的组成部分。

若是有兴趣成为系统级程序员,那么,你可以关注我。

三. 下载编译好的 VirtuaNES 开源项目代码

本节,我们暂且不去讲解,如何去下载 VirtuaNES 的源代码。

本节呢,我们会去讲解,如何去下载一个,已经编译好了的,VirtuaNES 模拟器开源项目。

这个开源项目的源代码,我之前从 CSDN 与 GitHub 里面已经下载过了。下载完了以后,我又请人帮忙编译了这个项目。分别使用 VS2010 和 VS2019 来编译。

结果呢,VS2010 编译出来的软件,能够正常运行,而 VS2019 编译出来的软件,运行起来会有点小问题。

不过,好歹,我们是有了一个,可以用 VS2010 来编译和运行的完整的开源项目源代码啊。

在请人帮忙编译完了以后,我自己又去尝试着重新编译了一次。结果呢,我自己也算是掌握了编译 VirtuaNES 模拟器软件的方法了。使用 VS2010 来编译 VirtuaNES,我也会了。

本节,我要向大家介绍的,便是我编译好了的,使用 VS2010 来编译的,VirtuaNES 模拟器项目代码。

我把编译好了的项目代码,放在了我个人的 Gitee 仓库里面了。

下面,我给出这个 Gitee 仓库的网址。

Gitee 仓库:VirtuaNES 项目网址

点进去以后,大家看到的是下图所示的界面。
图1

如果你还没有注册过 Gitee 的账号,你需要先去注册和登录它,然后你就看到图1 所示的界面了。如果你已经注册过,那么,你应该是直接可以看到图1 所示的界面的。

在图1 的右边,我用红色框线展示了一个按钮,【克隆/下载】,请大家点击它。结果如下图所示。
图2

在图2 的右上方,我用红色框线展示了一个按钮,【下载 ZIP】,请大家点击它。接下来呢,会弹出来验证界面。验证过程请自行完成。验证通过以后会弹出下载链接,请大家自行将这个 zip 压缩包给下载回去,并使用解压软件来将 zip 压缩包给解压好。

在这里,为了演示的方便,我将这个 zip 压缩包下载到我的电脑桌面。如下图所示。
图3

解压好之后,如下图所示。
图4

这是一个,我已经编译好了的 VS2010 项目,所以呢,大家可以直接使用 VS2010 软件来导入这个项目。

我们先来打开文件夹,并进入下面的路径中。
图5

在这个界面中,我们往下拖动滚动条,可以找到下图所示的文件。
图6

图6 的红色框线所展示的,是 .sln 后缀的解决方案文件,我们可以用 VS2010 来打开它。

注意,如果你的系统既安装了 VS2010,也安装了 VS2019,那么,最好不要直接双击这个解决方案文件。因为,直接双击【VirtuaNES.sln】文件,很可能,你启动的,会是 VS2019,而不是 VS2010 。

接下来,请大家自行启动 VS2010 软件,并使用 VS2010 来打开图6 所示的【VirtuaNES.sln】解决方案文件。

结果如下。
图7

在这里呢,如果你忘记了如何使用 VS2010 软件来打开一个项目或解决方案,请参考下述文章。

参考课节:在 VS2010 里面,打开一个项目

刚刚打开这个项目,我们需要来编译一下。

请大家一起来操作,依次点选【生成】,【生成解决方案】菜单命令,结果如下图所示。
图8

如果,你那里的编译结果如红色框线所示,显示成功,那就对了。

因为,我这里,已经是将项目给调试好了。

接下来,请大家一起来操作,依次点选【调试】,【开始执行(不调试)】菜单命令,结果如下。
图9

出现了这个界面,那就对了。

不过,此时的这个软件界面,可能,你不能直接用它来玩游戏。

如何用它来玩游戏,我们本节不讲。

请大家先关闭 VirtuaNES 模拟器软件和 VS2010 。

大家此时刚刚学完本专栏的第 3 章,此时,你直接去学习 ViryuaNES 源代码,我认为,时机是不成熟的,因为太早了,必要的基础知识,你还尚未掌握。

啥时候去学习呢?

至少,你得把相当于佩措尔德教材的知识,给基本学完才好吧。

当然了,如果你能够将佩措尔德和 Prosise 的教材都给学得差不多了,那就更加地可以去学习 VirtuaNES 的源代码了啊。

在这里,我们只是给出来一个准备,让你心里有个数。让你了解,在学习完了本专栏的内容以后,为了进一步去学习 Windows 程序设计知识,你可以通过阅读 VirtuaNES 的源代码来进阶学习。

我们的源代码是调试好了的,你可以运行软件。因此,你可以通过运行软件,观察软件的行为,来调试代码,了解软代码运行机制。

有一个地方,需要大家注意一下。

请大家再次打开 VS2010 与 VirtuaNES 项目代码,并关注下述的界面区域。
图10

如图10 的红色框线所示,我们的编译配置,采用的是 Release 模式。如果你需要去调试代码的话,那么,你需要首先将红色框线所示的东西,调整为 Debug 模式。调整方法,就是点击红色框线所示的列表框的向下三角号,然后在出现的选项中,选择 Debug 选项,如下图所示。
图11

在这里,我就暂时不去修改编译配置了。

在你那里,如果有一天,你需要去调试代码,那么,你就可以去修改编译配置,采用 Debug 配置。

注意啊,当你修改了编译配置,将原本的 Release 配置修改成了 Debug,或者是将 Debug 配置修改成了 Release,无论是哪一种修改情况,若是想要让新的编译配置选项生效,你必须要重新编译项目。

所谓的重新编译项目,意思就是,你得重新点选【生成】,【生成解决方案】菜单命令,新的成功编译的结果,才能够让你的新的编译配置情况生效。

既然都讲到了 VirtuaNES 模拟器项目代码的下载,那么,如果不向大家讲解如何来使用这个软件,似乎有点遗憾。

从下一节开始,我们将会花费一点时间,用来讲解 VirtuaNES 模拟器软件的基本使用方法,我会教大家,用 VirtuaNES 模拟器来玩小霸王游戏的基本操作方法。

总 结

希望大家能够喜欢 VirtuaNES 模拟器,喜欢小霸王游戏。

也希望大家能够将 Windows 程序设计知识给学好。

本节结束。

专栏导航

上一篇:Visual Studio 软件操作:添加附加依赖项

回到目录

下一篇:无

相关推荐
十五年专注C++开发2 小时前
CMake进阶:find_package使用总结
开发语言·c++·cmake·跨平台编译
吉普赛的歌2 小时前
【服务器】Windows Server如何配置一个账号多个用户可以远程登录
运维·服务器·windows
weixin_456808382 小时前
【沁恒蓝牙开发】2.4G PHY TX 数据流程
c语言
Sɪʟᴇɴᴛ໊ོ2352 小时前
C语言getchar()函数详解
c语言
闻缺陷则喜何志丹2 小时前
【计算几何】平面凸包
c++·数学·扫描线·凸包·单调性·上凸包·下凸包
-To be number.wan2 小时前
C++ 运算符重载入门:让“+”也能为自定义类型服务!
开发语言·c++
黎雁·泠崖2 小时前
Java 方法栈帧深度解析:从 JIT 汇编视角,打通 C 与 Java 底层逻辑
java·c语言·汇编
汉克老师3 小时前
GESP2025年12月认证C++一级真题与解析(编程题1 (小杨的爱心快递))
c++·数据类型·选择结构·格式输出
hqyjzsb3 小时前
2026年AI证书选择攻略:当“平台绑定”与“能力通用”冲突,如何破局?
大数据·c语言·人工智能·信息可视化·职场和发展·excel·学习方法