软硬件使用

Unity3D使用VisualStudio作为脚本编辑器以及配合NShader插件编辑Shader的方法

Unity3D自带了Mono Develop作为脚本编辑、Shader、调试用的IDE,虽然Mono Develop的功能也算强大,但是对于习惯了VS的开发人员来说,换个新IDE就得适应一套新的…额,感觉!

其实看看Unity项目文件夹内的内容可以发现Unity实际上是生成了VS用的项目文件的,sln、csproj之类的,也就是说是可以比较容易地换用VS作为项目脚本编辑IDE的,简单设置一下就可以了,Edit->Preferences…中修改External Script Editor选项,选中VS的devenv,便会被自动识别出来,如下图所示:

qq20121129103340

这样,点击脚本等的时候Unity就会弹出VS并自动打开关联的项目和要编辑的文件给你了。后来在使用时发现一个小问题,就是我的VS是带VA(大番茄VS程序员的最爱!)的,但如果用Unity启动的话VA会被自动禁用… Continue reading…

内网Visual Studio Code通过XDebug远程调试linux服务器PHP脚本

开发环境是这样:一台位于内网环境下的Windows机器使用VSCode作为IDE编写PHP脚本项目,一台位于公网的linux服务器运行lighttpd、fastcgi PHP用于部署调试。开发机所在网络环境不允许或不方便进行端口映射来打开XDebug所需的本地调试监听端口(默认9000),同时也不想安装本机PHP服务器来调试,于是采用本机编写PHP,然后上传linux服务器直接远程调试,记录环境搭建过程如下:
首先配置好开发机的IDE环境,我用的是VSCode 1.6.1,然后安装PHP Debug扩展,完成后选择一个指定文件夹作为项目根目录并在调试页中新建PHP调试配置,这时会在项目文件夹中生成.vscode/launch.json配置文件,按照PHP Debug的说明,加入serverSourceRoot与localSourceRoot,参考如下:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9000,
            "serverSourceRoot": "/var/www/lighttpd/phpproj",
            "localSourceRoot": "${workspaceRoot}"
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9000,
            "serverSourceRoot": "/var/www/lighttpd/phpproj",
            "localSourceRoot": "${workspaceRoot}"
        }
    ]
}

其中serverSourceRoot为项目位于服务器端的存储位置完整路径,localSourceRoot为本地项目存储位置完整路径,一般用环境变量${workspaceRoot}即可表示项目根目录。
Continue reading…

PS2港版90006安装Mars Pro GM-816HD直读的总结(bios 230主板GH-072-42替换Super-7 E17)

之前一直怀着对PS2的敬仰之情,在最末期的时候入手了全新的港版9W,既是为了收藏,也是为了怀旧一些经典游戏(包括PS1游戏,虽然有PSP吧,但总是没有感觉,一个人玩,没有震动等等…)。最近盘算着入手PS4的时候又想起了把吃了很久灰的PS2拿出来怀旧一下,偶然发现a9上关于PS2的黑科技一直在进步,比如OPNPS2LD+SMB这个新科技,基本已经很好的解决了9W没法做硬盘机的问题了,不用刻盘还是非常方便的!后来又发现论坛上一致认为9W最具性价比的直读:Mars Pro GM-816HD,主要看中的是能让9W支持记忆卡启动这点,否则为了用SMB得先用工具盘引导,进ulaunchelf,再运行OPNPS2LD,然后进游戏,进入的游戏可以用IGR的话还好,不可以的话换个游戏可是要等上一段时间的。

说是安装816HD,其实购机的时候还是装过直读的,当时的JS称装的是Pro7-III,由于购自某宝(店铺现已消失…),外加当时也不太懂直读的各种功能,拿到后试了几个送的D版游戏没问题就放心了,虽然之后想看DVD的时候没有成功,但也没太在意。

各处查资料后发现PS2的大部分直读焊接点都是差不多的,也看到有人说Pro7-III和816HD焊点都是一样的,结果拆开确认时发现直读装的是Super-7 E17:

IMG_0724

接着又找了很多816的接线图,发现还是有几个点位不太一样的(PS:9W的结构实在是太简单了,拆之前还找了很多7W的拆机视频,看着还觉得有点门道,结果拆自己的9W时,发现上盖一开,拿掉电源,拿掉光驱,拿掉风扇就剩主板了…不过要注意光驱的、电源开关等的排线,插拔时要小心,看起来就很薄脆的样子),不过觉得难度比较大的几个点位都一样,最终还是20几块入了816HD,准备打造个完美的90006,经过大概快10次左右的拆装、重新焊接、测试操作,最终实现了心愿,这里记录下过程中遇到的一些问题,因为发现虽然816的各种图纸、评测、改机资料不少,但是是GH-072-42型号主板的资料确实不多,改造期间遇到问题时主要也是四处找相关参考资料,比如别人焊好后的照片,看各种有疑问的点位等。
Continue reading…

PS2 DS2 H柄760020主板BU6370AK主控导电膜替换修复

朋友的两个H柄,其中一个故障严重,除了左右摇杆、L3、R3以外其余按键全部失灵(原因是N年前进了可乐…),另一个L1、L2、十字上左失灵,其余按键正常。打开看了下:

IMG_0756 IMG_0755
后盖看到是H柄、主板左上角有白色丝印的760020,查了下是H柄的第二版型号,按键胶垫下的导电膜上的型号是03-0241,看了下TB有卖相貌型号相近的,2块左右一张。观察了一下主板和导电膜的链接方式,发现如查到资料一样,导电膜插口与插槽是一体的,插槽排针直接焊接在电路板上,打开对比了下自己的A柄,导电膜是直接压在电路板上的。对比了下TB没有卖这种原版带插槽的导电膜的,不过好在有一家卖类似可插拔19pin插槽的。
对着电路板看了下走线,结合之前查到的资料说PS2的DS2手柄是带压感的,导电膜上的触点碳膜会根据按钮下导电胶压力大小改变阻值,再有主控芯片转为对应数字信号发送给主机,仔细看导电膜上触点两边线路的走向,可以看出除选择、开始和analog键外、其余碳膜触点均有一端是互通的,而这一端对应的是排针上左起第9针,于是用万用表一端接第9针,另一端接对应按键的针,可以看到再对应按键按下时,会有0-几k ohm左右电阻值变化(具体数值记不清了,当然,是用大部分按键可用的那支手柄测试的),而量到有故障的按键时,发现是断路状态,再对照导电膜上的走线,可以看出,L1、L2、十字上、左这4个键分别是最左边的几个针脚对应,而没问题的十字下正是十字左的下一端,所以判断应该是那4个键在导电膜上的线路出现老化断路了,另外一支手柄就更别提了,全都没有正常阻值,也不会根据压力而变化,唯有通过导电膜的左右摇杆还可以正常工作,感觉虽然进了可乐,但是主控芯片应该还能正常工作,于是TB进了替换膜和排插,开始更换。
Continue reading…

关于PS2无法识别部分PS1记忆卡问题的深究

之前给吃灰很久的PS2换上了816HD直读后,功能上算是进入了230 BIOS的9W完美状态,PS1游戏也算是可以完美支持了(目前没发现两次reset对功能有什么影响)。在重温一些PS1经典游戏时自然是少不了要存档的,于是翻出了封存15年的PS1记忆卡(当时是拿着记忆卡去游戏厅玩时用):
IMG_0744
插到PS2上发现开机的浏览器中无法识别,于是百度了一下,发现关于这个问题的论坛讨论还真不少,简言之就是说PS2对PS1的记忆卡兼容性不好,对于一些组装卡、杂牌卡无法识别等(很明显我这个就是组装卡,所谓的“牛屎”廉价芯片),但也有网友提到说组装卡没问题反而原装卡不行的。另外还有提到Sony当年出过的带液晶屏的Pocket Station是100%没问题,看了一下TB上还真有不少,当然也有直接卖号称可以在PS2上正常使用的PS1原装记忆卡的。就在差点买个原装PS1记忆卡的时候,我惊讶的发现我这个有年头了的组装记忆卡,虽然在PS2的记忆卡管理界面中不能识别,但是在引导进PS1游戏后是竟然是可以识别的,会提示记忆卡已满,读取存档的时候会提示无可用存档等,于是,猜测这个记忆卡应该没坏,可能是遇到了所谓的“兼容问题”。
再后来偶然玩起汉化的日版生化3时,发现这个记忆卡中居然有一个当年的日版生化3存档,又测试了一下发现读取正常,玩了一会存个档,发现覆盖存入也正常,也就是说这个卡只是不能在PS2的记忆卡管理界面中识别(后来也试过uLaunchElf等工具,也无法识别),在PS2运行PS1游戏时功能时完全正常的!
Continue reading…

从Win8.1升级到Win10后WOL网络唤醒失效的解决方法

之前的Win10各种预览版泄漏版的,虽然也有下过的但一直没来得及安装,最近Win10正式版发布了,而且符合条件的Win7、Win8Win8.1等都收到了更新推送,终于还是强迫症发作,点了下载更新到Win10,更新过程很顺利,但是还没来得及体验就发现了问题:升级之前Win8.1下没问题的WOL网络唤醒功能不能用了!
一度怀疑是路由器上的唤醒设置出错了,但转念一想最近也没修改过设置…后来在关掉Win10后仔细观察了下路由器上的LAN口提示灯发现:原本会有一个低速待机状态的连接提示现在没有了!本来开机的时候是千兆连接的提示灯,关机时是100/10速度连接的提示灯,也就是网卡并没有完全关闭,这是受到唤醒广播包时是可以顺利开机的,而现在连接提示灯是完全熄灭的!
于是开始找原因,发现果然有很多类似案例,升级Win10后WOL不能用了,但大部分是说从Win7升级后出现的,解决方法有关闭“快速启动”、睡眠关机等等,想想我又不是从Win7升级的,解释之前那些解决方法的原因是说Win8以后关机状态的电源模式从S4改成了S5什么的(没记错的话),所以影响了WOL功能。但我升级前在Win8.1下WOL是完全正常的,也没改过什么快速启动等等的设置。最后在远景论坛上看到有人说是Win10更新的“最新驱动”问题,恍然大悟,看了下设备管理器里网卡驱动被更新成了15年4月的一个版本,于是找回主板原配驱动,更新了回去:
QQ截图20150806223752
再次关机,LAN指示灯恢复了低速待机状态,尝试WOL唤醒成功!

使用Xcode 7 beta免费真机调试iOS应用程序

今天凌晨的WWDC15虽然没有熬夜守候吧,但也还是早起第一时间翻看了twitter的相关标签,发现比较实惠的一点就是新的Xcode 7可以在不加入每年99刀的Apple Developer Program的情况下真机调试应用了(不知道是不是迫于Android那“粗犷”的真机调试方式的压力,呵呵),而且Apple原来的三种平台开发账号合而为一了,不再分什么iOS的、OSX的、Safari的了,其它的什么iOS9、OSX 10.11的也都没细看,赶紧去下载了beta版:Version 7.0 beta (7A120f)来体验一下,当然,免费只是让你自己能随便玩玩,要想发布到Apple Store的话,保护费还是要交的。其实,从前几个版本开始、Apple就已经在简化Xcode真机开发时的什么certificate、provisioning profile之类的创建、修改操作了,后来又把test flight给收了,又改进了测试版本打包发布的流程,想想当年狂看文档研究Apple的Developer后台、iTC后台、certificate request、keychain什么的,真是不禁感叹,为了表示一下对当年吭哧的敬意,这里记录下Xcode 7如何免费真机调试iOS应用的简单方式:
Continue reading…

Perforce(P4)服务器设置Unicode模式解决中文文件、文件夹乱码问题

问题出现时的环境是这样的:p4d位于Linux服务器中,P4ROOT通过默认方式创建,并没有开启Unicode。客户端有Windows的P4V和Mac的P4V,此时用P4Admin查看服务器状态时可以看到Server Info中的Unicode support:是disabled的,这时在Windows端建立workspace并添加中文的文件、文件夹,Mark for add再Submit到服务器depot后,在Mac端的P4V直接查看Depot上的文件夹和文件时就会看到中文都变成了乱码,Get下来后也是会像%20这样的方式保存成文件名、文件夹名。检查后发现在服务器端没有开启Unicode模式时,客户端P4V中Connections菜单项内的Choose Character Encoding…是置灰的,而Perferences中Display内的Set encoding for all connections to:的选项在Windows上是CP936 GBK,Mac上是UTF-8,正是由于这个客户端非Unicode编码差异导致了Win上上传的中文在Mac下显示为乱码的问题。另外这时如果强制改变P4CHARSET环境变量,或通过命令行p4 set的方式改变连接的字符编码为UTF-8,再打开连接时会得到:“Unicode clients require a unicode enabled server”这样的错误提示!解决方法就是改变p4d服务器端的编码设置为Unicode模式:
Continue reading…

更新Yosemite 10.10后Android Studio无法启动的问题

更新最新的Mac OSX系统10.10 Yosemite后,忽然发现原来用的好好的Android Studio不能运行了,提示需要安装JDK 6,而Eclipse却没发现有任何问题。查看了系统偏好设置中的Java信息,发现是Update 7了,难道说Android Studio和10.10带的Java环境不兼容了?

又不想再装JDK 6(好像也装不上…),好在没过多久就找到了解决方法:打开”Android Studio.app/Contents/Info.plist”文件,修改其中的JVMVersion项值为1.7*(原来是1.6*),再次启动,问题解决!