From 305cba8d43c920659fbbf0ba6e38e5f6163315fe Mon Sep 17 00:00:00 2001 From: Gerrit 'Geaz' Gazic Date: Thu, 18 Jul 2019 18:42:30 +0200 Subject: [PATCH] Changed battery icons and added GBA emulator --- README.md | 7 ++++-- .../root/.emulationstation/es_systems.cfg | 9 ++++++++ .../romsplash/gba/launching.png | Bin 0 -> 25416 bytes .../fsoverlay/root/.retropower/battery-10.png | Bin 242 -> 242 bytes .../fsoverlay/root/.retropower/battery-20.png | Bin 247 -> 249 bytes .../fsoverlay/root/.retropower/battery-30.png | Bin 249 -> 247 bytes .../fsoverlay/root/.retropower/battery-40.png | Bin 255 -> 244 bytes .../fsoverlay/root/.retropower/battery-50.png | Bin 257 -> 249 bytes .../fsoverlay/root/.retropower/battery-60.png | Bin 256 -> 247 bytes .../fsoverlay/root/.retropower/battery-70.png | Bin 263 -> 244 bytes .../fsoverlay/root/.retropower/battery-80.png | Bin 262 -> 248 bytes .../fsoverlay/root/.retropower/battery-90.png | Bin 266 -> 247 bytes .../root/.retropower/battery-alert.png | Bin 432 -> 287 bytes .../root/.retropower/battery-charging.png | Bin 386 -> 426 bytes .../z5/fsoverlay/root/.retropower/battery.png | Bin 264 -> 239 bytes .../z5/fsoverlay/root/roms/gba/.gitkeep | 0 buildroot/configs/simplyRetro-z5_defconfig | 1 + buildroot/package/libretro-gpsp/Config.in | 11 ++++++++++ .../package/libretro-gpsp/libretro-gpsp.mk | 20 ++++++++++++++++++ 19 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 buildroot/board/simplyRetro/z5/fsoverlay/root/.emulationstation/romsplash/gba/launching.png create mode 100644 buildroot/board/simplyRetro/z5/fsoverlay/root/roms/gba/.gitkeep create mode 100644 buildroot/package/libretro-gpsp/Config.in create mode 100644 buildroot/package/libretro-gpsp/libretro-gpsp.mk diff --git a/README.md b/README.md index 2227f9a..595368c 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,8 @@ I maintained a really small [build log](https://www.3dgeeks.club/d/32-simplyretr ![simplyRetro Z5](https://raw.githubusercontent.com/geaz/simplyRetro-Z5/master/images/cover.jpg) +You can find a small video of it in action on [Youtube](https://www.youtube.com/watch?v=HvgBQ3S0Ykw). + ## Warning This is my first self designed retro handheld. So please be aware that it could contain some flaws. Furthermore you should be able to handle a soldering iron and you have to understand basic circuits, if you want to rebuild the Z5. Please make sure that you understand the steps in the build section, before you decide to rebuild the handheld. @@ -175,11 +177,12 @@ It is based on [BuildRoot](https://buildroot.org/) and just contains the package The *Z5* uses Retroarch for all emulations. The following systems are supported at the moment (more can be added): -- Arcade (MAME2013-plus) +- Arcade (MAME2013-plus - BIOS needed) - Gameboy DMG / Color (Gambatte) +- Gameboy Advance (gpsp - BIOS needed) - NES (quicknes) - SNES (snes9x2002) -- Meda Drive / Master System / Sega CD (picodrive) +- Meda Drive / Master System / Sega CD (picodrive - BIOS needed for Sega CD) If you want to use the distribution just use Etcher to copy the img file to a SD Card. diff --git a/buildroot/board/simplyRetro/z5/fsoverlay/root/.emulationstation/es_systems.cfg b/buildroot/board/simplyRetro/z5/fsoverlay/root/.emulationstation/es_systems.cfg index 7c00301..ee47f22 100644 --- a/buildroot/board/simplyRetro/z5/fsoverlay/root/.emulationstation/es_systems.cfg +++ b/buildroot/board/simplyRetro/z5/fsoverlay/root/.emulationstation/es_systems.cfg @@ -17,6 +17,15 @@ gbc gbc + + gba + Game Boy Advance + ~/roms/gba + .gba .GBA + runrom gba "retroarch -L /usr/lib/libretro/gpsp_libretro.so %ROM%" + gba + gba + nes Nintendo Entertainment System diff --git a/buildroot/board/simplyRetro/z5/fsoverlay/root/.emulationstation/romsplash/gba/launching.png b/buildroot/board/simplyRetro/z5/fsoverlay/root/.emulationstation/romsplash/gba/launching.png new file mode 100644 index 0000000000000000000000000000000000000000..8d15d0d659ec8df50aae8512a184a8f70dbc8cf7 GIT binary patch literal 25416 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 LNkvXXu0mjfjy45X literal 0 HcmV?d00001 diff --git a/buildroot/board/simplyRetro/z5/fsoverlay/root/.retropower/battery-10.png b/buildroot/board/simplyRetro/z5/fsoverlay/root/.retropower/battery-10.png index 02ef69a817db631bf02dba700e0e2fcbf81e2afb..0cc5f4ebb30571a39cdd9d268a58f4c9f2fdefa8 100644 GIT binary patch delta 117 zcmV-*0E++e0rCNm83+OZ003_ls;`kDM+(9K01m_7P!0ybB|B;m0^pJzH3$K4$&N&W@B^q)BrviJA`ei>pm*;8 XUQE`NIiB+i(Mp(A)VID|%AmxFS2kmTVgk?h`EE^hOJ*jE} Xc`k!}hfy)@00000NkvXXu0mjf$yY8> diff --git a/buildroot/board/simplyRetro/z5/fsoverlay/root/.retropower/battery-20.png b/buildroot/board/simplyRetro/z5/fsoverlay/root/.retropower/battery-20.png index 37d7f135870adb297b13e3429ed2692d97f18d3c..0e2b73fe341c2eae8d960b1d3a2ad3bf18946157 100644 GIT binary patch delta 129 zcmV-{0Dk}X0r>%t83+OZ003_ls;`kDM+(9K01mJOZ{($gp)nhOIP|!>Kc& h9ZsDuLU)QnstYZnlcf%Cz+?ab002ovPDHLkV1j3RFNFXA delta 129 zcmey)_>*yhBnKM<1H*%I+aD7Z-MJ1kFz_8_Jf6QIWnz(fg14uOV~B_M+p~^*3R9{j@>BX?Ooq@VZkXkWv%G18|0V#a$F@pW%I=jkbrdWiX4+g fo4}k^>aISXQnORgTe~DWM4fx-B;_ diff --git a/buildroot/board/simplyRetro/z5/fsoverlay/root/.retropower/battery-40.png b/buildroot/board/simplyRetro/z5/fsoverlay/root/.retropower/battery-40.png index a7b335c0e33bf5f76bd8e2b2198fb81e305b5ce6..70b9dab0d405c720e94efd63ea55adbafc61f562 100644 GIT binary patch delta 124 zcmV-?0E7Sk0rUZo83+OZ003_ls;`kDM+(9K01m9sPIr#5%kxHQ`Hokf11nRsJy?!}YNL(y+axeL-G3D?S9}ft& fnEy_s)y3@T<8;>0eZ9YcmN9s``njxgN@xNAzw9yT delta 137 zcmV;40CxZR0f7RL83+ad007{3J@}C!M+(CL01m?e$8V@)k#Z+!Q%OWYR7gwh%`pxD zAq>R8{QuJ+df$Qt)xk(Ev#D#ekB*`7(H0s^X*813RuA8UsrO)N`@w1&jifXhNoh2a r(r6^5(MU?8k(5RwDUC)_zf{!$m=>#5dHIe100000NkvXXu0mjfFZ?9=F~r0B?O8*<1_Oa3 z2mbuOtWfp%NE4UQq|>*h_ZQyzA|VeoYIb6Mw<&;$Sh^eOBB delta 143 zcmeyu*v>RTl7o$bf#E^9?T?9y?p%i%82An|9?xHqGO*h=NI1jA|bW^mQ!<>n{wE;svq__v6HJ|_h diff --git a/buildroot/board/simplyRetro/z5/fsoverlay/root/.retropower/battery-80.png b/buildroot/board/simplyRetro/z5/fsoverlay/root/.retropower/battery-80.png index 8e3004c4987ee08e567b859ed3463651187edd6c..8baceec6a4e6f5524b1e45b0c87d4e4d73748baf 100644 GIT binary patch delta 128 zcmV-`0Du360{8)t83+OZ003_ls;`kDM+(9K01mYiL>4nJ@ErzW#^d=bQh@RjC9V-A!TD(= z<%vb93~dWL#tfBiUL0M!(Fx;Tbd_`jX9k?Vi~hl}cd$rJzm&&{00 zHMOY2L(@&;OX1{s`BN-9g)S-?U2Hw>ck#{NjI$c=PGt2h3_T#oI!!z1g4Tl$hch#! z*D}S6usS~xPwlvqA*umnE(v(zw)%iy;4SHi`$c!8eEqUb Ob_P#ZKbLh*2~7Yqt5lo- delta 358 zcmbQww1IhoBnKM<1H*%I+aD7Zg}E4ugWR1M)}51iInhwRo-N7S-32HM1V5d3*8?fe z0*}aIAngIhZYQ(tfQ&*<7sn8f<4-3$3N{new@AK zqN?2FCaI&_zn;F#>CQ~|~q9}T* zk%f(4it>Dl<5?-p&}zS*qzYI>4hs(zqzYI>>N4v{6$lb-w-1#_6$lZ{O>9aKoeO~fNAOL@~6(r}2lL`gEA&le7l$FV3Tv*HkOiK=Rp=*{6U znw3O=OGI~3*EbI7*60S!ibKTnjLbE3ES4b>B3G|*rjocUP$AWM9}NDhiQe>CCxbLi$<_kU zWRRvPxWb7AK-O?-XPHTpAC{F3Gh|cl(By~XKVDh@^lIW&Wji$a;kraW4ZUobx*(Ov z6yC~t$|&lBR3fK#o-zurMCMT6W+$WZO620qOq%b1uJuV7`4Qd0OZS_E@C0l_n$7N7 RB;x=8002ovPDHLkV1ktddXE4A diff --git a/buildroot/board/simplyRetro/z5/fsoverlay/root/.retropower/battery.png b/buildroot/board/simplyRetro/z5/fsoverlay/root/.retropower/battery.png index 6fc1af50a1e493333d89fc736f17df3f8e904a8d..1f5f8c81dc49bf944231544fd8cda563de19ebd3 100644 GIT binary patch delta 119 zcmV--0EqvH0`CEk83+OZ003_ls;`kDM+(9K01m_03s*idljS$K&RuMPQyCSO9e;o)R5#HTAxMM92Kk&xq5B;+_12{}&1Wav#( Z2w3xx%EmMzDr^7%002ovPDHLkV1mM=E8hSB delta 144 zcmaFQ*ugYGl7o$bf#E^9?T?9y?p%i%82An|9?xHqGO_2Q9J8A+)o8;xc~NcyhnQ44bu#x4BS b)0q3*n#Zy)&t44y+RfnU>gTe~DWM4f`p`W* diff --git a/buildroot/board/simplyRetro/z5/fsoverlay/root/roms/gba/.gitkeep b/buildroot/board/simplyRetro/z5/fsoverlay/root/roms/gba/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/buildroot/configs/simplyRetro-z5_defconfig b/buildroot/configs/simplyRetro-z5_defconfig index 113b3e6..03dad8c 100644 --- a/buildroot/configs/simplyRetro-z5_defconfig +++ b/buildroot/configs/simplyRetro-z5_defconfig @@ -29,6 +29,7 @@ BR2_PACKAGE_LIBRETRO_SNES9X2002=y BR2_PACKAGE_LIBRETRO_QUICKNES=y BR2_PACKAGE_LIBRETRO_PICODRIVE=y BR2_PACKAGE_LIBRETRO_MAME2003_PLUS=y +BR2_PACKAGE_LIBRETRO_GPSP=y BR2_PACKAGE_EMULATION_STATION=y BR2_PACKAGE_RETROGAME=y BR2_PACKAGE_RETROPOWER=y diff --git a/buildroot/package/libretro-gpsp/Config.in b/buildroot/package/libretro-gpsp/Config.in new file mode 100644 index 0000000..9a7e3b6 --- /dev/null +++ b/buildroot/package/libretro-gpsp/Config.in @@ -0,0 +1,11 @@ +config BR2_PACKAGE_LIBRETRO_GPSP + bool "libretro-gpsp" + depends on BR2_PACKAGE_RETROARCH + depends on BR2_INSTALL_LIBSTDCPP + help + A libretro GBA emulator core for ARM. + + http://www.libretro.com + +comment "LIBRETRO_GPSP needs a toolchain w/ C++" + depends on !BR2_INSTALL_LIBSTDCPP diff --git a/buildroot/package/libretro-gpsp/libretro-gpsp.mk b/buildroot/package/libretro-gpsp/libretro-gpsp.mk new file mode 100644 index 0000000..ee4ea02 --- /dev/null +++ b/buildroot/package/libretro-gpsp/libretro-gpsp.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# GPSP +# +################################################################################ + +LIBRETRO_GPSP_VERSION = 19aed0288d5ca154be28c54f71769dfd80342b78 +LIBRETRO_GPSP_SITE = $(call github,libretro,gpsp,$(LIBRETRO_GPSP_VERSION)) + +define LIBRETRO_GPSP_BUILD_CMDS + CFLAGS="$(TARGET_CFLAGS)" CXXFLAGS="$(TARGET_CXXFLAGS)" \ + $(MAKE) CXX="$(TARGET_CXX)" CC="$(TARGET_CC)" -C $(@D) platform="$(RETROARCH_LIBRETRO_BOARD)" OPTIMIZE="$(COMPILER_COMMONS_LDFLAGS_SO)" +endef + +define LIBRETRO_GPSP_INSTALL_TARGET_CMDS + $(INSTALL) -D $(@D)/gpsp_libretro.so \ + $(TARGET_DIR)/usr/lib/libretro/gpsp_libretro.so +endef + +$(eval $(generic-package))