Skip to content

Releases: chrissotraidis/bananapad

BananaPad v0.1.0-preview.3

Pre-release

Choose a tag to compare

@chrissotraidis chrissotraidis released this 03 Sep 01:54

BananaPad v0.1.0-preview.3

Developer Preview 3 is a focused response to the physical-iPhone feedback on
Issue #2. It remains a ROM-free unsigned arm64 IPA for iOS and iPadOS 15 or
newer and includes the Preview 2 audio correction.

Assets

  • BananaPad-v0.1.0-preview.3-unsigned.ipa
  • BananaPad-v0.1.0-preview.3-unsigned.ipa.sha256
  • SHA-256: ad8efa113b34d3cb80ca330a9fbb8a67297245b6b5ad78f7e0af9aeb48cd882f
  • Size: 7,479,560 bytes
  • App executable SHA-256: 8d7085f3082ab0647257bd5d2ea785fd47002c6b8d00e111727f7bd6b6e59e40
  • Product-source SHA-256: b4b4fc8dec848055b84ca265094db13be96feaaaaf9a5a4c022062737ce04b1e

The IPA is unsigned and must be re-signed with the user's own Apple Account.
It does not include Donkey Kong 64, a ROM, extracted assets, generated private
inputs, saves, logs, a provisioning profile, or signing material. BananaPad
does not require JIT.

Z-lock timing adjustment

  • Engaging Z lock now takes 0.75 seconds instead of one second.
  • Releasing an active Z lock now takes 0.35 seconds, making it deliberately
    faster than engagement in response to the reporter's feedback.
  • The default-on Settings switch, visible locked state, light haptic, normal
    short taps, and safety clearing behavior are unchanged.

Verification

The adjusted timing and state selection pass the touch-input contract. The
device and Simulator targets compile as build 3. The device app passes the
arm64 iPhoneOS, iOS 15, both-device-family, privacy, ROM/save/private-data,
signing-residue, personal-path, system-dependency, and no-dynamic-code audits.
Two independent deterministic package runs are byte-for-byte identical, and
ZIP integrity passes.

Retest requested

Please test both directions on a physical iPhone: hold Z for 0.75 seconds to
lock it, then hold it for 0.35 seconds to release it. Issue #2 remains open
until the reporter confirms that both timings feel right.

BananaPad v0.1.0-preview.2

Pre-release

Choose a tag to compare

@chrissotraidis chrissotraidis released this 03 Sep 00:18
367a3da

BananaPad v0.1.0-preview.2

Developer Preview 2 is a focused iPhone and iPad update for the two issues
reported against Preview 1. It remains a ROM-free unsigned arm64 IPA for iOS
and iPadOS 15 or newer.

Assets

  • BananaPad-v0.1.0-preview.2-unsigned.ipa
  • BananaPad-v0.1.0-preview.2-unsigned.ipa.sha256
  • SHA-256: 2ab9265e0a9eb980c5be85cea829bec98c38a790e022b47361c8c9e60ad7c762
  • Size: 7,479,552 bytes
  • App executable SHA-256: 4849f0d5bcfc1e43ad5ad53452f28c4ef1b0e1b3f0206cc32bd81d98fd912689
  • Product-source SHA-256: e0cf86eca3f0113716b25055d991df31a4b8234181a45270a08a09b60ff8e400

The IPA is unsigned and must be re-signed with the user's own Apple Account.
It does not include Donkey Kong 64, a ROM, extracted assets, generated private
inputs, saves, logs, a provisioning profile, or signing material. BananaPad
does not require JIT.

Fixes

  • Added a default-on touch Z lock. Hold Z continuously for one second to lock
    it; hold it again for one second to unlock it. The locked button remains
    visibly pressed and provides light haptic feedback.
  • Added Hold Z to Lock under the three-dot menu's Settings sheet. Turning
    the setting off restores momentary-only Z behavior.
  • Corrected the inherited audio queue-duration calculation to use the actual
    output device rate. The exercised DK64 path supplies 22.05 kHz audio while
    iOS outputs at 48 kHz; the old mismatch could trigger sample dropping at
    about 45.94 ms of real queued output instead of the intended 100 ms.
  • Added bounded audio diagnostics for the requested/obtained format, queue
    depth, starvation, submission gaps, sample dropping, block boundaries, and
    conversion or queue errors.

Verification

The device app passed the arm64 iPhoneOS, iOS 15, both-device-family, privacy,
ROM/save/private-data, signing-residue, personal-path, system-dependency, and
no-dynamic-code audits. Two independent deterministic package runs were
byte-for-byte identical, and ZIP integrity passed.

An extended Simulator run before the release-number-only rebuild observed 81
two-second audio windows with no sample dropping, no conversion/queue errors,
and no sustained queue starvation. Every window crossed the old effective
45.94 ms threshold, providing direct evidence that the prior calculation could
damage otherwise normal buffering.

Retest requested

The Z-lock gesture and the audio fix still need reporter confirmation on a
physical iPhone. If an audible pop remains, reproduce it and immediately use
••• → Share Diagnostics & Logs… so the new audio telemetry can identify the
next failure mode. Review the report before attaching it, and never share ROMs,
saves, signing files, or other private data.

BananaPad v0.1.0-preview.1

Pre-release

Choose a tag to compare

@chrissotraidis chrissotraidis released this 02 Sep 14:11

BananaPad v0.1.0-preview.1

Developer Preview 1 is the first public ROM-free unsigned BananaPad IPA for
arm64 iPhone and iPad devices running iOS or iPadOS 15 or newer.

Assets

  • BananaPad-v0.1.0-preview.1-unsigned.ipa
  • BananaPad-v0.1.0-preview.1-unsigned.ipa.sha256
  • SHA-256: a7f3a7a280770644bb175553c2d70c5af032959fd1e425d89b164f721b53d55e
  • Size: 7,479,430 bytes
  • App executable SHA-256: ee876b51aec617563963ee898c6ec36f87a3dffbfc10c2dc2636182c8a7a0442
  • Source rollup commit: 0d509886adc9b2c3b46b8343542d89eeaa383fa5

The IPA is unsigned and must be re-signed with the user's own Apple Account.
It does not include Donkey Kong 64, a ROM, extracted assets, generated private
inputs, saves, logs, a provisioning profile, or signing material. BananaPad
does not require JIT.

Highlights

  • Native Metal rendering on Apple Silicon.
  • Customizable independent-finger iPhone and iPad touch controls.
  • Persistent BananaPad three-dot menu, settings, diagnostics, and private ROM
    management.
  • Physical-controller support, including the iPadOS Xbox A/Start duplication
    repair in the pinned SDL2 integration.
  • CRC-checked private save-slot import tooling for local capture preparation;
    no save files are distributed.
  • Scripted, isolated DK64Recompiled update staging and recoverable rollback.

Verification

Two independent deterministic package runs matched byte-for-byte. The exact
candidate passed ZIP integrity, complete notice/license/install/rights content,
arm64 iPhoneOS 15 metadata, both iPhone/iPad family declarations, privacy,
system-only runtime dependency, no-dynamic-code, ROM/save/private-data, signing,
credential, and personal-build-path audits.

Preview limits

The signed development build installs, launches, renders DK64, and preserves
the private ROM/save/settings on the tested physical iPad. Broader controller
reconnect, audio interruption/route, memory-pressure, sustained-operation, and
physical-iPhone acceptance remain preview work. Build/install proof is not a
claim that every hardware route has completed acceptance.