Membuat grafik untuk nes / dendy

Artikel saya sebelumnya berbicara tentang bagaimana memulai pemrograman untuk pesolek di assembler. Kami belajar menggambar sprite dan background, kami juga membahas secara singkat apa itu tabel atribut dan tabel nama, kami juga menemukan cara membaca controller. Pada artikel tersebut saya menggunakan chr dari game super mario bros 2 karena saya bukan seorang seniman, tetapi masih untuk membuat sebuah game saya harus mencari alat yang akan membantu saya dalam membuat grafik saya untuk game tersebut. Di bawah pemotongan adalah tahapan pengembangan grafis.






Butuh waktu cukup lama untuk menemukan tool bagi linux untuk membuat tabel nama, setelah beberapa saat saya bahkan mulai menulis sendiri di php. Idenya sederhana, dan itu sudah hampir selesai. Dimungkinkan untuk mengonversi gambar bmp atau png demi piksel demi piksel. Dari kiri ke kanan 128 piksel, dan dari atas ke bawah 256 baris. Selanjutnya, kami menentukan warna setiap piksel, dan hanya ada 4 dari ini dan, tergantung pada warnanya, atur bit yang sesuai, setiap piksel dalam file chr dijelaskan oleh 2 bit, sesuai dengan prinsip berikut:





  • warna 0 = 00 = 00000000





  • warna 1 = 01 = 00000001





  • warna 2 = 10 = 00000010





  • warna 3 = 11 = 00000011





Artinya, 2 bit ini hanyalah 2 bit terakhir dari nomor urut warna. Dalam hal ini, warna 0 pada sprite adalah warna transparan. Di latar belakang, ini adalah warna latar belakang.





chr 2 , 128 128 . 1- ( ), 2- ( , ). , , node.js img2chr









$ npm install -g img2chr
      
      



2- 1- ( png), 2- chr





img2chr test.png test.chr
      
      



chr .





FCEUX

, FCEUX Windows, wine. , nametable attribute table .





, . 128256 8 , .





. .





, , , . , .





, , , . .









. . , , .









img2png test.png t.chr
      
      



. PPU $2004





  1. Y -













  2. X -









LDA #100 ;    A  100
STA $2004 ;    Y   $2004
LDA #$01 ;    1 (0- , 1- ) 
STA $2004 ;    
LDA #%00010110 ;  
STA $2004
LDA #100 ; x  
STA $2004
      
      



Dan sprite saya ditampilkan di layar. Itu tidak bisa tidak bersukacita. Setelah itu saya keluarkan semua sprite untuk menggambar hero, 10 diantaranya keluar, tentunya ini jumlah sprite yang sangat banyak, karena kita bisa mencapai batasan awalannya, misalnya 64 sprite di layar di pada saat yang sama, tetapi kami akan membicarakan hal ini di artikel berikut.





Artikel sebelumnya:





  1. Pemrograman NES





  2. Membaca pengontrol








All Articles