diff --git a/uisimulator/win32/UI-ipod4g.bmp b/uisimulator/win32/UI-ipod4g.bmp new file mode 100644 index 0000000000..85af574d7c Binary files /dev/null and b/uisimulator/win32/UI-ipod4g.bmp differ diff --git a/uisimulator/win32/lcd-win32.c b/uisimulator/win32/lcd-win32.c index e9bf1dacf8..a50fbd11f6 100644 --- a/uisimulator/win32/lcd-win32.c +++ b/uisimulator/win32/lcd-win32.c @@ -95,7 +95,11 @@ void lcd_update_rect(int x_start, int y_start, #if LCD_DEPTH == 1 bitmap[y][x] = ((lcd_framebuffer[y/8][x] >> (y & 7)) & 1); #elif LCD_DEPTH == 2 +#if LCD_PIXELFORMAT == HORIZONTAL_PACKING + bitmap[y][x] = ((lcd_framebuffer[y][x/4] >> (2 * (x & 3))) & 3); +#else bitmap[y][x] = ((lcd_framebuffer[y/4][x] >> (2 * (y & 3))) & 3); +#endif #elif LCD_DEPTH == 16 #if LCD_PIXELFORMAT == RGB565SWAPPED unsigned bits = lcd_framebuffer[y][x]; diff --git a/uisimulator/win32/uisw32.h b/uisimulator/win32/uisw32.h index 7b393a761b..ce8a046bcd 100644 --- a/uisimulator/win32/uisw32.h +++ b/uisimulator/win32/uisw32.h @@ -109,6 +109,18 @@ typedef unsigned short wchar_t; #define UI_REMOTE_WIDTH 128 #define UI_REMOTE_HEIGHT 64 +#elif defined(IPOD_4G) +#define UI_TITLE "iPod 4G" +#define UI_WIDTH 196 // width of GUI window +#define UI_HEIGHT 370 // height of GUI window +#define UI_LCD_BGCOLOR 90, 145, 90 // bkgnd color of LCD (no backlight) +#define UI_LCD_BGCOLORLIGHT 173, 216, 230 // bkgnd color of LCD (backlight) +#define UI_LCD_BLACK 0, 0, 0 // black +#define UI_LCD_POSX 19 // x position of lcd +#define UI_LCD_POSY 14 // y position of lcd +#define UI_LCD_WIDTH 160 +#define UI_LCD_HEIGHT 128 + #elif defined(IPOD_COLOR) #define UI_TITLE "iPod Color" #define UI_WIDTH 261 // width of GUI window