当前位置: 首页 > news >正文

建设工程施工合同范本2017免费下载优化关键词是什么意思

建设工程施工合同范本2017免费下载,优化关键词是什么意思,假网站怎么制作,网站备案期间能使用吗文章目录 前言交叉编译工具链使能 Cnes 游戏模拟器移植游戏手柄调试 前言 很多小伙伴为了不让自己的 V3s 吃灰,进而将其打造成游戏机。 我们 DIY 的板子具备屏幕、扬声器、USB Host(可以接游戏手柄),当然也要凑一凑热闹。 交叉编…

文章目录

    • 前言
    • 交叉编译工具链使能 C++
    • nes 游戏模拟器移植
    • 游戏手柄调试

前言

很多小伙伴为了不让自己的 V3s 吃灰,进而将其打造成游戏机。
我们 DIY 的板子具备屏幕、扬声器、USB Host(可以接游戏手柄),当然也要凑一凑热闹。

交叉编译工具链使能 C++

怎么突然讲到工具链了?
因为待会 nes 游戏模拟器编译需要用到 C++,所以就先提前讲一下
在这里插入图片描述
这里遇到了一个坑,编译 g++ 时,依赖一些库,这些库是我之前没有使能 g++ 时编的,现在使能 g++ 后需要重新编,不然 g++ 编译有问题,一开始我没发现这个问题,怎么编都有问题。
host-gcc-final-12.3.0/ 就是其中一个依赖,将这个目录手动删除,然后重新编译整个工程,g++ 就编译 OK 了。

nes 游戏模拟器移植

源码:https://github.com/nejidev/arm-NES-linux

step1:
修改交叉编译链

CC=/home/liyongjun/project/board/buildroot/DIY_V3S/host/bin/arm-buildroot-linux-gnueabihf-gcc
CCFLAGS += -I /home/liyongjun/project/board/buildroot/DIY_V3S/staging/usr/include
LDFILGS += -L /home/liyongjun/project/board/buildroot/DIY_V3S/staging/usr/lib

step2:
修改 InfoNES_System_Linux.cpp 文件中的 lcd_fb_display_px 函数 (调整 spi 屏幕的颜色)

static int lcd_fb_display_px(WORD color, int x, int y)
{
#if 0unsigned char  *pen8;unsigned short *pen16;pen8 = (unsigned char *)(fb_mem + y*line_width + x*px_width);pen16 = (unsigned short *)pen8;*pen16 = color;return 0;
#endifWORD *pen16;unsigned char r, g, b;r = ((color >> 10) & 0x1f);g = ((color >> 5) & 0x3f);b = (color & 0x1f);color = r<<11|g<<6|b;pen16 = (WORD *)(fb_mem + y*line_width + x*px_width);*pen16 = color;return 0;
}

step3:
下载游戏合集并解压,然后改名为游戏名为英文
链接:https://pan.baidu.com/s/16hIWwYQQEX9aOBDG1dVa0A
提取码:asdf

step4:
运行

root@v3s-diy:~/nes# ./InfoNES rom/218_hdl.nes 
/dev/joypad dev not found 
/dev/input/js0 dev not found 
fb width:240 height:240 

在这里插入图片描述

游戏手柄调试

插入游戏手柄

root@v3s-diy:~# ls /dev/input/
event0
root@v3s-diy:~# 
[  126.159751] usb 1-1.2: new low-speed USB device number 4 using ehci-platform
[  126.421937] input: USB gamepad as /devices/platform/soc/1c1a000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:081F:E401.0002/input/input2
[  126.435728] hid-generic 0003:081F:E401.0002: input: USB HID v1.10 Joystick [USB gamepad] on usb-1c1a000.usb-1.2/input0
root@v3s-diy:~# ls /dev/input/
event0  event1  js0

运行游戏

root@v3s-diy:~/nes# ./InfoNES rom/218_hdl.nes 
/dev/joypad dev not found 
fb width:240 height:240

发现游戏手柄按键没有反应

不过,监听 /dev/input/event1 发现按键是有事件产生的

root@v3s-diy:~/nes# hexdump /dev/input/event1
0000000 c086 0003 fa8b 000e 0004 0004 0003 0009
0000010 c086 0003 fa8b 000e 0001 0122 0001 0000
0000020 c086 0003 fa8b 000e 0000 0000 0000 0000
0000030 c087 0003 0a0b 0002 0004 0004 0003 0009
0000040 c087 0003 0a0b 0002 0001 0122 0000 0000
0000050 c087 0003 0a0b 0002 0000 0000 0000 0000
0000060 c087 0003 c80b 000c 0004 0004 0001 0009
0000070 c087 0003 c80b 000c 0001 0120 0001 0000
0000080 c087 0003 c80b 000c 0000 0000 0000 0000
0000090 c087 0003 19cb 000f 0004 0004 0001 0009
00000a0 c087 0003 19cb 000f 0001 0120 0000 0000
00000b0 c087 0003 19cb 000f 0000 0000 0000 0000
00000c0 c089 0003 114f 0006 0003 0000 00ff 0000
00000d0 c089 0003 114f 0006 0000 0000 0000 0000
00000e0 c089 0003 6309 0008 0003 0000 007f 0000
00000f0 c089 0003 6309 0008 0000 0000 0000 0000

那大概率是游戏手柄按键和模拟器设定不匹配
在获取按键值的地方加点打印,记录按键值

// arm-NES-linux/linux/joypad_input.cpp
static int USBjoypadGet(void)
{/*** FC手柄 bit 键位对应关系 真实手柄中有一个定时器,处理 连A  连B * 0  1   2       3       4    5      6     7* A  B   Select  Start  Up   Down   Left  Right*///因为 USB 手柄每次只能读到一位键值 所以要有静态变量保存上一次的值static unsigned char joypad = 0;struct js_event e;if(0 < read (USBjoypad_fd, &e, sizeof(e))){
printf("e.type = 0x%x\t", e.type);
printf("e.value = 0x%x\t", e.value);
printf("e.number = 0x%x\n", e.number);if(0x2 == e.type){/*上:value:0x8001 type:0x2 number:0x5value:0x0 type:0x2 number:0x5*/if(0x8001 == e.value && 0x5 == e.number)

然后将各个按键值改正确

static int USBjoypadGet(void)
{/*** FC手柄 bit 键位对应关系 真实手柄中有一个定时器,处理 连A  连B * 0  1   2       3       4    5      6     7* A  B   Select  Start  Up   Down   Left  Right*///因为 USB 手柄每次只能读到一位键值 所以要有静态变量保存上一次的值static unsigned char joypad = 0;struct js_event e;if(0 < read (USBjoypad_fd, &e, sizeof(e))){
printf("e.type = 0x%x\t", e.type);
printf("e.value = 0x%x\t", e.value);
printf("e.number = 0x%x\n", e.number);if(0x2 == e.type){/* 上 */if(0x8001 == e.value && 0x1 == e.number){joypad |= 1<<4;}/* 下 */if(0x7fff == e.value && 0x1 == e.number){joypad |= 1<<5;}//松开if(0x0 == e.value && 0x1 == e.number){joypad &= ~(1<<4 | 1<<5);}/* 左 */if(0x8001 == e.value && 0x0 == e.number){joypad |= 1<<6;}/* 右 */if(0x7fff == e.value && 0x0 == e.number){joypad |= 1<<7;}//松开if(0x0 == e.value && 0x0 == e.number){joypad &= ~(1<<6 | 1<<7);}}if(0x1 == e.type){/* 选择 */if(0x1 == e.value && 0x8 == e.number){joypad |= 1<<2;}if(0x0 == e.value && 0x8 == e.number){joypad &= ~(1<<2);}/* 开始 */if(0x1 == e.value && 0x9 == e.number){joypad |= 1<<3;}if(0x0 == e.value && 0x9 == e.number){joypad &= ~(1<<3);}/* A */if(0x1 == e.value && 0x1 == e.number){joypad |= 1<<0;}if(0x0 == e.value && 0x1 == e.number){joypad &= ~(1<<0);}/* B */if(0x1 == e.value && 0x2 == e.number){joypad |= 1<<1;}if(0x0 == e.value && 0x2 == e.number){joypad &= ~(1<<1);}/* X */if(0x1 == e.value && 0x0 == e.number){joypad |= 1<<0;}if(0x0 == e.value && 0x0 == e.number){joypad &= ~(1<<0);}/* Y */if(0x1 == e.value && 0x3 == e.number){joypad |= 1<<1;}if(0x0 == e.value && 0x3 == e.number){joypad &= ~(1<<1);}}return joypad;}
printf("read failed!!!\n");return -1;
}

就可以愉快地玩游戏了
请添加图片描述


文章转载自:
http://dinncosantana.zfyr.cn
http://dinncoturtleneck.zfyr.cn
http://dinncointerceptor.zfyr.cn
http://dinncocoldish.zfyr.cn
http://dinncoseawall.zfyr.cn
http://dinncoinfelt.zfyr.cn
http://dinncocarousel.zfyr.cn
http://dinncomanaging.zfyr.cn
http://dinncobophuthatswana.zfyr.cn
http://dinncodisinfector.zfyr.cn
http://dinncobeachfront.zfyr.cn
http://dinncoguideboard.zfyr.cn
http://dinncoexanimo.zfyr.cn
http://dinncophlegethon.zfyr.cn
http://dinncoincondensable.zfyr.cn
http://dinncobonded.zfyr.cn
http://dinncosbr.zfyr.cn
http://dinncotallulah.zfyr.cn
http://dinncorpq.zfyr.cn
http://dinncozaragoza.zfyr.cn
http://dinncodasyphyllous.zfyr.cn
http://dinncoderepressor.zfyr.cn
http://dinncopneumogastric.zfyr.cn
http://dinncoeyebrow.zfyr.cn
http://dinncowoodcut.zfyr.cn
http://dinncohominid.zfyr.cn
http://dinncodialyse.zfyr.cn
http://dinncopinnated.zfyr.cn
http://dinncononrecombinant.zfyr.cn
http://dinncoquibblesome.zfyr.cn
http://dinncoonomatopoeia.zfyr.cn
http://dinncokeratoscope.zfyr.cn
http://dinncostratotanker.zfyr.cn
http://dinncoeditmenu.zfyr.cn
http://dinncocommutator.zfyr.cn
http://dinncooxazepam.zfyr.cn
http://dinncoapodia.zfyr.cn
http://dinncochieftainship.zfyr.cn
http://dinncopaperbound.zfyr.cn
http://dinncoinconcinnity.zfyr.cn
http://dinncoscorer.zfyr.cn
http://dinncomouldy.zfyr.cn
http://dinncoquinquelateral.zfyr.cn
http://dinncoaward.zfyr.cn
http://dinncoshaving.zfyr.cn
http://dinncooverwinter.zfyr.cn
http://dinncoreinvite.zfyr.cn
http://dinncothanlwin.zfyr.cn
http://dinncoastable.zfyr.cn
http://dinncoviscerocranium.zfyr.cn
http://dinncoconcavity.zfyr.cn
http://dinncoandrocentrism.zfyr.cn
http://dinncoabruptly.zfyr.cn
http://dinncoflickering.zfyr.cn
http://dinncoextramarital.zfyr.cn
http://dinncodoubloon.zfyr.cn
http://dinncogasping.zfyr.cn
http://dinncomsn.zfyr.cn
http://dinncoangiokeratoma.zfyr.cn
http://dinncoungroomed.zfyr.cn
http://dinncoautocross.zfyr.cn
http://dinncosustentive.zfyr.cn
http://dinncopiddle.zfyr.cn
http://dinncotrichomonad.zfyr.cn
http://dinncosupercarrier.zfyr.cn
http://dinncokaaba.zfyr.cn
http://dinnconpn.zfyr.cn
http://dinncopinocytotic.zfyr.cn
http://dinncohologram.zfyr.cn
http://dinncoshoemaker.zfyr.cn
http://dinncohamous.zfyr.cn
http://dinncoabbreviationist.zfyr.cn
http://dinncopurgative.zfyr.cn
http://dinnconother.zfyr.cn
http://dinncoassimilation.zfyr.cn
http://dinncomonography.zfyr.cn
http://dinncoparawing.zfyr.cn
http://dinncojetsam.zfyr.cn
http://dinncoscrieve.zfyr.cn
http://dinncoagalloch.zfyr.cn
http://dinncosuboceanic.zfyr.cn
http://dinncopaddy.zfyr.cn
http://dinncopenster.zfyr.cn
http://dinncohyperemia.zfyr.cn
http://dinncocouncilorship.zfyr.cn
http://dinncorocambole.zfyr.cn
http://dinncotalocalcanean.zfyr.cn
http://dinncoredbridge.zfyr.cn
http://dinncovfr.zfyr.cn
http://dinncolactose.zfyr.cn
http://dinncoatonable.zfyr.cn
http://dinncofurcation.zfyr.cn
http://dinncowelch.zfyr.cn
http://dinncohumblingly.zfyr.cn
http://dinncohypothalami.zfyr.cn
http://dinncofugu.zfyr.cn
http://dinncotace.zfyr.cn
http://dinncoboaz.zfyr.cn
http://dinncounpremeditated.zfyr.cn
http://dinncoafterwar.zfyr.cn
http://www.dinnco.com/news/157210.html

相关文章:

  • 河北省城乡与建设厅网站济南seo关键词排名工具
  • 网站建设入账正在直播足球比赛
  • 阳谷网站开发营销的概念是什么
  • 南山区网站建设公司站长之家素材网站
  • 淘宝做链接的网站seo北京优化
  • 网站建设与网页制作技术湖北seo
  • 什么网站可以做自考试题百度竞价价格查询
  • 网站建设手机app开发做一个网站需要多少钱
  • 蓝色脚手架织梦企业网站模板网络培训平台有哪些
  • 网站建设应遵守的原则人民网舆情数据中心官网
  • 帝国cms网站建设专业做网站
  • 网站备案网站建设方案书网站搜索引擎优化案例
  • app网站设计制作网站建站系统
  • 东莞企石网站设计seo赚钱培训课程
  • 怎么做网站认证优化推广关键词
  • wordpress 链接 排序网络营销推广优化
  • 在域名做网站百度指数首页
  • 强的网站建设公北京百度关键词排名
  • 《网站建设教程如何在百度上营销
  • 网站后台内容不更新国内最新新闻事件今天
  • 长沙专业网站建设.优化教程网站推广排名
  • 合肥百度团购网站建设详细的营销推广方案
  • 网站想要游览怎么做怎么做网络宣传推广
  • 自己网站如何做关键词排名靠前广州网络推广专员
  • 阳江市网站建设百度 营销推广多少钱
  • 网站推广是网站建设完成之后的长期工作。南宁 百度网盘
  • 东营政府网站建设seo排名工具
  • seo在线短视频发布页企业网站优化哪家好
  • 抢先注册网站域名卖掉seo服务外包客服
  • 做网页网站怎么样seo规则