liuweiele 发表于 2010-6-29 22:38:49

丛 多线程 向 多进程 发展 - 基于ARM9运行的 多进程俄罗斯方块 游戏

最近做的一个多进程版的"俄罗斯方块"游戏:
硬件配置: S3C2450(ARM926,400MHZ) +64MB DDR2 + 2GB NandFlash(K9GAG08) + 7寸TFT(800x480,24bpp)

liuweiele 发表于 2010-6-29 22:40:36

编译器:ADS1.2
OS:      自行设计
GUI:   自行设计
FS:      FatFS+

liuweiele 发表于 2010-6-29 22:46:56

本游戏程序通过动态加载,多进程方式运行:通过ADS编译后的目标代码,以FAT文件格式驻留在硬件平台的NandFlash中,运行时,通过"进程加载器",加载到RAM运行.

本游戏无需和操作系统一起编译.属于独于的应用程序,类似于windows下的exe文件

liuweiele 发表于 2010-6-29 22:48:08

多进程"俄罗斯方块"源代码:
点击此处下载 ourdev_564782MTTU58.rar(文件大小:90K) (原文件名:Tetris.rar)

tedden 发表于 2010-6-29 22:48:27

楼主牛,强烈要求上图

liuweiele 发表于 2010-6-29 22:52:55

http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_564783CUDMJP.JPG
(原文件名:新建 BMP 图像.JPG)

http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_564784NEB1KF.JPG
(原文件名:新建 BMP 图像2.JPG)

http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_564785XUQD28.JPG
(原文件名:新建 BMP 图像3.JPG)

http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_564786DZ6BY4.JPG
(原文件名:新建 BMP 图像4.JPG)

http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_564787K63A6R.JPG
(原文件名:新建 BMP 图像5.JPG)

liuweiele 发表于 2010-6-29 22:54:13

多进程运行效果:
http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_564789MJZTJP.jpg
(原文件名:照片 2790.jpg)

liuweiele 发表于 2010-6-29 23:32:26

多进程演示视频:

点击此处下载 ourdev_564796JPR9KS.rar(文件大小:22.16M) (原文件名:多进程“俄罗斯方块”演示.rar)

quzegang 发表于 2010-6-30 00:24:06

mark

aureole 发表于 2010-6-30 01:36:13

玩不过来哈哈

avrmk 发表于 2010-6-30 09:04:46

mark

tigerchen 发表于 2010-6-30 10:15:34

mark

lvhaian 发表于 2010-6-30 10:59:40

楼主真的好帅.

liuweiele 发表于 2010-6-30 14:49:18

所有进程的运行空间是相同的(使用虚拟地址),映射到不同的物理地址

liuweiele 发表于 2010-6-30 14:53:07

进程(应用程序)平常驻留在NandFlash或SD卡中,只当进程需要运行的时候,才会加载到内存

avrwoo 发表于 2010-6-30 15:17:22

MARK

dzyong 发表于 2010-6-30 23:55:53

佩服~~~~

能讲讲怎样"进程加载器"?

liuweiele 发表于 2010-7-1 00:54:32

回复【16楼】dzyong
佩服~~~~
能讲讲怎样"进程加载器"?
-----------------------------------------------------------------------

"进程加载器"属于该操作系统一项功能,类似于windows下的CreateProcess

"进程加载器"完成以下功能:
1.申请一块和进程目标文件相同大小的物理内存buf
2.把要运行的进程文件丛磁盘加载到申请到的内存buf中
3.创建一个以进程方式的运行的线程,入口地址为内存buf(和常规线程不同的是:该方式运行的线程在上下文切换时,会进行内存页面切换,实现由物理地址到虚拟地址的映射)
4.进程加载完成,接下来由OS调度运行该进程.

dengting 发表于 2010-7-1 01:47:36

支持,把自己的OS搞好了,比什么都强

liuweiele 发表于 2010-7-1 09:30:04

回复【18楼】dengting 守望者
支持,把自己的os搞好了,比什么都强
-----------------------------------------------------------------------

国内盗版比较严重,形势并不乐观

liuweiele 发表于 2010-7-1 14:38:12

只是"半自娱自乐"

tom919 发表于 2010-7-7 09:27:36

看了,LZ的这个确实很强大。
LZ的这种“半自娱自乐”+“分享快乐”的方式很佩服。只是本人还是个新手,只能先学习一下啊,惭愧……

charlie2008 发表于 2010-7-7 12:47:08

mark!

mcu_lover 发表于 2010-7-7 14:56:00

厉害。

yulutong 发表于 2010-7-8 16:19:14

楼主一直很强,在21IC是版主。拜读你的图片任意角度选择算法。

jamiedu 发表于 2010-7-8 22:00:02

这个想法不错。。

Bird 发表于 2010-7-10 09:00:03

牛人!!

huohuansong 发表于 2010-8-27 17:37:30

厉害

first_blood 发表于 2010-8-27 18:02:27

lz同时玩4个俄罗斯方块牛吧,我最多玩三个就不行了

liuweiele 发表于 2010-8-27 19:50:47

回复【28楼】first blood
lz同时玩4个俄罗斯方块牛吧,我最多玩三个就不行了
-----------------------------------------------------------------------

在PC上玩?

a13736925316 发表于 2010-8-29 08:07:26

站在消费者的角度并不注意这点,多不多任务没什么关系,只要游戏好玩,反应快速就行

但站在技术员的角度,这的确强焊!顶

liuweiele 发表于 2010-8-31 17:55:06

回复【30楼】a13736925316 黄大才
站在消费者的角度并不注意这点,多不多任务没什么关系,只要游戏好玩,反应快速就行
但站在技术员的角度,这的确强焊!顶
-----------------------------------------------------------------------

视具体情况而定.

liuweiele 发表于 2010-9-13 19:50:34

增加了MessageBox功能:模态对话框,不会阻塞当前窗口.

http://cache.amobbs.com/bbs_upload782111/files_33/ourdev_582752LE56FQ.JPG
(原文件名:DSC_0992.JPG)

ljt8015 发表于 2010-9-13 21:36:13

进程加载器很棒!~~

能介绍一下实现原理么?

没有MMU的CPU能实现么?

liuweiele 发表于 2010-9-13 22:55:44

回复【33楼】ljt8015
进程加载器很棒!~~
能介绍一下实现原理么?
没有mmu的cpu能实现么?
-----------------------------------------------------------------------

需要MMU的支持才能实现

fantasy89f 发表于 2010-9-15 20:28:22

问下你的应用程序是标准的ELF格式吗?还是bin格式的
进程调度算法是怎样的,基于时间片的吗?

haizaolan 发表于 2010-9-15 22:54:04

牛,周末学习!

liuweiele 发表于 2010-9-16 11:58:33

回复【35楼】fantasy89f
问下你的应用程序是标准的elf格式吗?还是bin格式的
进程调度算法是怎样的,基于时间片的吗?
-----------------------------------------------------------------------

应用程序是自定义的特殊的bin格式,和编译器无关;
进程/线程支持256级优先级,不同优先级以抢占式调度,相同优先级的进程/线程以"最先就绪"方式调度.

liuweiele 发表于 2010-9-16 12:08:06

因为大部分GDI绘图是比较耗时的,所以在绝大数情况下,UI进程/线程使用的优先级固定在200~240之间

andrew_dj 发表于 2010-9-16 13:52:50

cool 收藏学习

liumourong1988 发表于 2010-9-16 14:21:54

学习中。。。

mcu1234 发表于 2010-9-18 09:43:17

mark!

lang1437 发表于 2010-9-26 11:00:17

强 mark

caiyue3577 发表于 2010-9-26 21:25:13

lz厉害,收藏学习。。。。。

ap0405209 发表于 2010-12-7 21:17:39

mark

yusufu 发表于 2010-12-7 22:47:50

mark

a13736925316 发表于 2010-12-8 00:08:10

一直在关注你的OS,越来越强大了,想要做的更强,建议多找些精英一起发展。。。微软和苹果如果只靠几个人也是壮大不起来的,或许微软有今天的实力还靠中国去的人才呢,谁知道呢

312578957 发表于 2010-12-8 10:55:34

很强大,,顶一个

liuweiele 发表于 2010-12-8 17:14:03

回复【46楼】a13736925316 黄大才
一直在关注你的os,越来越强大了,想要做的更强,建议多找些精英一起发展。。。微软和苹果如果只靠几个人也是壮大不起来的,或许微软有今天的实力还靠中国去的人才呢,谁知道呢
-----------------------------------------------------------------------

是的,由于工作的原因,我目前也不能花太多的时间和精力在这个系统上,算是"半业余"开发.

a13736925316 发表于 2010-12-11 01:40:25

能否提供一个GT2440实验板的BIN文件让我体验下你的OS,看视频挺好玩的,但就是硬件和你的不一样,不能拿来用下,我的是S3C2440的ARM芯片,实验板是淘宝上买的GT2440型号的,屏幕才320*240

hshl2010 发表于 2010-12-11 10:07:51

lz太强大了……狂顶!

liuweiele 发表于 2010-12-11 10:12:51

回复【49楼】a13736925316 黄大才
能否提供一个gt2440实验板的bin文件让我体验下你的os,看视频挺好玩的,但就是硬件和你的不一样,不能拿来用下,我的是s3c2440的arm芯片,实验板是淘宝上买的gt2440型号的,屏幕才320*240
-----------------------------------------------------------------------

目前,我只做了S3C2416/2450/6410的BSP和目标文件,等该操作系统的系统调用接口完全确定之后,我会发出BSP源码,大家可以很方便移植到其它平台.

a13736925316 发表于 2010-12-11 21:34:08

好的,等你的好消息

esdart 发表于 2010-12-11 22:16:12

收藏。

dzyong 发表于 2010-12-11 23:16:40

等待楼主心新的东西~~~~~

yanrz 发表于 2010-12-12 21:41:02

太好了!!
可惜啊,我不会!

imjacob 发表于 2010-12-24 20:11:24

不错。厉害,佩服

river0830 发表于 2010-12-31 13:52:57

mark

chinaye1 发表于 2010-12-31 14:06:42

这系统强悍

zhenji512 发表于 2011-2-20 11:17:33

学习

tr1um7h 发表于 2011-2-20 11:45:36

mark

jesonsyj 发表于 2012-6-20 14:36:07

很好的东西,多谢楼主了,可是为什么就是不能下载呢?

catch2000 发表于 2012-6-22 10:07:29

开发到这个地步,
确实很强大。

106415718 发表于 2012-6-26 17:06:47

想下载来看看,可惜下不了。

cyj5366 发表于 2012-11-2 22:37:08

这个很赞

risehub 发表于 2012-11-4 23:53:38

佩服楼主的钻研精神,有时候,业余爱好是最好的促进力。期待楼主的大作。

liangbmw 发表于 2012-11-12 20:10:59

xiang真厉害啊。。。
页: [1]
查看完整版本: 丛 多线程 向 多进程 发展 - 基于ARM9运行的 多进程俄罗斯方块 游戏