From 07c99a1e2a6e7140f5dd4be4de9617dbefe3b259 Mon Sep 17 00:00:00 2001 From: Zihao Yu Date: Thu, 3 Sep 2020 00:42:55 +0800 Subject: [PATCH] test,am-tests: add audio test --- tests/am-tests/Makefile | 2 +- tests/am-tests/src/main.c | 2 ++ tests/am-tests/src/tests/audio.c | 27 ++++++++++++++++++ tests/am-tests/src/tests/audio/audio-data.S | 6 ++++ .../am-tests/src/tests/audio/little-star.pcm | Bin 0 -> 56844 bytes 5 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 tests/am-tests/src/tests/audio.c create mode 100644 tests/am-tests/src/tests/audio/audio-data.S create mode 100644 tests/am-tests/src/tests/audio/little-star.pcm diff --git a/tests/am-tests/Makefile b/tests/am-tests/Makefile index 907ff4f..de6da42 100644 --- a/tests/am-tests/Makefile +++ b/tests/am-tests/Makefile @@ -1,3 +1,3 @@ NAME = amtest -SRCS = $(shell find src/ -name "*.c") +SRCS = $(shell find src/ -name "*.[cS]") include $(AM_HOME)/Makefile diff --git a/tests/am-tests/src/main.c b/tests/am-tests/src/main.c index 0c7b300..cae9cd3 100644 --- a/tests/am-tests/src/main.c +++ b/tests/am-tests/src/main.c @@ -11,6 +11,7 @@ static const char *tests[256] = { ['t'] = "real-time clock test", ['k'] = "readkey test", ['v'] = "display test", + ['a'] = "audio test", ['p'] = "x86 virtual memory test", }; @@ -23,6 +24,7 @@ int main(const char *args) { CASE('t', rtc_test, IOE); CASE('k', keyboard_test, IOE); CASE('v', video_test, IOE); + CASE('a', audio_test, IOE); CASE('p', vm_test, CTE(vm_handler), VME(simple_pgalloc, simple_pgfree)); case 'H': default: diff --git a/tests/am-tests/src/tests/audio.c b/tests/am-tests/src/tests/audio.c new file mode 100644 index 0000000..5ad030a --- /dev/null +++ b/tests/am-tests/src/tests/audio.c @@ -0,0 +1,27 @@ +#include + +void audio_test() { + if (!io_read(AM_AUDIO_CONFIG).present) { + printf("WARNING: %s does not support audio\n", TOSTRING(__ARCH__)); + return; + } + + io_write(AM_AUDIO_CTRL, 8000, 1, 1024, 8192); + + extern uint8_t audio_payload, audio_payload_end; + uint32_t audio_len = &audio_payload_end - &audio_payload; + int nplay = 0; + Area sbuf; + sbuf.start = &audio_payload; + while (nplay < audio_len) { + int len = (audio_len - nplay > 4096 ? 4096 : audio_len - nplay); + sbuf.end = sbuf.start + len; + io_write(AM_AUDIO_PLAY, sbuf); + sbuf.start += len; + nplay += len; + printf("Already play %d/%d bytes of data\n", nplay, audio_len); + } + + // wait until the audio finishes + while (io_read(AM_AUDIO_STATUS).count > 0); +} diff --git a/tests/am-tests/src/tests/audio/audio-data.S b/tests/am-tests/src/tests/audio/audio-data.S new file mode 100644 index 0000000..f1fc11b --- /dev/null +++ b/tests/am-tests/src/tests/audio/audio-data.S @@ -0,0 +1,6 @@ +.section .data +.global audio_payload, audio_payload_end +.p2align 3 +audio_payload: +.incbin "src/tests/audio/little-star.pcm" +audio_payload_end: diff --git a/tests/am-tests/src/tests/audio/little-star.pcm b/tests/am-tests/src/tests/audio/little-star.pcm new file mode 100644 index 0000000000000000000000000000000000000000..afb88809ceda303fe0b2418a6bfccd7489079ec9 GIT binary patch literal 56844 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