(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中,根据需要加在合适的地方.