{
    "mode": "man",
    "parameter": "dsp56k",
    "section": "4",
    "url": "https://www.chedong.com/phpMan.php/man/dsp56k/4/json",
    "generated": "2026-10-09T16:49:47Z",
    "synopsis": "",
    "sections": {
        "NAME": {
            "content": "dsp56k - DSP56001 interface device\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "",
            "subsections": [
                {
                    "name": "#include <asm/dsp56k.h>",
                    "content": "ssizet read(int fd, void *data, sizet length);\nssizet write(int fd, void *data, sizet length);\n\nint ioctl(int fd, DSP56KUPLOAD, struct dsp56kupload *program);\nint ioctl(int fd, DSP56KSETTXWSIZE, int wsize);\nint ioctl(int fd, DSP56KSETRXWSIZE, int wsize);\nint ioctl(int fd, DSP56KHOSTFLAGS, struct dsp56khostflags *flags);\nint ioctl(int fd, DSP56KHOSTCMD, int cmd);\n"
                }
            ]
        },
        "CONFIGURATION": {
            "content": "The dsp56k device is a character device with major number 55 and minor number 0.\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "The  Motorola DSP56001 is a fully programmable 24-bit digital signal processor found in Atari\nFalcon030-compatible computers.  The dsp56k special file is used to control the DSP56001, and\nto send and receive data using the bidirectional handshaked host port.\n\nTo send a data stream to the signal processor, use write(2) to the device, and read(2) to re‐\nceive processed data.  The data can be sent or received in 8, 16, 24, or 32-bit quantities on\nthe host side, but will always be seen as 24-bit quantities in the DSP56001.\n\nThe following ioctl(2) calls are used to control the dsp56k device:\n\nDSP56KUPLOAD\nresets the DSP56001 and uploads a program.  The third  ioctl(2)  argument  must  be  a\npointer  to a struct dsp56kupload with members bin pointing to a DSP56001 binary pro‐\ngram, and len set to the length of the program, counted in 24-bit words.\n\nDSP56KSETTXWSIZE\nsets the transmit word size.  Allowed values are in the range 1 to 4, and is the  num‐\nber  of bytes that will be sent at a time to the DSP56001.  These data quantities will\neither be padded with bytes containing zero, or truncated to  fit  the  native  24-bit\ndata format of the DSP56001.\n\nDSP56KSETRXWSIZE\nsets the receive word size.  Allowed values are in the range 1 to 4, and is the number\nof  bytes  that  will  be received at a time from the DSP56001.  These data quantities\nwill either truncated, or padded with a null byte ('\\0'), to  fit  the  native  24-bit\ndata format of the DSP56001.\n\nDSP56KHOSTFLAGS\nread  and write the host flags.  The host flags are four general-purpose bits that can\nbe read by both the hosting computer and the DSP56001.  Bits 0 and 1 can be written by\nthe host, and bits 2 and 3 can be written by the DSP56001.\n\nTo access the host flags, the third ioctl(2) argument must be a pointer  to  a  struct\ndsp56khostflags.   If  bit 0 or 1 is set in the dir member, the corresponding bit in\nout will be written to the host flags.  The state of all host flags will  be  returned\nin the lower four bits of the status member.\n\nDSP56KHOSTCMD\nsends  a host command.  Allowed values are in the range 0 to 31, and is a user-defined\ncommand handled by the program running in the DSP56001.\n",
            "subsections": []
        },
        "FILES": {
            "content": "/dev/dsp56k\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "linux/include/asm-m68k/dsp56k.h,   linux/drivers/char/dsp56k.c,    http://dsp56k.nocrew.org/,\nDSP56000/DSP56001 Digital Signal Processor User's Manual\n\nLinux man-pages 6.7                          2023-10-31                                    dsp56k(4)",
            "subsections": []
        }
    },
    "summary": "dsp56k - DSP56001 interface device",
    "flags": [],
    "examples": [],
    "see_also": []
}