AminetAminet
Search:
85791 packages online
• About
• Recent
• Browse
• Search
• Upload
• Setup
• Services

driver/audio/Emu68PWM.lha

Mirror:Random
Showing: m68k-amigaos icongeneric icon
No screenshot available
Short:AHI driver: Pi 3/4 audio jack, PiStorm
Author: hakke at gmx.de (Andreas Winkler)
Uploader:hakke gmx de (Andreas Winkler)
Type:driver/audio
Version:4.6
Architecture:m68k-amigaos >= 3.1
Date:2026-11-06
Requires:PiStorm with Raspberry Pi 4/CM4 or 3, Emu68 1.1+, AHI 6
Distribution:Aminet
Download:driver/audio/Emu68PWM.lha - View contents
Readme:driver/audio/Emu68PWM.readme
Downloads:2

Emu68 PWM is an AHI driver that plays through the 3.5mm audio jack of
the Raspberry Pi 4 or Pi 3 in a PiStorm (a PiStorm32-lite, or a classic
PiStorm in an A500) running Emu68: a further stereo output next to Paula
and next to the HDMI output of emu68hdmi.audio. Ideal as the headphone
(cue) output of a DJ program such as StormDJ, or as a second output for
a second program.

This is a beta version, tested on a Pi 4 in a PiStorm32-lite and on a
Pi 3 in a classic PiStorm, mostly with StormDJ. Please report problems
to hakke@gmx.de, with your Pi model, your Emu68 version and the output
of PWMDiag.

Features
--------
- Two AHI modes, 16-bit stereo 48 kHz: normal (12 x 16 ms buffer) and
  low latency (3 x 16 ms), for Units 0-3 and the music unit.
- About 11 bits of resolution: fine for headphones and monitoring.
- Soft start and stop: no thump from the jack.
- AHI's output volume (Prefs/AHI "Output volume"), with a smooth ramp,
  from -60 dB up to a +12 dB boost for headphones.
- Optional dither for quiet passages, chosen as the unit's Output in
  Prefs/AHI.
- DMA paced by the PWM hardware, completion by interrupt: about 62
  wake-ups a second, no polling.
- AHI's CPU overload protection, as in paula.audio.
- Installs next to emu68hdmi.audio: different mode IDs (001f0020,
  001f0021), different hardware, both can be in Prefs/AHI.
- PWMTest: a test tone through the jack without AHI, for troubleshooting.
- PWMDiag: what the driver did, for problem reports.
- An AmigaGuide manual.

Requirements
------------
- A PiStorm with a Raspberry Pi 4 or CM4, or a Raspberry Pi 3 B, B+
  or A+ (not a Pi Zero 2 W: it has no jack).
- Emu68 1.1 or newer with its embedded ROM (devicetree.resource,
  mailbox.resource; on the Pi 4 gic400.library 1.3+).
- AHI 6.x.

Installation
------------
From the archive:

  Copy Emu68PWM/Devs/AHI/emu68pwm.audio DEVS:AHI/
  Copy Emu68PWM/Devs/AudioModes/Emu68PWM DEVS:AudioModes/

Reboot and pick an Emu68 PWM mode in Prefs/AHI. See Emu68PWM.guide.

Credits
-------
Built on emu68hdmi.audio 4.17 (arczi84, flype44; GPL-3.0-or-later).
PWM sound set-up after Circle by R. Stange (GPL-3.0-or-later).
Emu68 and its resources by Michal Schulz, AHI by Martin Blom.

Author: Andreas Winkler - www.taiwanrider.com
(HAKKE Online Shop, Amiga and synthesizer related hardware and software).

License
-------
GNU General Public License, version 3 or later: see COPYING. The complete
source code is in the Source drawer of this archive; please pass the
archive on complete, with it.

Disclaimer
----------
Emu68 PWM is provided "as is", without warranty of any kind. You use it
at your own risk: the author takes no responsibility for any loss of
data or for any damage to software or hardware, whatever the cause.

History
-------
4.6     First public release.


Contents of driver/audio/Emu68PWM.lha
 PERMSSN    UID  GID    PACKED    SIZE  RATIO METHOD CRC     STAMP          NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
-rw-r--r--     0/0         123     538  22.9% -lh5- 926f Nov  6 18:31 Emu68PWM.info
-rw-r--r--     0/0        1614    3174  50.9% -lh5- 524e Nov  6 18:31 Emu68PWM.readme
-rw-r--r--     0/0       12589   35149  35.8% -lh5- 7065 Nov  6 18:31 Emu68PWM/COPYING
-rwxr-xr-x     0/0       10937   19416  56.3% -lh5- c20d Nov  6 18:31 Emu68PWM/Devs/AHI/emu68pwm.audio
-rw-r--r--     0/0         131     244  53.7% -lh5- bcf4 Nov  6 18:31 Emu68PWM/Devs/AudioModes/Emu68PWM
-rw-r--r--     0/0        7737   20380  38.0% -lh5- 8323 Nov  6 18:31 Emu68PWM/Emu68PWM.guide
-rw-r--r--     0/0         137     510  26.9% -lh5- 465b Nov  6 18:31 Emu68PWM/Emu68PWM.guide.info
-rwxr-xr-x     0/0       36408   65936  55.2% -lh5- a1ce Nov  6 18:31 Emu68PWM/PWMDiag
-rwxr-xr-x     0/0       42241   74880  56.4% -lh5- 7eeb Nov  6 18:31 Emu68PWM/PWMTest
-rw-rw-r--     0/0          88     101  87.1% -lh5- 3d71 Nov  6 18:30 Emu68PWM/Source/.gitattributes
-rw-rw-r--     0/0         911    2217  41.1% -lh5- 5abd Nov  6 18:30 Emu68PWM/Source/.github/workflows/build.yml
-rw-rw-r--     0/0          65      89  73.0% -lh5- e1a3 Nov  6 18:30 Emu68PWM/Source/.gitignore
-rw-rw-r--     0/0         124     339  36.6% -lh5- 9f99 Nov  6 18:30 Emu68PWM/Source/.gitmodules
-rw-rw-r--     0/0       12589   35149  35.8% -lh5- 7065 Nov  6 18:30 Emu68PWM/Source/COPYING
-rw-rw-r--     0/0        3669    7750  47.3% -lh5- 3528 Nov  6 18:30 Emu68PWM/Source/README.md
-rw-rw-r--     0/0        1846    4878  37.8% -lh5- b99a Nov  6 18:30 Emu68PWM/Source/Source/Makefile
-rw-rw-r--     0/0        1051    2164  48.6% -lh5- 360e Nov  6 18:30 Emu68PWM/Source/Source/SOURCES.txt
-rw-rw-r--     0/0        2420    6894  35.1% -lh5- c223 Nov  6 18:30 Emu68PWM/Source/Source/ahi/PWMDiag.c
-rw-rw-r--     0/0         710    1279  55.5% -lh5- 6e9b Nov  6 18:30 Emu68PWM/Source/Source/ahi/README.txt
-rw-rw-r--     0/0         344    1140  30.2% -lh5- abd9 Nov  6 18:30 Emu68PWM/Source/Source/ahi/abi_test.S
-rw-rw-r--     0/0        1551    5146  30.1% -lh5- d684 Nov  6 18:30 Emu68PWM/Source/Source/ahi/abi_test.c
-rw-rw-r--     0/0        9633   28922  33.3% -lh5- 28d3 Nov  6 18:30 Emu68PWM/Source/Source/ahi/driver.c
-rw-rw-r--     0/0         739    1946  38.0% -lh5- 0e75 Nov  6 18:30 Emu68PWM/Source/Source/ahi/entry.S
-rw-rw-r--     0/0         271     543  49.9% -lh5- d3a9 Nov  6 18:30 Emu68PWM/Source/Source/ahi/guard.h
-rw-rw-r--     0/0         149     230  64.8% -lh5- 918b Nov  6 18:30 Emu68PWM/Source/Source/ahi/lifetime.S
-rw-rw-r--     0/0         628    1233  50.9% -lh5- 9fc2 Nov  6 18:30 Emu68PWM/Source/Source/ahi/lifetime.c
-rw-rw-r--     0/0         298     509  58.5% -lh5- 0dd7 Nov  6 18:30 Emu68PWM/Source/Source/ahi/lifetime.h
-rw-rw-r--     0/0         812    1515  53.6% -lh5- c070 Nov  6 18:30 Emu68PWM/Source/Source/ahi/modefile.py
-rw-rw-r--     0/0         323     709  45.6% -lh5- 7036 Nov  6 18:30 Emu68PWM/Source/Source/ahi/runtime.c
-rw-rw-r--     0/0         275     575  47.8% -lh5- da1a Nov  6 18:30 Emu68PWM/Source/Source/ahi/status.S
-rw-rw-r--     0/0        1065    2906  36.6% -lh5- 5cf1 Nov  6 18:30 Emu68PWM/Source/Source/ahi/status.h
-rw-rw-r--     0/0        1792    4329  41.4% -lh5- 233f Nov  6 18:30 Emu68PWM/Source/Source/scripts/make-icon.py
-rw-rw-r--     0/0        6493   18681  34.8% -lh5- 8c12 Nov  6 18:30 Emu68PWM/Source/Source/src/pwm_backend.h
-rw-rw-r--     0/0         627    1250  50.2% -lh5- c715 Nov  6 18:30 Emu68PWM/Source/Source/src/pwm_dma.h
-rw-rw-r--     0/0        2191    5868  37.3% -lh5- a030 Nov  6 18:30 Emu68PWM/Source/Source/src/pwm_pcm.h
-rw-rw-r--     0/0        3116    7793  40.0% -lh5- 2e62 Nov  6 18:30 Emu68PWM/Source/Source/src/pwm_regs.h
-rw-rw-r--     0/0        2555    6587  38.8% -lh5- a632 Nov  6 18:30 Emu68PWM/Source/Source/src/pwm_ring.h
-rw-rw-r--     0/0         312     452  69.0% -lh5- 9a55 Nov  6 18:30 Emu68PWM/Source/Source/src/vblank.S
-rw-rw-r--     0/0        1383    3056  45.3% -lh5- f634 Nov  6 18:30 Emu68PWM/Source/Source/tests/docs_test.py
-rw-rw-r--     0/0         644    1348  47.8% -lh5- 83de Nov  6 18:30 Emu68PWM/Source/Source/tests/modefile_test.py
-rw-rw-r--     0/0        2117    6587  32.1% -lh5- 220c Nov  6 18:30 Emu68PWM/Source/Source/tests/pcm_test.c
-rw-rw-r--     0/0        1363    4075  33.4% -lh5- aff7 Nov  6 18:30 Emu68PWM/Source/Source/tests/regs_test.c
-rw-rw-r--     0/0        1904    5825  32.7% -lh5- 01b6 Nov  6 18:30 Emu68PWM/Source/Source/tests/ring_test.c
-rw-rw-r--     0/0        5386   14632  36.8% -lh5- 0c0d Nov  6 18:30 Emu68PWM/Source/Source/tools/PWMTest.c
-rw-rw-r--     0/0         264     382  69.1% -lh5- 5df0 Nov  6 18:30 Emu68PWM/Source/Source/vendor/ahi/README.txt
-rw-rw-r--     0/0         908    2841  32.0% -lh5- 19da Nov  6 18:30 Emu68PWM/Source/Source/vendor/ahi/clib/ahi_protos.h
-rw-rw-r--     0/0        4585   15499  29.6% -lh5- 1926 Nov  6 18:30 Emu68PWM/Source/Source/vendor/ahi/devices/ahi.h
-rw-rw-r--     0/0        1116    5479  20.4% -lh5- ecce Nov  6 18:30 Emu68PWM/Source/Source/vendor/ahi/inline/ahi.h
-rw-rw-r--     0/0        1362    3948  34.5% -lh5- 7520 Nov  6 18:30 Emu68PWM/Source/Source/vendor/ahi/libraries/ahi_sub.h
-rw-rw-r--     0/0         334     710  47.0% -lh5- d918 Nov  6 18:30 Emu68PWM/Source/Source/vendor/ahi/proto/ahi.h
-rw-rw-r--     0/0          27      27 100.0% -lh0- 8cd1 Nov  4  2025 Emu68PWM/Source/devicetree.resource/.gitignore
-rw-rw-r--     0/0         547    1320  41.4% -lh5- ca98 Nov  4  2025 Emu68PWM/Source/devicetree.resource/CMakeLists.txt
-rw-rw-r--     0/0         463     835  55.4% -lh5- fe9b Nov  4  2025 Emu68PWM/Source/devicetree.resource/cmake/bin2h.cmake
-rw-rw-r--     0/0         970    2527  38.4% -lh5- 090d Nov  4  2025 Emu68PWM/Source/devicetree.resource/cmake/catalogs.cmake
-rw-rw-r--     0/0         609    2158  28.2% -lh5- ed1f Nov  4  2025 Emu68PWM/Source/devicetree.resource/cmake/sfdc.cmake
-rw-rw-r--     0/0         607    1095  55.4% -lh5- 89e1 Nov  4  2025 Emu68PWM/Source/devicetree.resource/cmake/verstring.cmake
-rw-rw-r--     0/0         279     467  59.7% -lh5- 5a13 Nov  4  2025 Emu68PWM/Source/devicetree.resource/include/common/compiler.h
-rw-rw-r--     0/0         269     525  51.2% -lh5- f624 Nov  4  2025 Emu68PWM/Source/devicetree.resource/ldscript.lds
-rw-rw-r--     0/0         286     680  42.1% -lh5- 400c Nov  4  2025 Emu68PWM/Source/devicetree.resource/sfd/devicetree_lib.sfd
-rw-rw-r--     0/0        1312    5000  26.2% -lh5- 12be Nov  4  2025 Emu68PWM/Source/devicetree.resource/src/addram.c
-rw-rw-r--     0/0         350     512  68.4% -lh5- 59f7 Nov  4  2025 Emu68PWM/Source/devicetree.resource/src/closekey.c
-rw-rw-r--     0/0        1336    4195  31.8% -lh5- e783 Nov  4  2025 Emu68PWM/Source/devicetree.resource/src/devicetree.h
-rw-rw-r--     0/0         627    1410  44.5% -lh5- c4bb Nov  4  2025 Emu68PWM/Source/devicetree.resource/src/findproperty.c
-rw-rw-r--     0/0         415     665  62.4% -lh5- 2dee Nov  4  2025 Emu68PWM/Source/devicetree.resource/src/getchild.c
-rw-rw-r--     0/0         477     840  56.8% -lh5- caae Nov  4  2025 Emu68PWM/Source/devicetree.resource/src/getkeyname.c
-rw-rw-r--     0/0         390     586  66.6% -lh5- b50c Nov  4  2025 Emu68PWM/Source/devicetree.resource/src/getparent.c
-rw-rw-r--     0/0         420     677  62.0% -lh5- d7e3 Nov  4  2025 Emu68PWM/Source/devicetree.resource/src/getproperty.c
-rw-rw-r--     0/0         459     806  56.9% -lh5- 0afd Nov  4  2025 Emu68PWM/Source/devicetree.resource/src/getproplen.c
-rw-rw-r--     0/0         476     844  56.4% -lh5- 2c23 Nov  4  2025 Emu68PWM/Source/devicetree.resource/src/getpropname.c
-rw-rw-r--     0/0         469     820  57.2% -lh5- ef10 Nov  4  2025 Emu68PWM/Source/devicetree.resource/src/getpropvalue.c
-rw-rw-r--     0/0        1864    6211  30.0% -lh5- 0bf3 Nov  4  2025 Emu68PWM/Source/devicetree.resource/src/init.c
-rw-rw-r--     0/0         577    1189  48.5% -lh5- c014 Nov  4  2025 Emu68PWM/Source/devicetree.resource/src/main.c
-rw-rw-r--     0/0         651    1451  44.9% -lh5- c027 Nov  4  2025 Emu68PWM/Source/devicetree.resource/src/openkey.c
-rw-rw-r--     0/0        7737   20380  38.0% -lh5- 8323 Nov  6 18:30 Emu68PWM/Source/dist/Emu68PWM.guide
-rw-rw-r--     0/0        1614    3174  50.9% -lh5- 524e Nov  6 18:30 Emu68PWM/Source/dist/Emu68PWM.readme
-rw-rw-r--     0/0        3807    8004  47.6% -lh5- 54bf Nov  6 18:30 Emu68PWM/Source/docs/HARDWARE.md
-rw-rw-r--     0/0         313     501  62.5% -lh5- a1ca Apr  2  2026 Emu68PWM/Source/gic400.library/.gitignore
-rwxrwxr-x     0/0         984    2352  41.8% -lh5- 947c Apr  2  2026 Emu68PWM/Source/gic400.library/CMakeLists.txt
-rw-rw-r--     0/0        5406   16726  32.3% -lh5- 5cd4 Apr  2  2026 Emu68PWM/Source/gic400.library/LICENSE
-rw-rw-r--     0/0        1009    1832  55.1% -lh5- b66f Apr  2  2026 Emu68PWM/Source/gic400.library/README.md
-rw-rw-r--     0/0          73      73 100.0% -lh0- 078f Apr  2  2026 Emu68PWM/Source/gic400.library/cmake/GIC400Config.cmake.in
-rwxrwxr-x     0/0        1159    3570  32.5% -lh5- ffe3 Apr  2  2026 Emu68PWM/Source/gic400.library/cmake/toolchain.cmake
-rw-rw-r--     0/0         698    1746  40.0% -lh5- 2487 Apr  2  2026 Emu68PWM/Source/gic400.library/include/clib/gic400_protos.h
-rwxrwxr-x     0/0        2348   10241  22.9% -lh5- f489 Apr  2  2026 Emu68PWM/Source/gic400.library/include/gic400_private.h
-rw-rw-r--     0/0         931    3954  23.5% -lh5- ac84 Apr  2  2026 Emu68PWM/Source/gic400.library/include/inline/gic400.h
-rw-rw-r--     0/0         207     341  60.7% -lh5- bccb Apr  2  2026 Emu68PWM/Source/gic400.library/include/libraries/gic400.h
-rw-rw-r--     0/0         904    6931  13.0% -lh5- e9cd Apr  2  2026 Emu68PWM/Source/gic400.library/include/pragmas/gic400_pragmas.h
-rw-rw-r--     0/0         343     748  45.9% -lh5- 8755 Apr  2  2026 Emu68PWM/Source/gic400.library/include/proto/gic400.h
-rwxrwxr-x     0/0         448    1199  37.4% -lh5- 2e59 Apr  2  2026 Emu68PWM/Source/gic400.library/sfd/gic400.sfd
-rwxrwxr-x     0/0         151     517  29.2% -lh5- 7673 Apr  2  2026 Emu68PWM/Source/gic400.library/sfd/make.sh
-rw-rw-r--     0/0        4017   18078  22.2% -lh5- 61c4 Apr  2  2026 Emu68PWM/Source/gic400.library/src/gic400_api.c
-rw-rw-r--     0/0        1761    8340  21.1% -lh5- f649 Apr  2  2026 Emu68PWM/Source/gic400.library/src/gic400_distributor.c
-rw-rw-r--     0/0          88      88 100.0% -lh0- 42df Apr  2  2026 Emu68PWM/Source/gic400.library/src/gic400_end.c
-rwxrwxr-x     0/0        1172    3257  36.0% -lh5- 8384 Apr  2  2026 Emu68PWM/Source/gic400.library/src/gic400_main.c
-rw-rw-r--     0/0          27      27 100.0% -lh0- 8cd1 Nov  8  2025 Emu68PWM/Source/mailbox.resource/.gitignore
-rw-rw-r--     0/0          81     121  66.9% -lh5- c497 Nov  8  2025 Emu68PWM/Source/mailbox.resource/.gitmodules
-rw-rw-r--     0/0         595    1408  42.3% -lh5- 6a7e Nov  8  2025 Emu68PWM/Source/mailbox.resource/CMakeLists.txt
-rw-rw-r--     0/0         463     835  55.4% -lh5- fe9b Nov  8  2025 Emu68PWM/Source/mailbox.resource/cmake/bin2h.cmake
-rw-rw-r--     0/0         970    2527  38.4% -lh5- 090d Nov  8  2025 Emu68PWM/Source/mailbox.resource/cmake/catalogs.cmake
-rw-rw-r--     0/0         609    2158  28.2% -lh5- ed1f Nov  8  2025 Emu68PWM/Source/mailbox.resource/cmake/sfdc.cmake
-rw-rw-r--     0/0         607    1095  55.4% -lh5- 89e1 Nov  8  2025 Emu68PWM/Source/mailbox.resource/cmake/verstring.cmake
-rw-rw-r--     0/0         279     467  59.7% -lh5- 5a13 Nov  8  2025 Emu68PWM/Source/mailbox.resource/include/common/compiler.h
-rw-rw-r--     0/0         280     553  50.6% -lh5- eacb Nov  8  2025 Emu68PWM/Source/mailbox.resource/ldscript.lds
-rw-rw-r--     0/0         277     676  41.0% -lh5- a177 Nov  8  2025 Emu68PWM/Source/mailbox.resource/sfd/mailbox_lib.sfd
-rw-rw-r--     0/0         417     915  45.6% -lh5- be5a Nov  8  2025 Emu68PWM/Source/mailbox.resource/src/getclockrate.c
-rw-rw-r--     0/0         417     917  45.5% -lh5- e18c Nov  8  2025 Emu68PWM/Source/mailbox.resource/src/getclockstate.c
-rw-rw-r--     0/0         429     915  46.9% -lh5- eef8 Nov  8  2025 Emu68PWM/Source/mailbox.resource/src/getgpiostate.c
-rw-rw-r--     0/0         420     904  46.5% -lh5- 50c7 Nov  8  2025 Emu68PWM/Source/mailbox.resource/src/getpowerstate.c
-rw-rw-r--     0/0        1907    6695  28.5% -lh5- 80e8 Nov  8  2025 Emu68PWM/Source/mailbox.resource/src/init.c
-rw-rw-r--     0/0         701    2246  31.2% -lh5- af61 Nov  8  2025 Emu68PWM/Source/mailbox.resource/src/mailbox.h
-rw-rw-r--     0/0         599    1194  50.2% -lh5- 096e Nov  8  2025 Emu68PWM/Source/mailbox.resource/src/main.c
-rw-rw-r--     0/0         583    1944  30.0% -lh5- bbbe Nov  8  2025 Emu68PWM/Source/mailbox.resource/src/mbox.c
-rw-rw-r--     0/0         545    1222  44.6% -lh5- 4080 Nov  8  2025 Emu68PWM/Source/mailbox.resource/src/rawcommand.c
-rw-rw-r--     0/0         430     971  44.3% -lh5- 72f2 Nov  8  2025 Emu68PWM/Source/mailbox.resource/src/setclockrate.c
-rw-rw-r--     0/0         429     953  45.0% -lh5- 576d Nov  8  2025 Emu68PWM/Source/mailbox.resource/src/setclockstate.c
-rw-rw-r--     0/0         439     952  46.1% -lh5- 7dc7 Nov  8  2025 Emu68PWM/Source/mailbox.resource/src/setgpiostate.c
-rw-rw-r--     0/0         434     960  45.2% -lh5- dfe8 Nov  8  2025 Emu68PWM/Source/mailbox.resource/src/setpowerstate.c
-rw-rw-r--     0/0         654    1586  41.2% -lh5- 2627 Nov  8  2025 Emu68PWM/Source/mailbox.resource/src/stringcommand.c
---------- ----------- ------- ------- ------ ---------- ------------ -------------
 Total       118 files  251572  614936  40.9%            Nov  6 22:48
Page generated in 0.02 seconds
Aminet © 1992-2024 Urban Müller and the Aminet team. Aminet contact address: <aminetaminet net>