自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (7)
  • 收藏
  • 关注

原创 从零开始写NES模拟器

之前写了如何写一个nes模拟器,感觉有些语焉不详,现补充一个小白文章。FC游戏模拟器是如何工作的我们小时候很多人玩过任天堂的红白机游戏。但是它是如何工作的,却很少有人提及。今天我们来讨论任天堂的游戏机工作机制。首先我们看到的是游戏画面,实际上老式的电视的分辨率是240*256的。它是如何工作的呢?FC游戏机中包含CPU,PPU,卡带,内存。当我们开机时,CPU加载卡带的游...

2019-06-04 07:28:19 4986

原创 ucgui 的内存设备使用

在前一次的文章中叙述了使用存储设备防止显示对象重绘时发生的闪烁现象,但是没有达到实际的效果。在今天的文章中仍然使用存储设备,不过实际使用了存储设备中有相同功能的两个函数。GUI_MEMDEV_CopyToLCD(GUI_MEMDEV_Handle hMem)函数和GUI_MEMDEV_CopyToLCDAA(GUI_MEMDEV_Handle hMem)函数。得到了两种不同的效果:先将原函数附下,运行结果截图赋予函数下方。#include "GUI.H"#include "windows....

2020-08-14 08:07:39 406

转载 用51单片机控制RTL8019AS实现以太网通讯(转)

互联网络硬件、软件的迅猛发展,使得网络用户呈指数增长,在使用计算机进行网络互联的同时,各种家电设备、仪器仪表以及工业生产中的数据采集与控制设备在逐步地走向网络化,以便共享网络中庞大的信息资源。在电子设备日趋网络化的背景下,利用廉价的51单片机来控制RTL8019AS实现以太网通讯具有十分重要的意义。1 以太网(Ethernet)协议一个标准的以太网物理传输帧由七部分组成(如表1所示,单位:字...

2019-12-31 16:18:50 1214

原创 在Ubuntu下,从零开始写操作系统(2)-笔记

进入保护模式,并显示一个'L'保护模式之前,开A20,载入gdt,lmsw ax,载入机器状态字一句话就可以进入保护模式。进入后要立即长跳转到32位代码。/*设置文件*/.code16.text mov $3,%ax int $0x10 /*显示进入设置文件*/ mov %cs,%ax mov %ax,%ds mov %ax,%es mov %ax,%fs...

2019-06-13 10:45:30 262

原创 在Ubuntu下,从零开始写操作系统(1)-笔记

上一篇讲到如何在屏幕上显示一个Hello,world!本篇要从软盘中读取文件——Loader.bin由于起始扇区只有512字节,要在FAT12中读取文件Loader.bin,代码比较紧凑。下面是fat12的文件系统BPB,其中的值基本上都是固定的。jmp LABEL_START /* 跳转指令 */ nop /* 这个nop指令是可选的,如果你用的是e9指令(长跳转),这个是不需要...

2019-06-13 10:38:17 363

原创 在Ubuntu下,从零开始写操作系统(0)-笔记

1.安装Ubuntu 16.04操作系统 32位,因为16.04版本是最稳定的版本。安装方法请百度。2.安装bochs; 命令:sudo apt-get install bochs3.安装gcc;可能系统没有自带gcc, 命令:sudo apt-get install gcc编写如下代码//16位的代码段.code16//代码起始.text mov %cs,%...

2019-06-12 09:19:55 263

原创 如何写一个NES模拟器(四)——6502CPU的模拟

如何模拟6502的CPU呢?       6502的CPU主频大约是1.78MHz,什么意思呢?就是1秒钟能运行1.78M个CPU循环(cycles)。NES每秒生成60个帧,每个帧有262条扫描线。那么每条扫描线的CPU循环数就是:1.78 M / 60 / 262 = 113.23 cycles。由于现代的CPU主频过高,我们在运行113个循环后可以睡眠一会。或者更简单的一个方法是,每一帧...

2018-11-08 16:49:06 6835

原创 如何写一个NES模拟器(三)——精灵的显示

 上次写到显示命名表,接下来可以显示精灵了。给初学者补充一下,在windows屏幕显示图像的流程是这样的,分配一段内存称为显存,把所有像素都写入(通过draw_window_point函数)进去,然后再通过CreateDIBSection创建位图,再用Bitblt函数绘制到前台。 闲话少叙,进入正题。NES中精灵由专门的精灵内存(256字节)存放,在硬件中,一般映射在CPU的某个部...

2018-11-08 13:22:34 2578

原创 如何写一个NES模拟器(一)

1.认识NES文件格式偏移0-3  字符串“NES^Z”用来识别.NES 文件偏移4 16kB ROM 的数目偏移5  8kB VROM 的数目(摘自《任天堂产品系统文件》)NES文件的前16个字节是文件头,前4个字节是NES^Z,文件标识。第5个字节是16K ROM的数量,第6个字节是8K VROM的数目。ROM文件格式具体是这样:16字节(文件头)+16K x N(程序主体...

2018-11-07 10:24:33 9317

原创 如何写一个NES模拟器(二)——显示命名表

  前面写了读取和显示图案表,现在来写如何显示命名表。这些内容都出现在《任天堂产品系统文件》中,若有疑惑,请下载此文件。PPU 的内存空间如下地址0x0000- 0x1fff 是图案表,所有屏幕显示的(点阵)图案都从这里获取。下面是PPU的4个命名表(0x2000-0x2fff),通俗的来说,这4个命名表就是显示在屏幕上的画面了。0x3f00起始的16个字节是背景调色板,0x3f1...

2018-11-06 23:09:32 2479

原创 Hook DirectX 在War3 魔兽争霸界面写屏

由于经常玩Dota,11平台出来以后,发现War3界面上有一行字,“游戏正在进入....”。就想到了它的实现方式,HOOKAPI。《Windows核心编程》中有关于hookapi的描述, 以前都是——先改写原函数的前5个字节,跳转到自己的函数,还原原函数,调用,结束。前段时间看到微软的这个Detours库,实现更方便,多线程时更安全。 Detours库,可以在微软官方下载,

2015-06-28 17:55:10 6076 2

DAQ97-90002.pdf

SCPI指令集 详细介绍(安捷伦)

2021-03-15

Icepak进阶导航案例.pdf

icepak进阶案例,pdf版。制作了书签。 1. 电路板热模拟方法 2.强迫风冷机箱热模拟计算 3.外太空机箱热模拟计算 4.MRF模拟轴流风机 5.芯片封装热阻计算 6.芯片封装Delphi模型的提取 7.散热器热阻优化计算 8.水冷板散热模拟计算 9.TEC热电制冷模拟计算

2019-06-03

icepak 进阶应用导航案例

icepak 进阶应用导航案例,王永康编著,这是ppt教程,书籍的简化版。

2017-05-18

Tchart 5.0控件

为了没有积分的会员能下载Tchart 控件,特上传本控件,不要分哦。

2014-12-15

类Windows的自制操作系统源码(原创)

自制的操作系统,拥有windows的窗口外观。有部分注释,希望有人一起来完善。

2013-11-01

中国象棋-局域网对战版 VC++源码

自己写的超简单的象棋对战源代码,没什么技术含量,初学者看不懂的话,可以和我交流。 技术要点:网络Select函数的应用 数据结构的应用 异常处理(有一点) 我的QQ:93626150 Email: [email protected]

2010-04-15

中国象棋源码——未实现网络

参考王晓春写的象棋源码,本来想实现局域网对战,但网络部分不清楚怎么写,请大家赐教。

2009-08-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除