作者holymars ()
看板b95902HW
标题[组语][VBA] TONC's example
时间Thu Dec 27 00:56:37 2007
关於TONC的example有部份无法以VisualHAM编译出正确结果的问题
请依照下列步骤处理
1.将($HAMDIR)\tools\win32\vbawin.exe 置换成1.7.2版
也就是去下载1.7.2的vba模拟器,改名成vbawin.exe之後取代掉原本的
!%#!#$%^ @$#^ @$@#@!@#$%!@#$!#$
总之,就是原本1.5.2版会跑不出spirite,所以要换成1.7.2版
这步应该能解决sbb_reg这个example的问题
2.但是你会发现,跑obj_demo这个example的时侯
虽然图出来了,但是颜色是错误的
这时请注意obj_demo.c的main() function里面这两行
memcpy(&tile_mem[4][0], metrTiles, metrTilesLen);
memcpy(pal_obj_mem, metrPal, metrPalLen);
这两行就是凶手orz
我也不知道为什麽C的standard function会错,但是总之他就是不能正确的
把资料copy过去,所以颜色会错掉
请改写成
my_memcpy(&tile_mem[4][0], metrTiles, metrTilesLen
/4);
my_memcpy(pal_obj_mem, metrPal, metrPalLen
/4);
注意後面要除以四..
另外多加一行inline function在main()的前面:
inline void my_memcpy(u32* a,u32* b,u32 c) { while(c--) *a++ = *b++;}
这样应该可以跑大部份的example了
当然,其他example有用到memcpy的部份,也要全部都改过来orz
--
找了一个晚上的bug
最後居然是错在C的standard function和模拟器版本上
HAM我真是猜不透你啊<O>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.29.131
※ 编辑: holymars 来自: 140.112.29.131 (12/27 00:57)
1F:推 aliby:助教超强~~!! 辛苦了被我们纠缠一天的GBA >////< 12/27 07:25