易码技术论坛

 找回密码
 加入易码
搜索
楼主: yan

[源码] yan走了

[复制链接]
 楼主| 发表于 2006-8-23 10:00:32 | 显示全部楼层 |阅读模式
  1.   原型 long System.RamRead(char data[],long offset,int size)
  2. 功能 读取地址为offset的size字节的内容到data中。offset的1,2字节是段内偏移,3字节是段号
  3. 0x00000000--0x00008000:RAM
  4. 0x00008000--0x00028000:==0x00038000--0x00058000
  5. 0x00028000--0x00030000:RAM
  6. 0x00030000--0x00130000:Nor
  7. 0x00033000--0x00033010:ggv TC800
  8. 0x00120000--0x00130000:文件系统
  9. SuperBlock:偏移11  ,大小100
  10. 映射表   :偏移800,大小1000
  11. fat表    :偏移1000,大小E000
  12. ///////////////////////////////////////应用///////////////////////
  13. long getngffs()
  14. {
  15.   char buf[12];
  16.   System.RamRead(buf,0x120008,12);
  17.   if(buf[0]!=0xff)return(0x120000);else return(0x128000);
  18. }
  19. void loaddir(char &dir[])
  20. {
  21.   char buf[60];
  22.   strcpy(buf,dir);
  23.   if(strcmp(buf,"/")){strcat(buf,"/");ChDir(buf);}
  24.   else ChDir("/LAVA2");
  25. }
  26. int findfile(int start,int n,char &buf[],char &dir[])
  27. {
  28.   int i;
  29.   loaddir(dir);memmove(buf,(start<<4)+0xAA62,n<<4);if(!start)strcpy(buf,"..");ChDir(dir);
  30.   for(i=0;i<n;i++){if(buf[i<<4]==0xff)break;}
  31.   return(i);
  32. }
  33. int getfilenum(char &dir[])
  34. {
  35.   int i;
  36.   loaddir(dir);
  37.   for(i=1;*((i<<4)+0xAA62)!=0xff;i++);
  38.   ChDir(dir);return(i);
  39. }
  40. void getinode(char &attr[],char &name[],char &dir[])
  41. {
  42.   long addrs,offset;
  43.   int id,i,j;
  44.   char buf[10][32];
  45.   loaddir(dir);for(addrs=0xAA72;strcmp(addrs,name);addrs=addrs+16);id=(int *)(addrs-2);ChDir(dir);
  46.   offset=getngffs()+0x1000;
  47.   for(i=0;i<205;i++)
  48.   {
  49.     System.RamRead(buf,offset+i*160,320);
  50.     for(j=0;j<10;j++){if(id==(int *)buf[j]&&buf[j][4]==0xc0){memmove(attr,buf[j],32);return;}
  51.   }
  52. }
  53. }
  54. void getver(char &ver[])
  55. {
  56.   long offset;
  57.   offset=getngffs();
  58.   System.RamRead(ver,offset+8,12);ver[12]=0;
  59. }
  60. long diskcheck()
  61. {
  62.   long offset;
  63.   int i,j,size;
  64.   char buf[256];
  65.   offset=getngffs();System.RamRead(buf,offset+0x11,256);
  66.   for(i=size=0;i<256;i++){for(j=0;j<8;j++){if((buf[i]<<j)&0x80)size++;}}
  67.   return(size<<4);
  68. }
  69. long diskbad()
  70. {
  71.   long offset;
  72.   int i,bad,buf[2048];
  73.   offset=getngffs();System.RamRead(buf,offset+0x800,4096);
  74.   for(i=bad=0;i<2048;i++){if(buf[i]<0||buf[i]>2047)bad++;}
  75.   return(bad-1);
  76. }
  77. //////////////////////////////////////////////////////////////////////////
复制代码
发表于 2008-11-28 15:09:57 | 显示全部楼层
不知道YAN是在上本科还是专科。。
三年就完了
我刚上大家,刚学编程 ,YAN就走了 :( :( :( :( :( :(
发表于 2009-1-24 22:09:50 | 显示全部楼层
最近发现E6手机那里有yan,回来看看是不是一个人..
呵呵
发表于 2009-1-30 17:25:21 | 显示全部楼层
o


[ 本帖最后由 tl2655600 于 2009-1-30 17:29 编辑 ]
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-4-19 21:44 , Processed in 0.011235 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表