這幾天 又陷入所謂的 不知所謂倦怠期
剛好看這CoAsia的圖看得很不順眼
向正哥請教一些eboot的修改經驗之後
就開始進行大鳥育成計畫
基本要點就是把想要放的圖檔轉成hex即可
再對程式進行一點小修改就好了
只要利用bmp2hex可以輕鬆地得到hex資料
LCD的size為 480x272
bppmode預設為16bpp
因為程式利用到的是memcpy這個func
如果不想動太多腦的話 基本上就是使用 480xN 的圖檔
這個N還不能太大 不然產生的eboot.bin就會爆掉(囧)
開始嘗試各種不用動腦的改法
480x272x16bpp --> 爆
480x25?x12bpp --> 沒這種bppmode可以選 硬幹會變成一隻綠綠鳥
480x272x8bpp --> 應該可以 但是轉檔程式沒有8bpp-_-
240x N x16bpp --> 用了很蠢的方法 不過圖太小
擴大eboot size --> 被板子討厭 完全沒變大的跡象
320x240x16bpp --> 用蠢方法一定爆的 只好搏感情了
最後在一陣絕望與煩悶的亂改之下 成功了!!! 大鳥再現 +_+
現在改成天然呆巫女娘佐久夜(サクヤ)了
=====================================================
將DisplaySample_320_240.h裡的圖檔hex做陣列定義 const UINT16 prayer16bpp[]
--->
const UINT16 prayer16bpp[240][320]
並對main.c做些微的修改
[Line 689]for (a=0;a<240:a++)
好像是因為這是在#define裡的程式
{
memcpy((void *)(IMAGE_FRAMEBUFFER_UA_BASE + a * 480 * 2 + N),
prayer16bpp[a], 320 * 2);
}
所以記得要在前面宣告全域變數 int a 不然你將會被PB討厭
基本精神就是每次取320x2bytes之後就換行
那個N是起始點基本位移量 就是決定要從哪一點開始繪圖
如果N=0的話 就是從左上角開始
對於320x240x16bpp的圖而言 如果想讓圖看起來在中間
N = 480*16*2+80*2 = 15520
上面動不動就有個惱人的 x2 這個應該是與16bpp有關 [4bytes = 2pixels]
少了這個 圖的樣子會完全跟你想的不一樣 XDD
=====================================================
不過 因為自己編出來的eboot在燒寫kernel時會有問題 但是launch卻是ok的
所以就索性把自己編的eboot.bin燒進去之後 再利用CoAisa給的eboot.nb0
來進行kernel的寫入作業
2008-04-21
EBOOT-Logo圖修改
posted at 03:40
Type: master life
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言