Mercurial > vba-clojure
comparison src/gb/GB.cpp @ 496:a6d060a64246
pixel introspection. but entire image is upside down.
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Mon, 11 Jun 2012 06:04:25 -0500 |
parents | 893c753f8088 |
children | 690811e54b51 |
comparison
equal
deleted
inserted
replaced
495:1d81ddd4fa41 | 496:a6d060a64246 |
---|---|
3876 } | 3876 } |
3877 | 3877 |
3878 | 3878 |
3879 | 3879 |
3880 //RLM: | 3880 //RLM: |
3881 /** | |
3882 void getPixels32(int32* store){ | |
3883 utilWriteBMP((u8*)store, 144, 160, 32, pix); | |
3884 } | |
3885 **/ | |
3886 | |
3887 void getPixels32(int32* store){ | |
3888 int w = 160; | |
3889 int h = 144; | |
3890 | |
3891 int sizeX = w; | |
3892 int sizeY = h; | |
3893 | |
3894 u32 *pixU32 = (u32 *)(pix + 4 * (w + 1) * (h)); | |
3895 for (int y = 0; y < sizeY; y++) | |
3896 { | |
3897 for (int x = 0; x < sizeX; x++) | |
3898 { | |
3899 u32 v = *pixU32++; | |
3900 | |
3901 u8 b = ((v >> systemBlueShift) & 0x001f) << 3; // B | |
3902 u8 g = ((v >> systemGreenShift) & 0x001f) << 3; // G | |
3903 u8 r = ((v >> systemRedShift) & 0x001f) << 3; // R | |
3904 | |
3905 int32 rgb = (r << 16 ) + (g << 8) + b; | |
3906 *store++ = rgb; | |
3907 } | |
3908 pixU32++; | |
3909 pixU32 -= 2 * (w + 1); | |
3910 } | |
3911 } | |
3912 | |
3913 | |
3881 int getRamSize(){ | 3914 int getRamSize(){ |
3882 return gbRamSize; | 3915 return gbRamSize; |
3883 } | 3916 } |
3884 | 3917 |
3885 int getRomSize(){ | 3918 int getRomSize(){ |