เขียนเกม บนเครื่อง Nintendo DS : ข้อมูล Hardware เบื้องต้น
มาศึกษา Hardware ที่น่าสนใจกันก่อน จอภาพมี 2 จอ (Main Screen, Sub Screen) ขนาด 256 x 192 pixels หน่วยความจำ VRAM มีไว้สำหรับเก็บข้อมูล Graphic ก่อนจะนำไปแสดงผล Mode การแสดงผลมี 8 mode แต่เราจะใช้เฉพาะ MODE_5_2D ทั้ง Main Screen และ Sub Screen เนื่องจากเลือก Mode 5 การแสดงผลของ Background จึงมี 4 Layer ดังนี้ BG0: Text/3D BG1: Text BG2: extended rotation BG3: extended rotation Layer คือเหมือนเป็น แผ่นใส่ที่มีรูปแล้ววางซ้อนทับกันให้ภาพใน 1 จอ
ต่อไปมาดูคำสั่งใน source code Chapter01
videoSetMode(MODE_5_2D | DISPLAY_BG3_ACTIVE); เป็นset Mode การแสดงผล เป็น Mode 5 2D (3D ก็มีแต่ยังศึกษาไม่ถึง เพราะยากมาก) และให้แสดงเฉพาะ Background ที่3
จัดสรรหน่วยความจำ VRAM เนื่องจากหน่วยความจำมีน้อยมากจึงการจัดสรรให้เต็มประสิทธิภาพที่สุด โดยเราเป็นคนตั้งค่าเองว่าต้องการใช้หน่วยความจำเท่าไร กับงานอะไร ดังนั้น vramSetBankA(VRAM_A_MAIN_BG_0x06000000); เป็นการ set หน่วยความจำสำหรับจอ Main Screen และ
คำสั่ง vramSetBankC(VRAM_C_SUB_BG_0x06200000); สำหรับ Sub Screen
และใช้คำสั่ง dmaCopyHalfWords เพื่อ Copy ข้อมูลGraphic ไปยังหน่วยความจำที่เราตั้งค่าไว้ dmaCopyHalfWords(หมายเลขช่องทางที่จะส่ง, ข้อมูลที่จะส่ง, ตำแหน่งที่ส่งไป, ความยาวของข้อมูลที่จะส่ง);
จอบน dmaCopyHalfWords(3, CobraUpBitmap, (uint16 *)BG_BMP_RAM(0), CobraUpBitmapLen);
จอล่าง dmaCopyHalfWords(3, CobraDownBitmap, (uint16 *)BG_BMP_RAM_SUB(0), CobraDownBitmapLen);
Create Date : 07 มิถุนายน 2551 |
Last Update : 7 มิถุนายน 2551 20:03:27 น. |
|
1 comments
|
Counter : 653 Pageviews. |
|
|
|
โดย: นักทดลอง IP: 125.26.103.20 วันที่: 17 ตุลาคม 2552 เวลา:17:43:15 น. |
|
|
|
| |