Sufficiency Economy
Group Blog
 
All blogs
 
Gameboy Advance 03: putpixel เขียนจุดสีบนหน้าจอ แบบง่ายๆ

อ้างอิง : https://www.coranac.com/tonc/text/first.htm
วันนี้เรามาทดลองเขียนจุดสีบน หน้าจอของ  GBA กัน
1. การกำหนด Mode การแสดงผล มี 2 ชนิดคือ แบบ Tile (ยาก) และแบบ bitmap (ง่าย)
ที่เรากำลังจะพูดถึง มี Mode 3, 4, 5

เพื่อความง่ายสุดๆ จึงขอเลือก Mode 3 ก่อน ซึ่งจะแสดงผลที่ 240 x 160 pixel
สามารถแสดงสีได้แบบ 16 bit แต่bitสุดท้ายไม่คิด กำหนดด้วยคำสั่ง
*(unsigned int*)0x04000000 = 0x0403;
*(unsigned int*)0x04000000 คือตำแหน่ง Registor REG_DISPCNT
ค่า 0x0403 จะมาขยายความกันด้วยรูปข้างล่าง
0x0403 ถ้าเขียนด้วยเลขฐานสอง จะได้ 0000 0100 0000 0011
ให้ดูที่สี จะเห็นได้ว่าเลือก mode 3 และ แสดงผลที่ BG2 : Background 2

การลงจุดสี ใช้คำสั่ง
((unsigned short*)0x06000000)[120+80*240] = 0x001F;
(unsigned short*)0x06000000 คือตำแหน่งของ VRAM
[120+80*240] คือตำแหน่งของจุดสี กำหนดเป็นค่าใน array
0x001F คือค่าของสี โดยรูปแบบของสีคือ xBG
0x001F = 0000 0000 0001 1111 เพราะฉนั้นก็คือสีแดง
[120+80*240] ปรับให้เป็นตำแหน่ง (x,y) ก็คือ [x+y*240]




 


Create Date : 18 กุมภาพันธ์ 2566
Last Update : 18 กุมภาพันธ์ 2566 18:49:20 น. 0 comments
Counter : 581 Pageviews.

ชื่อ :
Comment :
  *ใช้ code html ตกแต่งข้อความได้เฉพาะสมาชิก
 

wink99_th
Location :
พิษณุโลก Thailand

[Profile ทั้งหมด]

ฝากข้อความหลังไมค์
Rss Feed
Smember
ผู้ติดตามบล็อก : 8 คน [?]




New Comments
Friends' blogs
[Add wink99_th's blog to your web]
Links
 

 Pantip.com | PantipMarket.com | Pantown.com | © 2004 BlogGang.com allrights reserved.