游戏机狂想曲之51验证机
每个人都有一段美好的童年回忆,当年的天真和理想早已成为存档,但小时候FC游戏机给我带来的欢乐依稀残存于脑海。也许是受不了在虚伪的大学生活的苦闷吧,不知道哪一天自己突然冒出要做一台游戏机的想法,这个想法酝酿了很久,自己在ourdev论坛学到了很多,也得到了很多的灵感,于是在大二暑假的时候就着手制作,因为有很多想法都不知道能不能实现,于是先用51单片做住先。到现在为止,硬件已经基本完成了(因为中间有电子竞赛和实习,所以进度有点慢),底层的驱动程序和测试程序也基本写完了,但有些地方还是有点小问题的。现在正在写FAT32文件系统~~~基本硬件:MCU 11F32XE,数模转换 DAC0832,音频放大 LM386,SRAM HM62256 ,LCD 爱普生2.5寸横屏
每个人都有一段美好的童年回忆,当年的天真和理想早已成为存档,但小时候FC游戏机给我带来的欢乐依稀残存于脑海。也许是受不了在虚伪的大学生活的苦闷吧,不知道哪一天自己突然冒出要做一台游戏机的想法,这个想法酝酿了很久,自己在ourdev论坛学到了很多,也得到了很多的灵感,于是在大二暑假的时候就着手制作,因为有很多想法都不知道能不能实现,于是先用51单片做住先。到现在为止,硬件已经基本完成了(因为中间有电子竞赛和实习,所以进度有点慢),底层的驱动程序和测试程序也基本写完了,但有些地方还是有点小问题的。现在正在写FAT32文件系统~~~
基本硬件:MCU 11F32XE,数模转换 DAC0832,音频放大 LM386,SRAM HM62256 ,LCD 爱普生2.5寸横屏
面板pcb和schourdev_687578V8UMDU.zip(文件大小:464K) (原文件名:面板pcb和sch.zip)
主板pcb和schourdev_687579O2OSX2.zip(文件大小:278K) (原文件名:主板pcb和sch.zip) 第一次发帖,不小心多恩了一次ctrl v ,请大家见谅。由于学校的网速有点慢,照片和源码我会陆续传上~~ 用Altium Designer09画的pcb
http://cache.amobbs.com/bbs_upload782111/files_46/ourdev_687680W9IDSH.jpg
主板pcb (原文件名:ban.jpg)
http://cache.amobbs.com/bbs_upload782111/files_46/ourdev_687681TIB1AI.png
液晶+控制面板 (原文件名:pad.png) 硬件基本完成
http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_690997A1VNYU.jpg
(原文件名:DSC_1721_缩小大小.jpg)
http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_690998CB6XH4.jpg
主板正面 (原文件名:DSC_1723_缩小大小.jpg)
http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_690999RXDBY4.jpg
主板背面 (原文件名:DSC_1724_缩小大小.jpg)
http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_691000A12IGS.jpg
主板背面 (原文件名:DSC_1725_缩小大小.jpg)
http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_691001BK6JYI.jpg
液晶正面 (原文件名:DSC_1729_缩小大小.jpg)
http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_691002VWYTCF.jpg
液晶板背面 (原文件名:DSC_1730_缩小大小.jpg)
http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_691003O0V3I0.jpg
主板 (原文件名:DSC_1732.jpg)
http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_691004YVSG10.jpg
(原文件名:DSC_1733_缩小大小.jpg)
http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_691005GU52BQ.jpg
(原文件名:DSC_1747_缩小大小.jpg)
http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_691006PJDN2T.jpg
初步组装,还有两个按键没装 (原文件名:DSC_1754_缩小大小.jpg)
http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_691007SGN98N.jpg
TFT屏test (原文件名:DSC_1782_缩小大小.jpg) 我了个去,顶起!
等看效果。 不错呀.不过建议尽量将芯片都用贴片的 完成SD卡和TFT屏的底层程序,等不及了,先刷几张图看看先
http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_691011YU1A46.jpg
(原文件名:Snapshot_20111018_11.jpg)
http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_691012HX0KJW.jpg
(原文件名:Snapshot_20111018.jpg)
http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_691013HABLH8.jpg
(原文件名:Snapshot_20111018_5.jpg)
http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_691014W92G4E.jpg
(原文件名:Snapshot_20111018_9.jpg)
http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_691015IFCDL4.jpg
(原文件名:Snapshot_20111018_10.jpg)
WAV播放和图片浏览视频及目前所有源码在30楼.
按键测试~~
http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_691281WNJB3M.jpg
按键测试截图 (原文件名:Snapshot_20111103_1.jpg)
按键测试视频ourdev_691282QA2Y0T.avi视频文件大小:15.62M) (原文件名:keytest.avi)
目前按键测试有点小问题,那就是left键和A键发生串键,A键弹起的瞬间left键会有动作(在上面测试视频可以看到)。键盘是用74LS165弄的,left键对应下图key1,A键对应下图key8.估计是软件问题。大家帮分析下~~
http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_691294MQXNWT.jpg
按键部分的电路图 (原文件名:key.jpg)
这是按键部分的代码
#include"KEY_HC165.h"
#include"reg52.h"
sbit KEY_PL=P1^4;
sbit KEY_CLK=P1^5;
sbit KEY_OUT=P1^6;
uchar KeyVal;
void KeyInit(void)
{
TMOD=0x01;//T0工作于模式1:十六位定时器
TH0=0; //计数器赋值
TL0=0;
ET0=1; //T0中断允许
EA=1;//总中断允许
TR0=1; //开定时器
KEY_CLK=1;
KEY_OUT=1;
KEY_PL=1;
KeyVal=0;
}
void delaya(void)
{
xdata uint i=30;
while(i--) ;
}
void time0_interserve(void) interrupt 1 using 1//T0的中断编号为1,使用第一组寄存器
{
xdata uchar i;
TR0=0; //关定时器
KEY_PL=0; //置数
delaya();
KEY_PL=1;
delaya();
for(i=0;i<7;i++)
{
if(KEY_OUT) KeyVal=KeyVal|0x01;
KeyVal=KeyVal<<1;
KEY_CLK=0;
delaya();
KEY_CLK=1;
delaya();
}
if(KEY_OUT) KeyVal=0x01;
delaya();
TH0=0;
TL0=0;
TR0=1;//开定时器
}
+++++++++++++++++++++++++++++++++++++++++++++++++++++
main函数里面的按键测试部分
while(1)
{Dis_String(0,0," KEY testing....",0x0ff0,0x0000);
Dis_String(b,c-16," * ",i,0x0000);
Dis_String(b,c, " **0** ",i,0x0000);
Dis_String(b,c+16," * ",i,0x0000);
if(KeyVal&0x80) {Dis_String(68,30,"1",0x01f80,0x0000);b--;}
else Dis_String(68,30,"0",0x0ff00,0x0000);
if(KeyVal&0x40) {Dis_String(84,30,"2",0x01f80,0x0000); c--;}
else Dis_String(84,30,"0",0x0ff00,0x0000);
if(KeyVal&0x20) {Dis_String(100,30,"3",0x01f80,0x0000);b++;}
else Dis_String(100,30,"0",0x0ff00,0x0000);
if(KeyVal&0x10) {Dis_String(116,30,"4",0x01f80,0x0000); c++;}
else Dis_String(116,30,"0",0x0ff00,0x0000);
if(KeyVal&0x08) {Dis_String(132,30,"5",i,0x0000);i=0xf800;}
else Dis_String(132,30,"0",0x0ff00,0x0000);
if(KeyVal&0x04) {Dis_String(148,30,"6",i,0x0000);i=0x1f80;}
else Dis_String(148,30,"0",0x0ff00,0x0000);
if(KeyVal&0x02) {Dis_String(164,30,"7",i,0x0000); i=0xff60;}
else Dis_String(164,30,"0",0x0ff00,0x0000);
if(KeyVal&0x01) {Dis_String(180,30,"8",i,0x0000); i=0xffff;}
else Dis_String(180,30,"0",0x0ff00,0x0000);
if(c==0) c=0;
if(c>240) c=240;
if(b==0)b=0;
if(b>320) b=320;
//if(c==0)b=1;
//if(c==240) b=0;
//if(b==1)c++;
//else c--;
} FC用的处理器是6527和6538,外加两个2K的6116,主频都不高,好象是2M多
但是6538有硬件图象的两层卷轴处理,输出为256x224,硬件256色调色板,同屏幕显示16色,
只要图象输出的部分能模拟出来了,别的都好处理。
不知道你有什么好办法把6502的指令集给解释成51的代码? 顶 此帖必火! mark 51有点力不从心吧 坛里手弟用STM32也只能模拟显示和控制,对你的实现表示关注
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=481454 这个强 这个要留名,持续关注 支持,不模拟FC,自己写游戏玩吧。 严重关注 STC 的 51能在2.5寸彩色上跑 FC ????????????????帧率多少啊??? 这个要真跑起来了 一定要膜拜了 回复【19楼】ayumi8
stc 的 51能在2.5寸彩色上跑 fc ????????????????帧率多少啊???
-----------------------------------------------------------------------
哈哈,单一块stc的51+2.5寸的tft要实现FC基本是不可能的~~光刷新一屏都吃不消了。我当初的想法是用一块51模拟cpu,另一块51+cpld模拟mpu,但由于实现起来双mcu+cpld之间的协议还没想好,所以用一块51做了第一块主板玩住先。。。。 眼红了 回复【21楼】Razor风无影风
回复【19楼】ayumi8
stc 的 51能在2.5寸彩色上跑 fc ????????????????帧率多少啊???
-----------------------------------------------------------------------
哈哈,单一块stc的51+2.5寸的tft要实现fc基本是不可能的~~光刷新一屏都吃不消了。我当初的想法是用一块51模拟cpu,另一块51+cpld模拟mpu,但由于实现起来双mcu+cpld之间的协议还没想好,所以用一块51做了第一块主板玩住先。。。。
-----------------------------------------------------------------------
确实不太可能啊! mark。等待后续 mark!!!! 可以加个mpu啊小霸王那个就不错啊 mark 必须顶啊,MARK 确实很强..MARK 目前进度
视频上传有点慢~~
功能1:WAV播:ourdev_691134MK3VVM.avi视频文件大小:15.07M) (原文件名:jk.avi)
功能2:图片浏览ourdev_691135UC21PD.avi视频文件大小:21.47M) (原文件名:无标题_0001.avi)
目前的全部源码ourdev_691136VQ32W0.zip(文件大小:253K) (原文件名:mygamepad.zip)
程序写的有点粗糙···./emotion/em003.gif 哈哈
现在wav播放功能有点问题,那就是失真比较严重,沙沙声比较重,应该是程序问题(程序是匆匆忙忙写的,只粗略计算了采样率,其他的没认真计算过)。 不错~ 按键那样做能用? 回复【32楼】SNOOKER 山寨王
按键那样做能用?
-----------------------------------------------------------------------
按键很好用的说! 牛 这个要顶 强大啊。。。留名 膜拜,强大啊。。。 关注,mark 关注 不错mark下 MARK~
文件系统我写了一个比较好移植的单独模块,
我在论坛里发了帖子,楼主可以参考一下,
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=5095479&bbs_page_no=1&search_mode=3&search_text=Pony279&bbs_id=9999
22楼,代码还在完善中,不知道楼主是否需要,欢迎交流哈~ 回复【23楼】wuha 致命武器
回复【21楼】razor风无影风
回复【19楼】ayumi8
stc 的 51能在2.5寸彩色上跑 fc ????????????????帧率多少啊???
-----------------------------------------------------------------------
哈哈,单一块stc的51+2.5寸的tft要实现fc基本是不可能的~~光刷新一屏都吃不消了。我当初的想法是用一块51模拟cpu,另一块51+cpld模拟mpu,但由于实现起来双mcu+cpld之间的协议还没想好,所以用一块51做了第一块主板玩住先。。。。
-----------------------------------------------------------------------
确实不太可能啊!
-----------------------------------------------------------------------
我觉得如果配置改一下,再移植到STM32应该可以了吧? 关注!期待LZ真的能实现~~ 用51做游戏机,真的是够狂了~顶 mark 顶一个 不错,关注。 强啊!没有做不到 只有想不到呵呵 不错! 谢谢,最近也准备点液晶,SD,JPG,FAT这些代码很有用。 顶,lz可以出套件 这个 必须 顶!!!!!!!!
也想玩 回复【42楼】ylyfxzsx
建议lz先移植个个俄罗斯方块出来打下气先,这是最好实现的游戏了
-----------------------------------------------------------------------
哈哈,正有此意,不过我没研究过俄罗斯方块。贪吃蛇应该比俄罗斯方块简单吧。。我以前用FC手柄+51开发板做过贪吃蛇,直接移植过来应该就行了。晒一下以前的FC手柄版贪吃蛇···./emotion/em004.gif
http://cache.amobbs.com/bbs_upload782111/files_47/ourdev_691297H2GT3J.jpg
(原文件名:Snapshot_20110323_1.jpg) MARK 最高境界! mark.看看 回复【41楼】Pony279 霍斯
mark~
文件系统我写了一个比较好移植的单独模块,
我在论坛里发了帖子,楼主可以参考一下,
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=5095479&bbs_page_no=1&search_mode=3&search_text=pony279&bbs_id=9999
22楼,代码还在完善中,不知道楼主是否需要,欢迎交流哈~
-----------------------------------------------------------------------
谢谢,我会参考的,不过我还是习惯自己敲代码,哈哈 测试片外xram困惑了,mcu用stc89c52时,片外xram可以正常存取数据,但用stc11f32xe时,片外的xram貌似没用(试过屏蔽了片内xram和调节片外总线的速度都不行)求解释...... FC游戏机的芯片,听说是TI公司出的一个集成度非常高,型号7??的忘记了。
假设搞的到这个芯片的话,用51系列处理SD卡读取,用那个芯片直接处理,做个掌机玩玩不错的吧。 顶一个 顶 牛人 回复【59楼】nolanxf
fc游戏机的芯片,听说是ti公司出的一个集成度非常高,型号7??的忘记了。
假设搞的到这个芯片的话,用51系列处理sd卡读取,用那个芯片直接处理,做个掌机玩玩不错的吧。
-----------------------------------------------------------------------
搜了半天,找不到你说的芯片,TI还会出FC的专门芯片? 楼主,不是我打击你,你1上来,起点就选错了.折腾这个还是要STM32这个级别的,STC51折腾这个太吃力了,资源太紧缺了 回复【64楼】skynet 青青草原
楼主,不是我打击你,你1上来,起点就选错了.折腾这个还是要stm32这个级别的,stc51折腾这个太吃力了,资源太紧缺了
-----------------------------------------------------------------------
先用两个51+cpld试一下先吧,实在不行再换stm32+cpld (我记得国外有人用AVR的模拟出了FC的cpu的) http://www.ourdev.cn/bbs///bbs_content.jsp?bbs_sn=4814548&bbs_page_no=1&search_mode=4&search_text=skynet&bbs_id=9999
仅供参考 关注中。。。。。。 mark等待后续 再来关注 求进度 持续关注中。 哈哈,好玩 g00d 好久没有更新了,~~~ 最新进度--弹砖块游戏测试,先上图吧
http://cache.amobbs.com/bbs_upload782111/files_49/ourdev_707429Y630C6.jpg
(原文件名:Snapshot_20111225_2.jpg)
http://cache.amobbs.com/bbs_upload782111/files_49/ourdev_707430JLI3BR.jpg
(原文件名:Snapshot_20111225.jpg)
测试视频ourdev_707435PTSJSC.zip(文件大小:2.34M) (原文件名:Capture_20111225_1.zip)
还没完成。。还有很多问题,下周还要考试,考完试再弄吧。 51的性能用来模拟FC是不是有点不得力啊,用美信的1T或者试试国产3核写底层会好一点。 mark mark 考试前还是手痒了,弄了一下~~~~现在按键终于有作用了,不过球现在只能45°反弹。等全部完成再把源码游戏的源码上传吧
测试视频http://www.tudou.com/programs/view/_6aEnmCO7Mc/ 回复【楼主位】Razor风无影风
-----------------------------------------------------------------------
楼主牛人,想到用51玩儿游戏。如果有兴趣,可以试一下我们的片子,应该会对你有帮助的。
LS052,
1、三核,可以支持三个程序同刻并发执行,每核均可达到40M。IO足够的话,可以一颗芯片取代2—3颗芯片使用;
2、64K FLASH,16K RAM,支持EEPROM
3、支持FFT等,协议类型多
详细资料见:www.kernel-ic.com
有其他需要可以直接联系我:QQ:66474360 需要样片,免费提供哦,技术支持,也是友情提供,呵呵
只有一个条件,做完后帮偶多做一套,我出成本,也闹着玩儿,可否? 回复【79楼】kernelMCU
需要样片,免费提供哦,技术支持,也是友情提供,呵呵
只有一个条件,做完后帮偶多做一套,我出成本,也闹着玩儿,可否?
-----------------------------------------------------------------------
STC可用笙泉ICE仿真,你们家的可否? 用51难度很大 回复【80楼】j-link
回复【79楼】kernelmcu
需要样片,免费提供哦,技术支持,也是友情提供,呵呵
只有一个条件,做完后帮偶多做一套,我出成本,也闹着玩儿,可否?
-----------------------------------------------------------------------
stc可用笙泉ice仿真,你们家的可否?
-----------------------------------------------------------------------
哪些型号可以用笙泉的仿真?我正好有个仿真器 别用51了,换A9吧 强力 酷 回复【83楼】gwdong
别用51了,换a9吧
-----------------------------------------------------------------------
太貴了,如果一顆5元再考慮。。。 回复【82楼】amazing030
回复【80楼】j-link
回复【79楼】kernelmcu
需要样片,免费提供哦,技术支持,也是友情提供,呵呵
只有一个条件,做完后帮偶多做一套,我出成本,也闹着玩儿,可否?
-----------------------------------------------------------------------
stc可用笙泉ice仿真,你们家的可否?
-----------------------------------------------------------------------
哪些型号可以用笙泉的仿真?我正好有个仿真器
-----------------------------------------------------------------------
MPC82G516A 模擬後...沒問題在換 STC,當然一些設定已經在 include 設定好了。 牛叉~~ 我 希望 明年的这个时候我能达到这个程度~~ 我要加油了~ 回复【82楼】amazing030
回复【80楼】j-link
回复【79楼】kernelmcu
需要样片,免费提供哦,技术支持,也是友情提供,呵呵
只有一个条件,做完后帮偶多做一套,我出成本,也闹着玩儿,可否?
-----------------------------------------------------------------------
stc可用笙泉ice仿真,你们家的可否?
-----------------------------------------------------------------------
哪些型号可以用笙泉的仿真?我正好有个仿真器
-----------------------------------------------------------------------
STC 1T 专用仿真器,可惜没外壳
http://cache.amobbs.com/bbs_upload782111/files_49/ourdev_708136MDTQCE.jpg
(原文件名:54398681.jpg) 真正有 ICE 的 51 大概只有 SiLabs 的吧? 回复【90楼】gwdong
真正有 ice 的 51 大概只有 silabs 的吧?
-----------------------------------------------------------------------
笙泉和新唐的有些型号也有的 dota!!!布局布线还有改进空间 :) MARK. 神人,学习了 坛中人真是牛X啊!!! 回复【楼主位】Razor风无影风
-----------------------------------------------------------------------
51的单片机能够跑的起来吗? 狂顶啊。。。 对STC11系列的刷屏能力深感怀疑,上CIP吧 对STC11系列的刷屏能力深感怀疑,上CIP吧 Razor 风无影风加油做,在下也有此想法,不过我是想做基于自己硬件设备来做些游戏,不需要去模仿任何人,自己的才是最好的。为了支持Razor 风无影风,我在此献丑了。以下是我的硬件设备。基本性能如下:
1:32K片外内存,支持在内存特定区运行51的BIN代码。
2:LCD12864,采用总线方式驱动,最大限度发挥LCD的性能。
3:所有硬件驱动写入51内,供片外RAM里的BIN代码调用。
汉。。目前又加了块EN25T80FLASH,做字库,驱动暂时还没调试好。
看了你的贴子后,计划在把25T80调试好后,也加入8位WAV音频硬件和软件,硬件计划采用牛仔的电阻方式,呵呵。
太丑,表见笑。
http://cache.amobbs.com/bbs_upload782111/files_49/ourdev_710319EXO5WU.JPG
(原文件名:100_0277.JPG)
http://cache.amobbs.com/bbs_upload782111/files_49/ourdev_710320SSGBIF.JPG
(原文件名:100_0278.JPG)
http://cache.amobbs.com/bbs_upload782111/files_49/ourdev_710321A3LQ9F.JPG
(原文件名:100_0279.JPG)
点击此处打开 ourdev_710322QPSSJ0.JPG(文件大小:1.03M,只有400K以内的图片才能直接显示) (原文件名:100_0281.JPG) 回复【100楼】haohan007
-----------------------------------------------------------------------
友情提醒: 吸烟有害健康 ./emotion/em012.gif 回复【101楼】Pony279霍斯
-----------------------------------------------------------------------
呵呵,谢谢。戒了好几次都又复吸了。。 感觉还不错呀
页:
[1]
2