Module Name: src Committed By: tsutsui Date: Fri Jun 10 21:42:24 UTC 2022
Modified Files: src/sys/arch/luna68k/conf: GENERIC INSTALL files.luna68k majors.luna68k src/sys/arch/luna68k/dev: xp.c src/sys/arch/luna68k/luna68k: locore.s mainbus.c Added Files: src/sys/arch/luna68k/dev: psgpam.c psgpam_enc.c psgpam_enc.h psgpam_table.c psgpam_table.h xpbus.c xpbusvar.h xpcmd.c xpcmd.h xplxfirm.c xplxfirm.h src/sys/arch/luna68k/dev/xplx: Makefile cdump.awk mkdefs.awk xplx.asm xplx.inc xplxdefs.h Log Message: luna68k: add psgpam(4) audio for LUNA, using YM2149 PSG/SSG sound chip. "PSG PAM" is a audio driver using "Pulse Amplitude Modulation" with the YM2149 PSG/SSG chip connected to the I/O processor HD647180X on LUNA. The driver plays up to 30 kHz PCM audio by manipulating PSG channel volumes at extremely high speed with 6.144 MHz HD647180X, a Z80 compatible sub CPU. https://www.youtube.com/watch?v=fR7PqaLpijQ https://www.youtube.com/watch?v=kCDZCgkwgBA Compatibilities with the existing XPIOCDOWNLD ioctl(2) to download and exec user programs (PSG sound driver player ported from PC-6001 etc.) on the HD647180X is still provided. https://twitter.com/tsutsuii/status/1533247362965315584 This psgpam(4) driver for NetBSD/luna68k was written by @moveccr during isaki-audio2 branch developments, and it was also demonstrated at Open Source Conference 2018 Kyoto: https://github.com/isaki68k/netbsd-src/tree/audio2 https://mail-index.netbsd.org/netbsd-advocacy/2018/08/07/msg000781.html https://twitter.com/tsutsuii/status/1025504875625365505 Note specifications of interrupts from the HD647180X to the host LUNA was confirmed by Kenji Aoyama on his LUNA-88K2 running OpenBSD/luna88k. I would like to thank all people still working on ancient LUNA machines! To generate a diff of this commit: cvs rdiff -u -r1.132 -r1.133 src/sys/arch/luna68k/conf/GENERIC cvs rdiff -u -r1.33 -r1.34 src/sys/arch/luna68k/conf/INSTALL cvs rdiff -u -r1.29 -r1.30 src/sys/arch/luna68k/conf/files.luna68k cvs rdiff -u -r1.24 -r1.25 src/sys/arch/luna68k/conf/majors.luna68k cvs rdiff -u -r0 -r1.1 src/sys/arch/luna68k/dev/psgpam.c \ src/sys/arch/luna68k/dev/psgpam_enc.c \ src/sys/arch/luna68k/dev/psgpam_enc.h \ src/sys/arch/luna68k/dev/psgpam_table.c \ src/sys/arch/luna68k/dev/psgpam_table.h src/sys/arch/luna68k/dev/xpbus.c \ src/sys/arch/luna68k/dev/xpbusvar.h src/sys/arch/luna68k/dev/xpcmd.c \ src/sys/arch/luna68k/dev/xpcmd.h src/sys/arch/luna68k/dev/xplxfirm.c \ src/sys/arch/luna68k/dev/xplxfirm.h cvs rdiff -u -r1.6 -r1.7 src/sys/arch/luna68k/dev/xp.c cvs rdiff -u -r0 -r1.1 src/sys/arch/luna68k/dev/xplx/Makefile \ src/sys/arch/luna68k/dev/xplx/cdump.awk \ src/sys/arch/luna68k/dev/xplx/mkdefs.awk \ src/sys/arch/luna68k/dev/xplx/xplx.asm \ src/sys/arch/luna68k/dev/xplx/xplx.inc \ src/sys/arch/luna68k/dev/xplx/xplxdefs.h cvs rdiff -u -r1.67 -r1.68 src/sys/arch/luna68k/luna68k/locore.s cvs rdiff -u -r1.17 -r1.18 src/sys/arch/luna68k/luna68k/mainbus.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.