From de32b73eb1a7d414660f418230e3b9137887c13a Mon Sep 17 00:00:00 2001 From: Ian C Date: Fri, 7 Dec 2018 15:22:29 +0000 Subject: Some more work on driver and added simple test program. Next step implement the write. --- test/sidtest.c | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 test/sidtest.c (limited to 'test/sidtest.c') diff --git a/test/sidtest.c b/test/sidtest.c new file mode 100644 index 0000000..767417c --- /dev/null +++ b/test/sidtest.c @@ -0,0 +1,77 @@ +/* Copyright 2018 Ian Cowburn + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ +#include +#include +#include +#include +#include + +int main(int argc, char *argv[]) +{ + char setsound[] = + { + 4, 17, + 24, 15, + 5, 97, + 6, 200, + 0, 128, + 1, 127 + }; + + char clearsound[] = + { + 24, 0 + }; + + int fd; + int wrote; + + fd = open("/dev/hardsid0", O_RDWR); + + if (fd == -1) + { + perror("open"); + exit(EXIT_FAILURE); + } + + if ((wrote = write(fd, setsound, sizeof setsound)) != sizeof setsound) + { + printf("Only wrote %d of %zu bytes\n", wrote, sizeof setsound); + perror("write"); + } + + printf("\n"); + getchar(); + + if ((wrote = write(fd, clearsound, sizeof clearsound)) != sizeof clearsound) + { + printf("Only wrote %d of %zu bytes\n", wrote, sizeof clearsound); + perror("write"); + } + + close(fd); + + return EXIT_SUCCESS; +} -- cgit v1.2.3