Skip to content
Permalink
Browse files

Add firmware loader for the GIMX adapter #457

  • Loading branch information
matlo committed Jun 13, 2017
1 parent 5c8c751 commit 435e43392d2f3bf565e7b67e129ea229ec4db839
@@ -1,4 +1,4 @@
DIRS = shared utils core config launcher fpsconfig
DIRS = shared utils core config launcher fpsconfig loader

ifneq ($(OS),Windows_NT)
DIRS+= po
@@ -37,6 +37,7 @@ install: all
cp -u -f config/gimx-config setup/gimx-config.exe
cp -u -f launcher/gimx-launcher setup/gimx-launcher.exe
cp -u -f fpsconfig/gimx-fpsconfig setup/gimx-fpsconfig.exe
cp -u -f loader/gimx-loader setup/gimx-loader.exe
cp -u -f shared/gasync/src/input/windows/gamecontrollerdb.txt setup
mkdir -p setup/share/locale
for translation in po/*.po; \
@@ -25,4 +25,10 @@
#define BT_DIR "bluetooth/"
#define LOG_DIR "log/"

#ifndef WIN32
#define FIRMWARE_DIR "/usr/share/gimx/firmware"
#else
#define FIRMWARE_DIR "firmware"
#endif

#endif /* DIRECTORIES_H_ */
@@ -0,0 +1 @@
/loader.layout
@@ -0,0 +1,45 @@
include ../Makedefs

ifneq ($(OS),Windows_NT)
prefix=$(DESTDIR)/usr
bindir=$(prefix)/bin
fwdir=$(prefix)/share/gimx/firmware
endif

NAME=$(shell basename $(shell pwd))

CPPFLAGS += `wx-config --cflags` -Winvalid-pch -include wx_pch.h -DWX_PRECOMP -Wno-unused-local-typedefs
LDLIBS += `wx-config --libs` -lstdc++

OBJECTS := $(patsubst %.cpp,%.o,$(wildcard *.cpp))

OUT = gimx-$(NAME)

BINS = $(OUT)

all: $(OUT)

$(OUT): $(OBJECTS)

clean:
$(RM) $(OBJECTS) $(OUT)

.PHONY: clean

ifneq ($(OS),Windows_NT)
install: all
mkdir -p $(prefix)
mkdir -p $(bindir)
for i in $(BINS); do cp $$i $(bindir)/; done
mkdir -p $(fwdir)
for i in firmware/*; do cp $$i $(fwdir); done

uninstall:
-$(RM) $(fwdir)/*
-rmdir $(fwdir)
-for i in $(BINS); do $(RM) $(bindir)/$$i; done
-rmdir $(bindir)
-rmdir $(prefix)

really-clean: clean uninstall
endif
@@ -0,0 +1,279 @@
:1000000040C1000059C1000057C1000055C10000A7
:1000100053C1000051C100004FC100004DC100009C
:100020004BC1000049C1000030C6000045C10000BE
:1000300043C1000041C100003FC100003DC10000BC
:100040003BC1000039C1000037C1000035C10000CC
:1000500033C1000031C100002FC100002DC10000DC
:100060002BC1000037C1000027C1000025C10000DE
:1000700023C1000021C100001FC100001DC10000FC
:100080001BC1000019C1000017C1000015C100000C
:1000900013C1000011C100000FC100000DC100001C
:1000A0000BC1000009C1000007C10000320754075E
:1000B0003808540738089607B80738080A081C0893
:1000C00010033100300030003800330036003600B5
:1000D0000000160343006F006E00740072006F0092
:1000E0006C006C006500720000001E034D0069008A
:1000F000630072006F0073006F00660074002000E0
:1001000049006E0063002E0000000403090412037E
:100110004D00530046005400310030003000900084
:100120000000B203580062006F0078002000530006
:10013000650063007500720069007400790020009A
:100140004D006500740068006F00640020003300FB
:100150002C002000560065007200730069006F00DB
:100160006E00200031002E00300030002C002000F6
:10017000A9002000320030003000350020004D0082
:100180006900630072006F0073006F006600740006
:10019000200043006F00720070006F007200610069
:1001A000740069006F006E002E00200041006C009A
:1001B0006C00200072006900670068007400730022
:1001C0002000720065007300650072007600650013
:1001D00064002E00000009029900040100A0FA0941
:1001E00004000002FF5D01001121100101258114AE
:1001F000030303041302080303070581032000011E
:10020000070502032000080904010004FF5D030044
:100210001B2100010101834001042016850000001C
:100220000000001605000000000000070583032001
:100230000002070504032000040705850320004091
:10024000070505032000100904020001FF5D0200FC
:1002500009210001012286070007058603200010FE
:100260000904030000FFFD1304064100010103120D
:10027000010002FFFFFF085E048E0210010102036D
:10028000010011241FBECFEFDAE0DEBFCDBF11E0C9
:10029000A0E0B1E0EAE0F1E102C005900D92AA34DD
:1002A000B107D9F711E0AAE4B1E001C01D92A33E65
:1002B000B107E1F72ED227C7A3CEF89428E088E152
:1002C00090E00FB6F894A895809360000FBE20933D
:1002D0006000FFCF1F920F920FB60F9211242F9341
:1002E0003F934F935F936F937F938F939F93AF93BE
:1002F000BF93EF93FF938091CE008093CF018091C5
:10030000C80087FFFCCF8091CE008093CE01809102
:10031000CF018F3F19F482E291E002C08BE891E0B7
:100320009093D4018093D3018091D3019091D40113
:100330002091D2013091CE01231778F431E0320FB1
:100340003093D201FC01E20FF11D2091C80027FF7C
:10035000FCCF2091CE002083EBCF1092D201809170
:10036000CF01833309F442C028F48131A1F08232F5
:1003700031F15AC0853509F453C08F3F09F451C09B
:10038000843409F051C081E08093CD018091CE0189
:100390008093CC0149C08091C80085FFFCCF81E1EA
:1003A0008093CE008091C80085FFFCCF81E08093D0
:1003B000CE008091C80085FFFCCF81E014C0809101
:1003C000C80085FFFCCF82E28093CE008091C800F8
:1003D00085FFFCCF81E08093CE008091CB0190918E
:1003E000C80095FFFCCF8093CE001EC08091C8004E
:1003F00085FFFCCF83E38093CE008091C80085FF0A
:10040000FCCF81E08093CE008091CB019091C80019
:1004100095FFFCCF8093CE0081E08093D00104C093
:100420004CDF81E08093D101FF91EF91BF91AF91BB
:100430009F918F917F916F915F914F913F912F91FC
:100440000F900FBE0F901F90189581E090E0909351
:10045000CD008093CC0086E08093CA001092C80043
:10046000E9ECF0E088E18083539A5A9A80818068B1
:100470008083089514BE88E10FB6F89480936000DD
:10048000109260000FBE90E080E80FB6F894809361
:100490006100909361000FBED8DF78948091D00105
:1004A0008823E1F3D5C30895089542E261EC81E029
:1004B00009D342E260EC82E005C3CF93DF93CDB76E
:1004C000DEB764970FB6F894DEBF0FBECDBF809144
:1004D000DB0186FFB9C09091CB01911169C087FD06
:1004E00011C08091E800877F8093E8006091E1016E
:1004F0007091E2018AE491E043D28091E8008E7726
:100500008093E8001092CD018091C80085FFFCCF58
:1005100084E48093CE008091DB0187FF06C0809148
:10052000C80085FFFCCF88E007C08091E101885FAB
:100530009091C80095FFFCCF8093CE0068E070E0FA
:100540008BED91E0CAD58091DB0187FF29C08091B6
:10055000CD018823E1F38091E800877F8093E80054
:100560006091CC0170E08BE891E0A9D18091E80026
:100570008B778093E8008091DD019091DE018031DE
:100580009C4509F061C080918A01882329F081E0AF
:100590008093CB018093D50181E080938A0154C080
:1005A0006091E1017091E2018AE491E096D54CC03E
:1005B00087FF39C08091DD019091DE0187319B4535
:1005C00009F47BDE8091E800877F8093E8008091CA
:1005D000DC018130C9F49091DB0190FF0CC084E113
:1005E000E6E3F1E0DE01119601900D928A95E1F7C4
:1005F00064E170E011C089831A8283E88B8386E608
:100600008C8364E070E008C0813A49F481E089831A
:1006100082E08A8362E070E0CE01019650D1809141
:10062000E8008B770FC08091E800877F8093E80017
:100630006091E1017091E2018AE491E0A1D18091A1
:10064000E8008E778093E80064960FB6F894DEBFDA
:100650000FBECDBFDF91CF91089581E08093E90077
:100660008091D5018823B1F08091D101882391F048
:100670008091E80080FFFCCF40E050E064E170E052
:1006800082E291E08CD01092D1018091E8008E77C7
:100690008093E8000895CF93DF9300D0CDB7DEB705
:1006A0001A82198282E08093E9008091E80082FF3B
:1006B00024C08091E80085FF0EC0AE014F5F5F4F00
:1006C00060E270E082E091E0B2D0811104C080E28B
:1006D00090E09A8389838091E8008B778093E8008B
:1006E00069817A816115710541F060930101772775
:1006F0006E5F7F4F80E091E0F0D40F900F90DF911C
:10070000CF9108958091DA01843011F4A6DFC3CF30
:100710000895B0DEF7DFC5D4FDCF292F332722306F
:10072000310559F02330310569F02130310579F573
:1007300082E190E02FE632E02EC089E990E026EDDC
:1007400031E029C0992782309105A9F03CF4009747
:1007500079F00197E1F4EAEEF0E015C084309105FC
:1007600081F064F08E3E910591F4EEE0F1E00BC073
:10077000EAE0F1E008C0E2EDF0E005C0E0ECF0E016
:1007800002C0E2E2F1E0849190E09F0104C080E0C9
:1007900090E020E030E0FA01318320830895CF9289
:1007A000DF92EF92FF920F931F93CF93DF937C0121
:1007B0008B01EA01DDD1811131C0209731F08881B0
:1007C0009981081B190BE80EF91EC12CD12C0115BB
:1007D000110519F18091E80085FD14C08091E800B1
:1007E0008E778093E8005DD4209741F088819981CD
:1007F0008C0D9D1D9983888385E010C0B9D1882315
:1008000031F30CC0F70181917F018093F100015019
:100810001109FFEFCF1ADF0ADACF80E0DF91CF9125
:100820001F910F91FF90EF90DF90CF900895CF929E
:10083000DF92EF92FF920F931F93CF93DF937C0190
:100840008B01EA0195D1811131C0209731F0888167
:100850009981081B190BE80EF91EC12CD12C01152A
:10086000110519F18091E80085FD14C08091E80020
:100870008B778093E80015D4209741F08881998187
:100880008C0D9D1D9983888385E010C071D18823CC
:1008900031F30CC08091F100F70181937F01015089
:1008A0001109FFEFCF1ADF0ADACF80E0DF91CF9195
:1008B0001F910F91FF90EF90DF90CF9008952091BE
:1008C000E1013091E2012617370748F06115710503
:1008D00039F42091E8002E772093E80001C0B90197
:1008E000FC0120E061157105B9F18091DA018823DE
:1008F00009F440C0853009F43FC08091E80083FDD1
:100900003DC08091E80082FF06C08091E80082FF30
:1009100026C080E008958091E80080FFE3CF209119
:10092000F3008091F20090E0922B6115710551F077
:100930008830910538F421912093F10061507109BC
:100940000196F3CF21E0089709F020E08091E800BC
:100950008E778093E800C6CF2111C7CFD6CF809184
:10096000DA01882339F0853039F08091E80083FF7F
:10097000CCCF04C082E0089583E0089581E008951B
:100980006115710529F42091E8002B772093E80088
:100990006115710541F12091DA01222369F12530B9
:1009A00069F12091E80023FD23C02091E80022FF97
:1009B000F2CFFC01CF014091F3002091F20030E032
:1009C000342B232B01F38091F1008193CF016150EF
:1009D00071096115710571F7D6CF8091DA0188230D
:1009E00059F0853059F08091E80080FFF6CF02C0C1
:1009F00081E0089580E0089582E0089583E00895FD
:100A00002091E1013091E2012617370748F0611586
:100A1000710539F42091E8002E772093E80001C099
:100A2000B901FC0120E061157105C1F18091DA0185
:100A3000882309F441C0853009F440C08091E80062
:100A400083FD3EC08091E80082FF06C08091E800EF
:100A500082FF27C080E008958091E80080FFE3CF07
:100A60002091F3008091F20090E0922B61157105C6
:100A700059F08830910540F424912093F10031968B
:100A8000615071090196F2CF21E0089709F020E04A
:100A90008091E8008E778093E800C5CF2111C6CF02
:100AA000D5CF8091DA01882339F0853039F08091F3
:100AB000E80083FFCBCF04C082E0089583E008956F
:100AC00081E00895982F973058F59093E900981792
:100AD00039F07091EC002091ED005091F00003C0CE
:100AE000242F762F50E021FF19C03091EB003E7F7C
:100AF0003093EB003091ED003D7F3093ED0030916D
:100B0000EB0031603093EB007093EC002093ED002C
:100B10005093F0002091EE0027FF07C09F5FD3CFD6
:100B20008F708093E90081E0089580E008958091BE
:100B3000DB0187FD05C08091E80080FF0EC012C078
:100B40008091E80082FD05C08091DA018111F8CF23
:100B500008958091E8008B7708C08091DA018111B7
:100B6000EACF08958091E8008E778093E800089599
:100B70008091E4009091E50045E62091EC0020FF93
:100B800021C02091E80020FD21C02091DA0122231C
:100B900089F0253089F02091EB0025FD0FC02091D0
:100BA000E4003091E5002817390739F3415041F04E
:100BB000C901E3CF82E0089583E0089581E00895BC
:100BC00084E008952091E80022FFDFCF80E00895BF
:100BD0000F931F93CF93DF934BD052D0C8EDD0E04B
:100BE00088818F77888388818068888388818F7DDA
:100BF000888319BC1092DA011092D6011092D801A4
:100C00001092D70100EE10E0F80180818B7F808385
:100C100088818160888342E060E080E053DFE1EE1C
:100C2000F0E080818E7F8083E2EEF0E08081816061
:100C30008083808188608083F80180818E7F8083BB
:100C4000888180618883DF91CF911F910F910895F2
:100C5000E8EDF0E080818F7E8083E7EDF0E0808139
:100C60008160808384E082BF81E08093D901B0CF2E
:100C7000E8EDF0E080818E7F80831092E20008959D
:100C80001092DA001092E10008951F920F920FB6B1
:100C90000F9211242F933F934F935F936F937F9302
:100CA0008F939F93AF93BF93EF93FF938091E10056
:100CB00082FF0AC08091E20082FF06C08091E100BD
:100CC0008B7F8093E100ECD18091DA0080FF1DC022
:100CD0008091D80080FF19C08091DA008E7F8093C8
:100CE000DA008091D90080FF0CC080E189BD82E1EB
:100CF00089BD09B400FEFDCF81E08093DA01D3DB2A
:100D000004C019BC1092DA01CFDB8091E10080FFB2
:100D100018C08091E20080FF14C08091E2008E7FB5
:100D20008093E2008091E20080618093E2008091F4
:100D3000D80080628093D80019BC85E08093DA01E6
:100D4000AFD18091E10084FF2FC08091E20084FF49
:100D50002BC080E189BD82E189BD09B400FEFDCFD1
:100D60008091D8008F7D8093D8008091E1008F7EA4
:100D70008093E1008091E2008F7E8093E200809179
:100D8000E20081608093E2008091D601882311F017
:100D900084E007C08091E30087FF02C083E001C0C8
:100DA00081E08093DA017CD18091E10083FF22C051
:100DB0008091E20083FF1EC08091E100877F8093D5
:100DC000E10082E08093DA011092D6018091E10087
:100DD0008E7F8093E1008091E2008E7F8093E2001D
:100DE0008091E20080618093E20042E060E080E078
:100DF00069DE56D1FF91EF91BF91AF919F918F9195
:100E00007F916F915F914F913F912F910F900FBE06
:100E10000F901F9018951F93CF93DF93CDB7DEB738
:100E2000AA970FB6F894DEBF0FBECDBFEBEDF1E091
:100E30008091F100819321E0E33EF207C9F73DDBA9
:100E40008091E80083FF14C12091DB013091DC0127
:100E5000832F90E08A30910508F00AC1FC01EA5A1C
:100E6000FF4F4BC1203881F0223809F001C1809139
:100E7000DF018F708093E9008091EB0085FB88276C
:100E800080F91092E90006C08091D7019091D801B5
:100E9000911182609091E800977F9093E800809391
:100EA000F1001092F100C1C0822F8D7F09F0E0C0E7
:100EB000222319F0223061F0DBC08091DD01813006
:100EC00009F0D6C0333009F080E08093D80128C003
:100ED0008091DD01811124C02091DF012F7009F480
:100EE000C7C02093E9008091EB0080FF19C080917A
:100EF000EB00333011F4806211C080618093EB000D
:100F000081E090E0022E01C0880F0A94EAF78093F6
:100F1000EA001092EA008091EB0088608093EB0079
:100F20001092E9008091E800877F82C02111A0C063
:100F30001091DD011F778091E3008078812B8093F1
:100F4000E3008091E800877F8093E800F0DD8091E6
:100F5000E80080FFFCCF8091E30080688093E3008D
:100F6000112311F083E001C082E08093DA0180C098
:100F70002058223008F07CC08091DD019091DE0184
:100F80008C3D23E0920771F583E08A838AE28983AE
:100F90004FB7F894DE01139620E03EE051E2E32FD4
:100FA000F0E050935700E49120FF03C0E295EF700A
:100FB0003F5FEF708E2F90E0EA3010F0C79601C0CF
:100FC000C0968D939D932F5F243149F74FBF809139
:100FD000E800877F8093E8006AE270E0CE01019626
:100FE0006EDC12C0AE014F5F5F4F6091DF0195DB99
:100FF000009709F43DC02091E800277F2093E80086
:10100000BC0189819A81FCDC8091E8008B77809318
:10101000E8002EC0203861F58091E800877F80933A
:10102000E8008091D6018093F1008091E8008E77EE
:101030008093E8007CDD1CC021111AC09091DD0175
:101040009230B0F48091E800877F8093E80090931D
:10105000D6016DDD8091D601811104C08091E3003D
:1010600087FF02C084E001C081E08093DA011DDACD
:101070008091E80083FF0AC08091E800877F809319
:10108000E8008091EB0080628093EB00AA960FB697
:10109000F894DEBF0FBECDBFDF91CF911F910895B1
:1010A0000895CF938091DA018823A9F08091E90017
:1010B0008F709091EC0090FF02C090E801C090E02A
:1010C000C92FC82B1092E9008091E80083FDA3DEB0
:1010D000CF70C093E900CF910895680F791F8617EC
:1010E000970751F0FC012191CF013091C80035FFE5
:1010F000FCCF2093CE00F3CF0895EE0FFF1F059095
:0A110000F491E02D0994F894FFCF5C
:10110A00EE000000000000000000000000000000E7
:10111A0000000000000000000000000000000000C5
:10112A0000000014000000000000000000000000A1
:10113A000000000000000014FFF7FFFFC0FFC0FF1F
:0A114A00C0FFC0FF0000000000001D
:00000001FF

0 comments on commit 435e433

Please sign in to comment.
You can’t perform that action at this time.