赞助论坛
  • 5845阅读
  • 0回复

VCD、SVCD在源程序中修改开机画面步骤 [复制链接]

楼层直达
humu200  
发帖
82
精华
0
金币
467
威望
5
贡献
2
好评
2
注册
2008-01-05
楼主    humu200 发表于: 2008-03-16 19:42:33 
(1)先解压SVCD的软件(据文件的扩展名 选用arj或 WINZIP)
(2)在解压SVCD的软件下打开makefile.pc文件,查对makefile.pc定义的GOAL,如
上面例是GOAL = sxf30(选用前没有“#”的GOAL)
(3)调用C:\ESSVIDEO\DJGPP\BIN (请把ESSVIDEO编译平台放在C盘)的gmake.exe编译
            C:\ESSVIDEO\DJGPP\BIN \gmake -f makefile.pc sxf30
(4) ESS仿真器的LOADDOWN 用C:\ESSVIDEO\TOOLS 下的VCS.exe 或VCS.exe
            C:\ESSVIDEO\TOOLS\VCS BANK30.ROM
(BANK30.ROM是目标文件,由STEP 3 生成)
(5)如修改过makefile.pc,请用下
C:\ESSVIDEO\DJGPP\BIN \gmake -f makefile.pc clearn
清除编译生成的中间的文件.
为方便编译,请把相关路径加入autoexec.bat
如:
path=%path%;c:\essvideo\djgpp\bin;c:\essvideo\tools;c:\essvideo\bin;
set djgpp=c:\essvideo\djgpp\djgpp.env
set go32tmp=c:\essvideo\djgpp\tmp
在使用ESS的编译系统时用到两个指令
gmake –f makefile.pc goal (注:goal为makefile.pc中未被注释掉的那个),编译
生成bank30.rom
gmake –f makefile.pc cleanall 清除中间内容
修改VFD(vcd)步骤:
1:测量16312与屏的管脚连接关系
    16312   G[X]--------G[X’]   VFD
        P[Y]---------Q[Y’]
2:在makefile.pc中的sysoption中,加上-DVFD-FUTABA
3:在VFD_TBL.C中修改对应值 SEG_A(_B,_C,_D,_E,_F,_G,),正接01,02,04,08,10,20,40,80
  反接80,40,20,10,08,04,02,01,所有的数为16进制,即0x01等.
4:在microvfd.c中定义TRACK_HIGH,TRACK_LOW;MINUTE_HIGH,MINUTE_LOW和
SECOND_HIGH,SECOND_LOW的位置,确切位置由G,P的接法决定P1~P8为低,P9~P16高
5:在microvfd.c中的VFD_process7Segments中修改*rambyte &= 0x80或其他值,其原理在于部分显示需要一直存在,而不能随时变化,它的状态由具体的参数决定,修改后利用VFD_push( )函数进行刷新,函数的参数为刷新对象对应的位置.
在processMessage( )中,也要作相应修改.
6:在VFD_UPDATE_CALENDAR()中修改 ifdef VFD_FUTABA
                        VFD_push(0x0); VFD_push(0x0);
                如果G,P反接VFD_push(0x0a); VFD_push(0x0b);
7:在VFD_tbl.c中定义#define SEG_A 0x__;   #define SEG_B 0x__
            #define SEG_C 0x__;   #define SEG_D 0x__;
            #define SEG_E 0x__;   #define SEG_F 0x__;
            #define SEG_G 0x__; 其值由所处位置决定.
8: 加显示〈1〉在VFD_TBL.C中定义显示标示#define SEG_AAA
        在数组calendar[4][8]中加上SEG_AAA
      〈2〉在panelcmd.h中加上SEG_AAA对应的值,其值由其在数组中的位置决定
        若SEG_AAA在数组的第一项的第四个,则对应
        #define PANEL_IND1 0XXX下的#define SEG_AAA 0X08;
  最后,在PANELVFD.C或PLAY.C中,根据需要加在合适的地方.