[{"data":1,"prerenderedAt":433},["ShallowReactive",2],{"article-bloodborne-thor-companion":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":5,"title":7,"description":8,"date":9,"slug":10,"category":11,"generated":12,"media":13,"source":14,"project_page":15,"body":16,"_type":427,"_id":428,"_source":429,"_file":430,"_stem":431,"_extension":432},"\u002Fbloodborne-thor-companion","",false,"Bloodborne · Thor Companion","A dual-screen build of the Bloodborne Android port that runs the game on the AYN Thor's upper screen with an integrated companion on the lower screen.","2026-11-01 06:54","bloodborne-thor-companion","game","ai",[],"https:\u002F\u002Fwww.reddit.com\u002Fr\u002FAynThor\u002Fcomments\u002F1xkrajs\u002Fbest_halloween_gaming_bloodborne_running\u002F","https:\u002F\u002Fgithub.com\u002Femerytech\u002FBloodborne-Android",{"type":17,"children":18,"toc":420},"root",[19,28,34,64,70,139,145,302,308],{"type":20,"tag":21,"props":22,"children":24},"element","h2",{"id":23},"description",[25],{"type":26,"value":27},"text","Description",{"type":20,"tag":29,"props":30,"children":31},"p",{},[32],{"type":26,"value":33},"An unofficial fork of the Bloodborne Android port by ducvd89, reworked into a single app that builds an integrated Hunter's Companion into the game for the AYN Thor. Based on the upstream android-2.2.0 release, it installs as one app with one launch icon and one game-folder selection: the game runs on the upper screen and a touchscreen companion runs on the lower screen.",{"type":20,"tag":29,"props":35,"children":36},{},[37,39,46,48,54,56,62],{"type":26,"value":38},"The project includes no game files — no game, saves, game artwork, generated game code, or Lossless Scaling DLL. You provide your own Bloodborne 1.09 files (the folder with ",{"type":20,"tag":40,"props":41,"children":43},"code",{"className":42},[],[44],{"type":26,"value":45},"eboot.bin",{"type":26,"value":47},", ",{"type":20,"tag":40,"props":49,"children":51},{"className":50},[],[52],{"type":26,"value":53},"sce_module",{"type":26,"value":55}," and ",{"type":20,"tag":40,"props":57,"children":59},{"className":58},[],[60],{"type":26,"value":61},"sce_sys",{"type":26,"value":63},") extracted from a disc you legally own. It is not an official Sony or FromSoftware product.",{"type":20,"tag":21,"props":65,"children":67},{"id":66},"requirements",[68],{"type":26,"value":69},"Requirements",{"type":20,"tag":71,"props":72,"children":73},"ul",{},[74,96,129,134],{"type":20,"tag":75,"props":76,"children":77},"li",{},[78,80,86,88,94],{"type":26,"value":79},"An ",{"type":20,"tag":81,"props":82,"children":83},"strong",{},[84],{"type":26,"value":85},"AYN Thor",{"type":26,"value":87}," (dual-screen Android handheld). The build targets its two screens; the second-screen companion only appears on a display named ",{"type":20,"tag":40,"props":89,"children":91},{"className":90},[],[92],{"type":26,"value":93},"Screen-2",{"type":26,"value":95},".",{"type":20,"tag":75,"props":97,"children":98},{},[99,101,106,108,113,114,120,121,127],{"type":26,"value":100},"Your own ",{"type":20,"tag":81,"props":102,"children":103},{},[104],{"type":26,"value":105},"Bloodborne 1.09",{"type":26,"value":107}," game files — a folder containing ",{"type":20,"tag":40,"props":109,"children":111},{"className":110},[],[112],{"type":26,"value":45},{"type":26,"value":47},{"type":20,"tag":40,"props":115,"children":117},{"className":116},[],[118],{"type":26,"value":119},"sce_module\u002F",{"type":26,"value":55},{"type":20,"tag":40,"props":122,"children":124},{"className":123},[],[125],{"type":26,"value":126},"sce_sys\u002F",{"type":26,"value":128}," — extracted from a disc you own. None are included.",{"type":20,"tag":75,"props":130,"children":131},{},[132],{"type":26,"value":133},"Free storage for your extracted game files plus the on-device compiled code (several GB).",{"type":20,"tag":75,"props":135,"children":136},{},[137],{"type":26,"value":138},"The app APK from the latest release.",{"type":20,"tag":21,"props":140,"children":142},{"id":141},"setup-guide",[143],{"type":26,"value":144},"Setup guide",{"type":20,"tag":71,"props":146,"children":147},{},[148,177,237,260,278],{"type":20,"tag":75,"props":149,"children":150},{},[151,156,158,167,169,175],{"type":20,"tag":81,"props":152,"children":153},{},[154],{"type":26,"value":155},"Install the app",{"type":26,"value":157}," — Download the APK from the ",{"type":20,"tag":159,"props":160,"children":164},"a",{"href":161,"rel":162},"https:\u002F\u002Fgithub.com\u002Femerytech\u002FBloodborne-Android\u002Freleases\u002Flatest",[163],"nofollow",[165],{"type":26,"value":166},"latest preview release",{"type":26,"value":168}," onto your Thor and install it, allowing installation from your browser or file manager when Android asks. Do not install an upstream APK over this fork: this build uses its own package (",{"type":20,"tag":40,"props":170,"children":172},{"className":171},[],[173],{"type":26,"value":174},"com.emerytech.bloodbornethor",{"type":26,"value":176},") and sits beside any existing Bloodborne app. Upgrading from an earlier preview: install the new APK over it — it is signed with the same key, so it upgrades in place and keeps its settings and saves.",{"type":20,"tag":75,"props":178,"children":179},{},[180,185,187,193,195,201,203,208,209,214,215,220,222,227,229,235],{"type":20,"tag":81,"props":181,"children":182},{},[183],{"type":26,"value":184},"Put your game files on the device",{"type":26,"value":186}," — Copy your own Bloodborne 1.09 folder somewhere on the Thor's storage, for example ",{"type":20,"tag":40,"props":188,"children":190},{"className":189},[],[191],{"type":26,"value":192},"Download\u002FBloodborne",{"type":26,"value":194}," or ",{"type":20,"tag":40,"props":196,"children":198},{"className":197},[],[199],{"type":26,"value":200},"Games\u002FBloodborne",{"type":26,"value":202},". The folder must directly contain ",{"type":20,"tag":40,"props":204,"children":206},{"className":205},[],[207],{"type":26,"value":45},{"type":26,"value":47},{"type":20,"tag":40,"props":210,"children":212},{"className":211},[],[213],{"type":26,"value":119},{"type":26,"value":55},{"type":20,"tag":40,"props":216,"children":218},{"className":217},[],[219],{"type":26,"value":126},{"type":26,"value":221}," (artwork is read from ",{"type":20,"tag":40,"props":223,"children":225},{"className":224},[],[226],{"type":26,"value":61},{"type":26,"value":228}," — ",{"type":20,"tag":40,"props":230,"children":232},{"className":231},[],[233],{"type":26,"value":234},"pic1.png",{"type":26,"value":236}," becomes the companion background).",{"type":20,"tag":75,"props":238,"children":239},{},[240,245,247,251,253,258],{"type":20,"tag":81,"props":241,"children":242},{},[243],{"type":26,"value":244},"First launch",{"type":26,"value":246}," — Open ",{"type":20,"tag":81,"props":248,"children":249},{},[250],{"type":26,"value":7},{"type":26,"value":252},", grant storage access when asked, and choose the game folder from the step above (the one with ",{"type":20,"tag":40,"props":254,"children":256},{"className":255},[],[257],{"type":26,"value":45},{"type":26,"value":259},").",{"type":20,"tag":75,"props":261,"children":262},{},[263,268,270,276],{"type":20,"tag":81,"props":264,"children":265},{},[266],{"type":26,"value":267},"Build the native code (first run only)",{"type":26,"value":269}," — If compatible precompiled ",{"type":20,"tag":40,"props":271,"children":273},{"className":272},[],[274],{"type":26,"value":275},"aot\u002F",{"type":26,"value":277}," code is already in your folder, it is imported automatically. Otherwise the app compiles the game's code on-device; this one-time step takes a while, then the game boots to its title screen on the upper screen.",{"type":20,"tag":75,"props":279,"children":280},{},[281,286,288,293,295,300],{"type":20,"tag":81,"props":282,"children":283},{},[284],{"type":26,"value":285},"Play",{"type":26,"value":287}," — The game runs on the ",{"type":20,"tag":81,"props":289,"children":290},{},[291],{"type":26,"value":292},"upper",{"type":26,"value":294}," screen with your physical controls, and the ",{"type":20,"tag":81,"props":296,"children":297},{},[298],{"type":26,"value":299},"lower",{"type":26,"value":301}," screen is the touchscreen companion.",{"type":20,"tag":21,"props":303,"children":305},{"id":304},"features",[306],{"type":26,"value":307},"Features",{"type":20,"tag":71,"props":309,"children":310},{},[311,321,331,348,358,368,378,383,402,415],{"type":20,"tag":75,"props":312,"children":313},{},[314,319],{"type":20,"tag":81,"props":315,"children":316},{},[317],{"type":26,"value":318},"Menu tab",{"type":26,"value":320}," — the full in-game menu (settings, cheats, mods, saves, online, graphics, controls) mirrored onto the bottom touchscreen; dialogs open on the upper screen.",{"type":20,"tag":75,"props":322,"children":323},{},[324,329],{"type":20,"tag":81,"props":325,"children":326},{},[327],{"type":26,"value":328},"Controls tab",{"type":26,"value":330}," — a quick reference for the Bloodborne button layout (combat, parry\u002Frally, movement, menus, tips). The glyphs are a reference, not touch buttons.",{"type":20,"tag":75,"props":332,"children":333},{},[334,339,341,346],{"type":20,"tag":81,"props":335,"children":336},{},[337],{"type":26,"value":338},"Artwork tab",{"type":26,"value":340}," — the home view, showing the game's own key art read from your ",{"type":20,"tag":40,"props":342,"children":344},{"className":343},[],[345],{"type":26,"value":61},{"type":26,"value":347}," folder.",{"type":20,"tag":75,"props":349,"children":350},{},[351,356],{"type":20,"tag":81,"props":352,"children":353},{},[354],{"type":26,"value":355},"Status tab",{"type":26,"value":357}," — live CPU, RAM, battery and temperature, a clock, and a brightness slider for the lower screen, refreshed every second.",{"type":20,"tag":75,"props":359,"children":360},{},[361,366],{"type":20,"tag":81,"props":362,"children":363},{},[364],{"type":26,"value":365},"Couchside tab",{"type":26,"value":367}," — a scannable QR to couchside.tv, shown only when this tab is open; tap the card to open it directly in your browser.",{"type":20,"tag":75,"props":369,"children":370},{},[371,376],{"type":20,"tag":81,"props":372,"children":373},{},[374],{"type":26,"value":375},"Help tab",{"type":26,"value":377}," — a short how-it-works note.",{"type":20,"tag":75,"props":379,"children":380},{},[381],{"type":26,"value":382},"Artwork is the home view: tap a tab to open it, tap the same tab again to close back to the artwork. The top swipe-in drawer on the upper screen stays available, so the game menu is reachable from either screen.",{"type":20,"tag":75,"props":384,"children":385},{},[386,388,393,395,400],{"type":26,"value":387},"Upstream's ",{"type":20,"tag":81,"props":389,"children":390},{},[391],{"type":26,"value":392},"Hunter's Atlas",{"type":26,"value":394}," second-screen map is preserved; the game menu's ",{"type":20,"tag":81,"props":396,"children":397},{},[398],{"type":26,"value":399},"Thor companion",{"type":26,"value":401}," entry offers hide\u002Fshow and the Atlas map, which takes over the lower screen until turned off.",{"type":20,"tag":75,"props":403,"children":404},{},[405,407,413],{"type":26,"value":406},"Save backup and restore from the game menu, copying saves to timestamped ",{"type":20,"tag":40,"props":408,"children":410},{"className":409},[],[411],{"type":26,"value":412},"Bloodborne-saves-…",{"type":26,"value":414}," folders in your Download folder.",{"type":20,"tag":75,"props":416,"children":417},{},[418],{"type":26,"value":419},"Mod browser with a starter catalog: direct downloads are checksum-checked, preview their shared files, and install switched off.",{"title":5,"searchDepth":421,"depth":421,"links":422},2,[423,424,425,426],{"id":23,"depth":421,"text":27},{"id":66,"depth":421,"text":69},{"id":141,"depth":421,"text":144},{"id":304,"depth":421,"text":307},"markdown","content:bloodborne-thor-companion:index.md","content","bloodborne-thor-companion\u002Findex.md","bloodborne-thor-companion\u002Findex","md",1794296043082]