Annotation of researchv10no/cmd/view2d/3610op.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * Metheus library macros
        !             3:  */
        !             4: #define        NMBUF   65536
        !             5: char mbuf[NMBUF], *mbufp;
        !             6: int mfd;
        !             7: char *omdev="/dev/null";
        !             8: char *getenv();
        !             9: #define        msnare() \
        !            10:        if((mfd=open(getenv("FB")?getenv("FB"):omdev, 2))<0) \
        !            11:                perror(getenv("FB")?getenv("FB"):omdev), exit(1); \
        !            12:        else write(mfd, mbuf, NMBUF), mbufp=mbuf
        !            13: #define        mlong(a)        (mword((a)>>16), mword(a))
        !            14: #define        mword(a)        (mbyte((a)>>8), mbyte(a))
        !            15: #define        mbyte(a)        (mbufp==&mbuf[NMBUF]?(mflush(),*mbufp++=a):(*mbufp++=a))
        !            16: /* versions of the above allowing moving checks out of the loop */
        !            17: #define        mcheck(n)       (mbufp>=&mbuf[NMBUF-n]?mflush():0)
        !            18: #define        mulong(a)       (muword((a)>>16), muword(a))
        !            19: #define        muword(a)       (mubyte((a)>>8), mubyte(a))
        !            20: #define        mubyte(a)       (*mbufp++=a)
        !            21: #define        mcmd(a)         ((mbufp-mbuf)&1?(mbyte(0),mword(a)):mword(a))
        !            22: #define        mflush()        (((mbufp-mbuf)&1?(*mbufp++=0):0),write(mfd, mbuf, (mbufp-mbuf)*sizeof mbuf[0]),mbufp=mbuf)
        !            23: /*
        !            24:  * Metheus Omega 3610 (and other 3000 series) opcode manifests
        !            25:  */
        !            26:                        /* arguments w: word, b: byte, l:long*/
        !            27: #define        AFILL1  0x0068  /* */
        !            28: #define        AFILL2  0x0069  /* w:edge value */
        !            29: #define        AFILL3  0x0074  /*  */
        !            30: #define        ARC     0x0062  /* w:length */
        !            31: #define        BLANK   0x004b  /* b:mode */
        !            32: #define        CARC    0x2000  /* w:cx, w:cy, w:sx, w:sy, w:angle */
        !            33: #define        CHARS   0x006b  /* b*:character, b:esc */
        !            34: #define        CIRCLE  0x2001  /* w:cx, w:cy, w:radius */
        !            35: #define        CLEAR   0x0060  /*  */
        !            36: #define        CMACT   0x3000  /*  */
        !            37: #define        CMAP    0x0051  /* b:index, b:red, b:grn, b:blu */
        !            38: #define        CMAPOL  0x301a  /* 8b:2 nibble-sized entries */
        !            39: #define        CMBLNK  0x3019  /* w:count, ... */
        !            40: #define        CMCOPY  0x3016  /* b:source, b:dest, w:srcindex, w:dstindex, w:count */
        !            41: #define        CMFILL  0x3017  /* w:index, w:count, b:red, b:grn, b:blu */
        !            42: #define        CMLDM   0x3013  /* w:index, w:count, b:red, b:grn, b:blu, ... */
        !            43: #define        CMLOAD  0x3012  /* w:index, b:red, b:grn, b:blu */
        !            44: #define        CMRAMP  0x3018  /* w:index, w:count, b:r0, b:g0, b:b0, b:r1, b:g1, b:b1 */
        !            45: #define        CMSEL   0x3015  /* b:buff */
        !            46: #define        CMWREN  0x3011  /* b:mask */
        !            47: #define        COMPDR  0x0072  /*  */
        !            48: #define        CSPACE  0x0048  /* b:dx, b:dy */
        !            49: #define        CURS    0x0071  /*  */
        !            50: #define        DFAULT  0x003f  /* b:reset */
        !            51: #define        DRAW    0x0061  /*  */
        !            52: #define        DRAWAL  0x3052  /*  */
        !            53: #define        DRAWTA  0x0078  /* w:x, w:y */
        !            54: #define        DRAWTL  0x0077  /* w:x, w:y */
        !            55: #define        DRAWTS  0x0076  /* b:x, b:y */
        !            56: #define        DRAWV   0x3050  /*  */
        !            57: #define        DRRCUR  0x200c  /* b:index */
        !            58: #define        FFILL   0x0065  /*  */
        !            59: #define        FNTINX  0x3040  /* b:type */
        !            60: #define        INI     0x005e  /*  */
        !            61: #define        INQ     0x0041  /* w:parameter */
        !            62: #define        LDFNTX  0x3041  /* b:type, b:ESC, w:0, w:0, b:height, b:width, ... */
        !            63: #define        LDPATX  0x3042  /* w:pattern, ... */
        !            64: #define        LDRCUR  0x3045  /* b:index, ... */
        !            65: #define        MINVEC  0x3051  /* w:length */
        !            66: #define        MODEB   0x007e  /*  */
        !            67: #define        MODEW   0x007f  /*  */
        !            68: #define        MOVP1   0x0052  /* w:x, w:y */
        !            69: #define        MOVP2   0x0053  /* w:x, w:y */
        !            70: #define        NOP     0x0000  /*  */
        !            71: #define        PATRNX  0x3043  /* w:pattern */
        !            72: #define        PIXBLT  0x0070  /* w:width, w:height, b:pattern */
        !            73: #define        POLYC   0x0044  /*  */
        !            74: #define        POLYD   0x2200          /* + count */   /* w:x, w:y, ... */
        !            75: #define        POLYF   0x0067  /*  */
        !            76: #define        POLYLN  0x2100          /* + count */   /* w:x, w:y, ... */
        !            77: #define        POLYM   0x0045  /* w:x, w:y */
        !            78: #define        POLYO   0x0066  /*  */
        !            79: #define        POLYS   0x0056  /*  */
        !            80: #define        POLYV   0x0057  /* w:x, w:y */
        !            81: #define        PPAN    0x005b  /*  */
        !            82: #define        RASTOP  0x0043  /* b:function, b:alu */
        !            83: #define        RDCONF  0x005d  /*  */
        !            84: #define        RDMSK   0x004c  /* b:mask */
        !            85: #define        RDMSKL  0x3025  /* l:mask */
        !            86: #define        RDMSKS  0x3024  /* w:mask */
        !            87: #define        RDR     0x006e  /*  */
        !            88: #define        RDRS    0x3035  /*  */
        !            89: #define        RECT1   0x0063  /*  */
        !            90: #define        RECT2   0x0064  /*  */
        !            91: #define        RESTOR  0x0037  /*  */
        !            92: #define        RLFILL  0x006a  /* w:runlength */
        !            93: #define        RMOVP1  0x0054  /* w:x, w:y */
        !            94: #define        RMOVP2  0x0055  /* w:x, w:y */
        !            95: #define        RMVP1S  0x0033  /* b:x, b:y */
        !            96: #define        RMVP2S  0x0034  /* b:x, b:y */
        !            97: #define        RPIXEL  0x006c  /*  */
        !            98: #define        SAVE    0x0036  /*  */
        !            99: #define        SELRES  0x301c  /* b:resolution */
        !           100: #define        SETAL   0x3053  /* w:level */
        !           101: #define        SETCLL  0x3061  /* l:color */
        !           102: #define        SETCLS  0x3060  /* w:color */
        !           103: #define        SETCOL  0x004e  /* b:color */
        !           104: #define        SETCSZ  0x0058  /* b:width, b:height */
        !           105: #define        SETORN  0x0059  /* b:direction */
        !           106: #define        SETROC  0x0042  /* b:cmd, b:data, ..., b:end */
        !           107: #define        SIGRD   0x005c  /*  */
        !           108: #define        SWSCEN  0x301b  /* w:mode */
        !           109: #define        SYNCH   0x005f  /* b:wait count */
        !           110: #define        SZCURS  0x0047  /* w:width, w:height */
        !           111: #define        WPIXEL  0x006d  /*  */
        !           112: #define        WRBANK  0x003d  /* b:bank */
        !           113: #define        WRMASK  0x004f  /* b:mask */
        !           114: #define        WRMSKL  0x3023  /* l:mask */
        !           115: #define        WRMSKS  0x3022  /* w:mask */
        !           116: #define        WRR     0x006f  /* b:data, ... */
        !           117: #define        WRRS    0x3032  /* w:data, ... */
        !           118: #define        XDRAW   0x0073  /*  */
        !           119: #define        ZOOM    0x005a  /* b:scale */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.