Mercurial > vba-clojure
diff clojure/com/aurellem/run/image.clj @ 491:2304906d443b
added function to pack gb-rgb bytes
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Thu, 24 May 2012 17:33:25 -0500 |
parents | 09b3bc0b71b5 |
children | 716752719a78 |
line wrap: on
line diff
1.1 --- a/clojure/com/aurellem/run/image.clj Mon May 07 12:31:16 2012 -0500 1.2 +++ b/clojure/com/aurellem/run/image.clj Thu May 24 17:33:25 2012 -0500 1.3 @@ -88,24 +88,69 @@ 1.4 ;; } 1.5 1.6 1.7 -(def intensity 1.8 - [0x00 0x10 0x20 0x30 0x40 0x50 0x5e 0x6c 0x7a 0x88 0x94 1.9 - 0xa0 0xae 0xb7 0xbf 0xc6 0xce 0xd3 0xd9 0xdf 0xe3 0xe7 1.10 - 0xeb 0xef 0xf3 0xf6 0xf9 0xfb 0xfd 0xfe 0xff 0xff]) 1.11 + 1.12 1.13 -(def influence 1.14 - [[16 4 4] 1.15 - [8 16 8] 1.16 - [0 8 16]]) 1.17 +(def image-program-target 0xB000) 1.18 1.19 -(defn rgb->gb-rb [[r g b]] 1.20 - (let [color-matrix 1.21 - (map 1.22 - (fn [color-row] 1.23 - (map 1.24 - (fn [color] 1.25 - (bit-shift-right 1.26 - (* (intensity (bit-shift-right r 3)) 1.27 - color) 5)))))])) 1.28 - 1.29 - 1.30 \ No newline at end of file 1.31 + 1.32 +(def display-width 160) 1.33 +(def display-height 144) 1.34 + 1.35 + 1.36 + 1.37 +;{:r :g :b } 1.38 + 1.39 +(def character-data 0x8000) 1.40 +(def character-data-end 0x97FF) 1.41 + 1.42 + 1.43 + 1.44 + 1.45 +(def BG-data-1 0x9800) 1.46 + 1.47 +(def BG-data-2 0x9C00) 1.48 + 1.49 +(def OAM 0xFE00) 1.50 + 1.51 + 1.52 +(def bg-pallet-select 0xFF68) 1.53 +(def bg-pallet-data 0xFF69) 1.54 + 1.55 +(def obj-palette-select 0xFF6A) 1.56 +(def obj-palette-data 0xFF6B) 1.57 + 1.58 + 1.59 + 1.60 +(def video-bank-select-register 0xFF4F) 1.61 + 1.62 + 1.63 + 1.64 +(defn gb-rgb->bits [r g b] 1.65 + (assert (< 0 r 32)) 1.66 + (assert (< 0 g 32)) 1.67 + (assert (< 0 b 32)) 1.68 + [(bit-and 1.69 + 0xFF 1.70 + (+ 1.71 + r 1.72 + (bit-shift-left g 5))) 1.73 + 1.74 + (+ 1.75 + (bit-shift-right g 3) 1.76 + (bit-shift-left b 2))]) 1.77 + 1.78 + 1.79 + 1.80 + 1.81 + ) 1.82 + 1.83 +(defn display-one-color 1.84 + "Displayes a single color onto the gameboy screen. input rgb in 1.85 + gameboy rgb." 1.86 + [r g b] 1.87 + 1.88 + 1.89 + 1.90 + 1.91 + 1.92 + ) 1.93 \ No newline at end of file