From fb3f7651fd68bf3b8c7e4dbd62dbb2b3505f929a Mon Sep 17 00:00:00 2001 From: Sebastian Leonhardt Date: Tue, 12 Apr 2016 17:20:04 +0200 Subject: [PATCH] pacbox for small screens, up to 75x96 Change-Id: I6e9adf2f6923f4d0078a54e9857fc8eacef259a6 --- apps/plugins/SUBDIRS | 3 +- apps/plugins/pacbox/pacbox.h | 23 +++++++++++ apps/plugins/pacbox/pacbox_lcd.c | 39 ++++++++++++++++++ manual/plugins/images/ss-pacbox-128x96x16.png | Bin 0 -> 1631 bytes manual/plugins/images/ss-pacbox-96x96x16.png | Bin 0 -> 1226 bytes manual/plugins/main.tex | 2 +- 6 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 manual/plugins/images/ss-pacbox-128x96x16.png create mode 100644 manual/plugins/images/ss-pacbox-96x96x16.png diff --git a/apps/plugins/SUBDIRS b/apps/plugins/SUBDIRS index 07c435123c..055db43b48 100644 --- a/apps/plugins/SUBDIRS +++ b/apps/plugins/SUBDIRS @@ -65,7 +65,8 @@ zxbox #endif /* HAVE_LCD_BITMAP */ /* For all big enough colour screens, iriver H1x0 and iAudio M5 */ -#if defined(HAVE_LCD_COLOR) && LCD_HEIGHT > 96\ +#if defined(HAVE_LCD_COLOR) && ( (LCD_HEIGHT >= 90 && LCD_WIDTH >=116) \ + || (LCD_HEIGHT >= 96 && LCD_WIDTH >=75) ) \ || defined(IRIVER_H100_SERIES) || defined(IAUDIO_M5) pacbox #endif diff --git a/apps/plugins/pacbox/pacbox.h b/apps/plugins/pacbox/pacbox.h index 77a107bec4..58838c7be3 100644 --- a/apps/plugins/pacbox/pacbox.h +++ b/apps/plugins/pacbox/pacbox.h @@ -123,6 +123,17 @@ #define PACMAN_COIN (BUTTON_SELECT | BUTTON_DOWN) #define PACMAN_MENU BUTTON_HOME +#elif CONFIG_KEYPAD == SANSA_CLIP_PAD + +#define PACMAN_UP BUTTON_UP +#define PACMAN_DOWN BUTTON_DOWN +#define PACMAN_LEFT BUTTON_LEFT +#define PACMAN_RIGHT BUTTON_RIGHT +#define PACMAN_1UP BUTTON_SELECT +#define PACMAN_COIN_PRE BUTTON_SELECT +#define PACMAN_COIN (BUTTON_SELECT | BUTTON_DOWN) +#define PACMAN_MENU BUTTON_HOME + #elif CONFIG_KEYPAD == IRIVER_H10_PAD #if defined(IRIVER_H10_5GB) @@ -418,6 +429,18 @@ #define YOFS ((LCD_HEIGHT-288/2)/2) #endif +#elif (LCD_WIDTH >= 116) && (LCD_HEIGHT >= 90) +#define LCD_SCALE 40 +#define LCD_ROTATE 1 +#define XOFS ((LCD_HEIGHT-224*2/5)/2) +#define YOFS ((LCD_WIDTH-288*2/5)/2) + +#elif (LCD_WIDTH >= 75) && (LCD_HEIGHT >= 96) +#define LCD_SCALE 33 +#define LCD_ROTATE 0 +#define XOFS ((LCD_HEIGHT-224/3)/2) +#define YOFS ((LCD_WIDTH-288/3)/2) + #else #error "unsupported screen resolution" #endif diff --git a/apps/plugins/pacbox/pacbox_lcd.c b/apps/plugins/pacbox/pacbox_lcd.c index 6bb51a038d..bf4aa9f028 100644 --- a/apps/plugins/pacbox/pacbox_lcd.c +++ b/apps/plugins/pacbox/pacbox_lcd.c @@ -124,7 +124,46 @@ void blit_display(fb_data* lcd_framebuffer, unsigned char* vbuf) dst += XOFS*2; vbuf+=ScreenWidth; } +#elif LCD_SCALE==40 && LCD_ROTATE==1 + /* 0.4 scaling - rotated = 116x90 */ + /* show 2 out of 5 pixels: 1st and 3rd anf 4th merged together */ + next_dst=&lcd_framebuffer[XOFS*LCD_WIDTH+YOFS+ScreenHeight*2/5-1]; + for (y=(ScreenHeight*2/5)-1;y >= 0; y--) { + dst = (next_dst--); + for (x=0;xzhw9AkN&^>A&>Ogvq6yK zr@iVI^j}optLr7ujdJijjBi)hnV@6t`#dk@29ejC8TkCY8)8=~Exdo@Turx-6NjvsL^s1ljX)0n5> zR{#=%e4{tN3W1<>w|MC>C;C+#G(scSx~F)9c1Q@)C(W;bYy`M;cHWUtFrPPd(iVdB zNi!>85{NBDH?WN6LCqvATGb8NS@dh13|WAmrC4ll@FMwB#Ca{KXGfNT5d-ZSfIz4lC*M9nvyF4g3M@!(R5T4+7N=^ zS-IjNsL^UPb_5uu`n}=LYTuX22e^Jg_JUpoU6*gPP7c$6hQRp%B-;cVP&@>YLM;F^ zfQI1X%^g6H>%xTW6};JDRR<}_GKpD5I5XU&3tEvfi{yf^h~Xe>qEw(#|6g;(M6nG| zi&AWW&sm;`Ut$7-OXZ0a9R~<4aH}ihh_Os!{8GpkCFH*(*rrFqQA4;u!aJIY?G=oK zMI%r04uIjFmD{67!W1)G*3M+vNI0>}V1fjpSU#Vx&#;#3=|u`5r#F?P zSGw^=ZR8x58*zl3SEAq9ULQ^eT^He~kaI^-zH)9i)VXo7DGt}RsEI~fN`FOoz4H`l zR6bxL@zs}D2h_(OHZLe@NaAgpUobH@ORLnH_sJg06bPC~oNYD~UY0WHGVF5|i~$-; zZgqpXpqi58WxH-u-I$7BoGUn!@tYo*XJWgYm2v5od6UJt2aJSwMDS!Bj~4_uj;ULe zBHg4_HeerDVsUN`2#WQ}%iJX?v^ckVL8-w`F+=+kmq;T?*}kLP;5`E zDan~`YmmAj1P#kNh)ppD7q^z+hKhbaV0#FvpD>}1fLF)Aom-{M?Oahpl$J-p_ai8M z_?R8Q6JB|i2+3B54incDF_1#sV&WCe?R1`4HIt5S2bzMxs9M9@(x` dsZu2g`U_t1^h!kjP)`5=002ovPDHLkV1js{22cP1 literal 0 HcmV?d00001 diff --git a/manual/plugins/images/ss-pacbox-96x96x16.png b/manual/plugins/images/ss-pacbox-96x96x16.png new file mode 100644 index 0000000000000000000000000000000000000000..782f87eeee608df132166234a92fb9e5c1bc7280 GIT binary patch literal 1226 zcmV;*1U37KP)RCwC$T`_i~Fbq}lC^&|TDSV76QsgL8q{vaW*dj-vNReYu zq~I7XD7J9o^}rY;Su$n@y*wVncqIEHTi?PaPf$ww@7|tlIL2Rv>%JILp)ap3&rnd} z#>dS|fnra#3<^~MG-+*cnaTBV?%gUbR?=~TJjwb+zW*3cc53j|`B;^dg~@s%N46q#^Q?RZIw=hKW>pDLo}-^8s%R@YEijDlerc zM`y#R!7$k6Q4rbBQ{|=f2*SkVL3{6F`{O}{MSZH_PxgCViw7MZbO<+!F}Qpjl~yM! z$n*_Qf6=K%=G1}LXEXKdPBmiSNjwPO+W6-h`ftvm;YnQK! z2c5?Dx%w=~DXU%7c*gh}M< z7vMqooK|f;RD>UGGu2R{b{bQSV>Z8M9#n(el?UwxpnH;S25HD!A5FKj#so!I%Sc%-shgzN$-18@4!g=y$X5Hs7JjwaI%)QLWzK%Fv4^qG9PG800k2w8 z-;z1@-d;a)NG$38JyX$%4QS_m7Wj(+==~A#?xl$yQq7+kH<`4-H$Sg*(_9N+{n7lk z8Nea*C~oSlISuBblUB4LoORM9LZPu=3;>|9elRj87y#hA9{>!%0N_s6viOu3AE)w{ z0{g`rfQycTb~y<%k-Uujelh=T^bV_4J|*@BDt6vSX}=hW@3=8(S3Msj{^|(v0m6*{ z0PynubE29L(&IHsd@2T|ZI1n7ss1%W%6*P}&~0y0%m+~i3m+y{_lvQgqb=(P0DHRn zv~fO2kk@Do-s<_F6tQNDR6d9iD|9_bDY})H-3-z-PlI<5#g6v}Z6*f~5)jFK^LHtA zy>Pp*VA36&|Em#bd)r)HX{+AX0R7)H0NA%L^(Z#MC4au79tXMTJj5XF^ZDlO%jk_k otG#UA=_