Changeset 09d1345 in buchla-68k for vlib


Ignore:
Timestamp:
07/15/2017 10:03:02 AM (7 years ago)
Author:
Thomas Lopatic <thomas@…>
Branches:
master
Children:
bf89cfb
Parents:
6a37d5b
Message:

Prefer signed integers in vlib.

Location:
vlib
Files:
15 edited

Legend:

Unmodified
Added
Removed
  • vlib/vbfill4.c

    r6a37d5b r09d1345  
    1010#include "ram.h"
    1111
    12 static int16_t  fm[] = {        /* fill masks */
     12static uint16_t fm[] = {        /* fill masks */
    1313
    1414        0x000F,
     
    6060                                        wp = fwp;
    6161                                        fwp += obwidth;
    62                                         *wp++ = (*wp & ~lmask) | (color & lmask);
    63 
    64                                         for (j = 0; j < mw; j++)
    65                                                 *wp++ = color;
    66 
    67                                         *wp = (*wp & ~rmask) | (color & rmask);
    68                                 }
    69 
    70                         } else {
    71 
    72                                 rmask = fm[width & 3];
    73 
    74                                 for (i = 0; i < nl; i++) {
    75 
    76                                         wp = fwp;
    77                                         fwp += obwidth;
    78                                         *wp++ = (*wp & ~lmask) | (color & lmask);
     62                                        *wp = (*wp & ~lmask) | (color & lmask);
     63                                        wp++;
     64
     65                                        for (j = 0; j < mw; j++)
     66                                                *wp++ = color;
     67
     68                                        *wp = (*wp & ~rmask) | (color & rmask);
     69                                }
     70
     71                        } else {
     72
     73                                rmask = fm[width & 3];
     74
     75                                for (i = 0; i < nl; i++) {
     76
     77                                        wp = fwp;
     78                                        fwp += obwidth;
     79                                        *wp = (*wp & ~lmask) | (color & lmask);
     80                                        wp++;
    7981                                        *wp = (*wp & ~rmask) | (color & rmask);
    8082                                }
     
    112114                                        wp = fwp;
    113115                                        fwp += obwidth;
    114                                         *wp++ = (*wp & ~lmask) | (color & lmask);
    115 
    116                                         for (j = 0; j < mw; j++)
    117                                                 *wp++ = color;
    118 
    119                                         *wp = (*wp & ~rmask) | (color & rmask);
    120                                 }
    121 
    122                         } else {
    123 
    124                                 rmask = fm[width & 3];
    125 
    126                                 for (i = 0; i < nl; i++) {
    127 
    128                                         wp = fwp;
    129                                         fwp += obwidth;
    130                                         *wp++ = (*wp & ~lmask) | (color & lmask);
     116                                        *wp = (*wp & ~lmask) | (color & lmask);
     117                                        wp++;
     118
     119                                        for (j = 0; j < mw; j++)
     120                                                *wp++ = color;
     121
     122                                        *wp = (*wp & ~rmask) | (color & rmask);
     123                                }
     124
     125                        } else {
     126
     127                                rmask = fm[width & 3];
     128
     129                                for (i = 0; i < nl; i++) {
     130
     131                                        wp = fwp;
     132                                        fwp += obwidth;
     133                                        *wp = (*wp & ~lmask) | (color & lmask);
     134                                        wp++;
    131135                                        *wp = (*wp & ~rmask) | (color & rmask);
    132136                                }
     
    164168                                        wp = fwp;
    165169                                        fwp += obwidth;
    166                                         *wp++ = (*wp & ~lmask) | (color & lmask);
    167 
    168                                         for (j = 0; j < mw; j++)
    169                                                 *wp++ = color;
    170 
    171                                         *wp = (*wp & ~rmask) | (color & rmask);
    172                                 }
    173 
    174                         } else {
    175 
    176                                 rmask = fm[width & 3];
    177 
    178                                 for (i = 0; i < nl; i++) {
    179 
    180                                         wp = fwp;
    181                                         fwp += obwidth;
    182                                         *wp++ = (*wp & ~lmask) | (color & lmask);
     170                                        *wp = (*wp & ~lmask) | (color & lmask);
     171                                        wp++;
     172
     173                                        for (j = 0; j < mw; j++)
     174                                                *wp++ = color;
     175
     176                                        *wp = (*wp & ~rmask) | (color & rmask);
     177                                }
     178
     179                        } else {
     180
     181                                rmask = fm[width & 3];
     182
     183                                for (i = 0; i < nl; i++) {
     184
     185                                        wp = fwp;
     186                                        fwp += obwidth;
     187                                        *wp = (*wp & ~lmask) | (color & lmask);
     188                                        wp++;
    183189                                        *wp = (*wp & ~rmask) | (color & rmask);
    184190                                }
     
    216222                                        wp = fwp;
    217223                                        fwp += obwidth;
    218                                         *wp++ = (*wp & ~lmask) | (color & lmask);
     224                                        *wp = (*wp & ~lmask) | (color & lmask);
     225                                        wp++;
    219226
    220227                                        for (j = 0; j < mw; j++)
     
    232239                                        wp = fwp;
    233240                                        fwp += obwidth;
    234                                         *wp++ = (*wp & ~lmask) | (color & lmask);
     241                                        *wp = (*wp & ~lmask) | (color & lmask);
     242                                        wp++;
    235243                                        *wp = (*wp & ~rmask) | (color & rmask);
    236244                                }
  • vlib/vclrs.c

    r6a37d5b r09d1345  
    66
    77        vclrs(obase, row, col, nc, ch, atr)
    8         unsigned int obase[];
    9         int row, col, nc, ch, atr;
    108
    119                Clear 'nc' characters in the text object 'obase' to 'ch',
     
    2422*/
    2523
    26 void vclrs(uint16_t obase[], int16_t row, int16_t col, int16_t nc, int16_t ch, int16_t atr)
     24void vclrs(uint16_t *obase, int16_t row, int16_t col, int16_t nc, int16_t ch, uint16_t attr)
    2725{
    2826        while (nc--)
    29                 vputc(obase, row, col++, ch, atr);
     27                vputc(obase, row, col++, ch, attr);
    3028}
  • vlib/vclrs.x

    r6a37d5b r09d1345  
    1515*/
    1616
    17 extern  void            vclrs(uint16_t obase[], int16_t row, int16_t col, int16_t nc, int16_t ch, int16_t atr);
     17extern  void            vclrs(uint16_t *obase, int16_t row, int16_t col, int16_t nc, int16_t ch, uint16_t attr);
  • vlib/vmput.c

    r6a37d5b r09d1345  
    44        Version 3 -- 1987-03-30 -- D.N. Lynx Crowe
    55        (c) Copyright 1987 -- D.N. Lynx Crowe
    6 
    7         vmput(sbase, row, col, ms, ma)
    8         uint *sbase, rwo, col, ma;
    9         char *ms[];
    10 
    11                 Copies lines from ms, with attribute ma, to sbase at (row,col).
    12 
    13         vmputa(sbase, row, col, ms, ma)
    14         uint *sbase, row, col, *ma;
    15         char *ms[];
    16 
    17                 Copies lines from ms, with attributes from ma, to sbase at (row,col).
    186   =============================================================================
    197*/
     
    2311/*
    2412   =============================================================================
    25         vmput(sbase, row, col, ms, ma) -- put a menu item in a screen image.
    26         Copies lines from ms, with attribute ma, to sbase at (row,col).
     13        vmput(obase, row, col, ms, ma) -- put a menu item in a screen image.
     14        Copies lines from ms, with attribute ma, to obase at (row,col).
    2715   =============================================================================
    2816*/
    2917
    30 void vmput(uint16_t *sbase, uint16_t row, uint16_t col, int8_t *ms[], uint16_t ma)
     18void vmput(uint16_t *obase, int16_t row, int16_t col, int8_t *ms[], uint16_t ma)
    3119{
    32         register uint16_t c, tc, tr;
     20        register int16_t c, tc, tr;
    3321        int8_t *cp;
    3422
     
    4028
    4129                while (c = *cp++)
    42                         vputc(sbase, tr, tc++, c, ma);
     30                        vputc(obase, tr, tc++, c, ma);
    4331
    4432                tr++;
     
    4836/*
    4937   =============================================================================
    50         vmputa(sbase, row, col, ms, ma) -- put a menu item in a screen image.
    51         Copies lines from ms, with attributes from ma, to sbase at (row,col).
     38        vmputa(obase, row, col, ms, ma) -- put a menu item in a screen image.
     39        Copies lines from ms, with attributes from ma, to obase at (row,col).
    5240   =============================================================================
    5341*/
    5442
    55 void vmputa(uint16_t *sbase, uint16_t row, uint16_t col, int8_t *ms[], uint16_t *ma[])
     43void vmputa(uint16_t *obase, int16_t row, int16_t col, int8_t *ms[], uint16_t *ma[])
    5644{
    57         register uint16_t c, tc, tr;
     45        register int16_t c, tc, tr;
    5846        uint16_t *tm;
    5947        int8_t *cp;
     
    6755
    6856                while (c = *cp++)
    69                         vputc(sbase, tr, tc++, c, *tm++);
     57                        vputc(obase, tr, tc++, c, *tm++);
    7058
    7159                tr++;
  • vlib/vmput.x

    r6a37d5b r09d1345  
    1515*/
    1616
    17 extern  void            vmput(uint16_t *sbase, uint16_t row, uint16_t col, int8_t *ms[], uint16_t ma);
    18 extern  void            vmputa(uint16_t *sbase, uint16_t row, uint16_t col, int8_t *ms[], uint16_t *ma[]);
     17extern  void            vmput(uint16_t *obase, int16_t row, int16_t col, int8_t *ms[], uint16_t ma);
     18extern  void            vmputa(uint16_t *obase, int16_t row, int16_t col, int8_t *ms[], uint16_t *ma[]);
  • vlib/vobjfns.c

    r6a37d5b r09d1345  
    6969        op = &v_obtab[obj];
    7070
    71         newbank = ((op->obank & 0x0001) << 8) | ((op->obank & 0x0002) << 6);
     71        newbank = ((op->obank & 0x0001u) << 8) | ((op->obank & 0x0002u) << 6);
    7272
    7373        v_nobj = obj;
     
    109109        setipl(7);                              /* disable interrupts */
    110110
    111         vi_ctl |= (1 << pri);                   /* set unblank bit */
     111        vi_ctl |= (1u << pri);                  /* set unblank bit */
    112112
    113113        if (*((int32_t *)0x000064) NE &VIint)   /* make sure VI vector is set */
     
    124124*/
    125125
    126 void SetObj(int16_t obj, int16_t type, int16_t bank, uint16_t *base, int16_t xpix, int16_t ypix, int16_t x0, int16_t y0, int16_t flags, int16_t pri)
     126void SetObj(int16_t obj, int16_t type, int16_t bank, uint16_t *base, int16_t xpix, int16_t ypix, int16_t x0, int16_t y0, uint16_t flags, int16_t pri)
    127127{
    128128        register struct octent *op;
     
    148148        if (type) {     /* character objects */
    149149
    150                 op->odtw0 = (flags & 0xF9FF) | V_CTYPE;
     150                op->odtw0 = (flags & 0xF9FFu) | V_CTYPE;
    151151
    152152                switch (V_RES3 & op->odtw0) {
     
    179179        } else {        /* bitmap objects */
    180180
    181                 op->odtw0 = (flags & 0x0E37) | (V_BTYPE | ((bank & 3) << 6));
     181                op->odtw0 = (flags & 0x0E37u) | (V_BTYPE | (((uint16_t)bank & 3u) << 6));
    182182
    183183                switch (V_RES3 & op->odtw0) {
     
    201201        }
    202202
    203         op->odtw1 = ((x0 >> 1) & 0x03FF) | (0xFC00 & (wsize << 10));
     203        op->odtw1 = (((uint16_t)x0 >> 1) & 0x03FFu) | (0xFC00u & ((uint16_t)wsize << 10));
    204204
    205205        if (pri < 0)
     
    219219*/
    220220
    221 void CpyObj(uint16_t *from, uint16_t *to, uint16_t w, uint16_t h, uint16_t sw)
     221void CpyObj(uint16_t *from, uint16_t *to, int16_t w, int16_t h, int16_t sw)
    222222{
    223223        register uint16_t *tp;
    224         register uint16_t i, j;
     224        register int16_t i, j;
    225225
    226226        for (i = h; i--; ) {
  • vlib/vobjfns.x

    r6a37d5b r09d1345  
    2525*/
    2626
    27 extern  void            CpyObj(uint16_t *from, uint16_t *to, uint16_t w, uint16_t h, uint16_t sw);
     27extern  void            CpyObj(uint16_t *from, uint16_t *to, int16_t w, int16_t h, int16_t sw);
    2828extern  void            SelObj(int16_t obj);
    29 extern  void            SetObj(int16_t obj, int16_t type, int16_t bank, uint16_t *base, int16_t xpix, int16_t ypix, int16_t x0, int16_t y0, int16_t flags, int16_t pri);
     29extern  void            SetObj(int16_t obj, int16_t type, int16_t bank, uint16_t *base, int16_t xpix, int16_t ypix, int16_t x0, int16_t y0, uint16_t flags, int16_t pri);
    3030extern  void            SetPri(int16_t obj, int16_t pri);
  • vlib/vputs.c

    r6a37d5b r09d1345  
    1616/*
    1717   =============================================================================
    18         vputs(sbase, row, col, str, attrib)
     18        vputs(obase, row, col, str, attrib)
    1919
    20         Write string str to video RAM object pointed to by sbase
    21         at (row,col) with attrib used for all characters.
     20        Write string str to video RAM object pointed to by obase
     21        at (row,col) with attr used for all characters.
    2222   =============================================================================
    2323*/
    2424
    25 void vputs(uint16_t *sbase, uint16_t row, uint16_t col, int8_t *str, uint16_t attrib)
     25void vputs(uint16_t *obase, int16_t row, int16_t col, int8_t *str, uint16_t attr)
    2626{
    27         uint16_t        c;
     27        int16_t c;
    2828
    2929        while (c = *str++) {
    3030
    31                 vputc(sbase, row, col, c, attrib);
     31                vputc(obase, row, col, c, attr);
    3232
    3333                if (++col GE 64) {
     
    4343/*
    4444   =============================================================================
    45         vputsa(sbase, row, col, str, attrib)
     45        vputsa(obase, row, col, str, attrib)
    4646
    47         Write string str in video RAM pointed to by sbase starting
    48         at (row, col) using attributes from the words pointed to by attrib.
     47        Write string str in video RAM pointed to by obase starting
     48        at (row, col) using attributes from the words pointed to by attr.
    4949   =============================================================================
    5050*/
    5151
    52 void vputsa(uint16_t *sbase, uint16_t row, uint16_t col, int8_t *str, uint16_t *attrib)
     52void vputsa(uint16_t *obase, int16_t row, int16_t col, int8_t *str, uint16_t *attr)
    5353{
    54         uint16_t        c;
     54        int16_t c;
    5555
    5656        while (c = *str++) {
    5757
    58                 vputc(sbase, row, col, c, *attrib++);
     58                vputc(obase, row, col, c, *attr++);
    5959
    6060                if (++col GE 64) {
  • vlib/vputs.x

    r6a37d5b r09d1345  
    1515*/
    1616
    17 extern  void            vputs(uint16_t *sbase, uint16_t row, uint16_t col, int8_t *str, uint16_t attrib);
    18 extern  void            vputsa(uint16_t *sbase, uint16_t row, uint16_t col, int8_t *str, uint16_t *attrib);
     17extern  void            vputs(uint16_t *obase, int16_t row, int16_t col, int8_t *str, uint16_t attr);
     18extern  void            vputsa(uint16_t *obase, int16_t row, int16_t col, int8_t *str, uint16_t *attr);
  • vlib/vputsv.c

    r6a37d5b r09d1345  
    1616/*
    1717   =============================================================================
    18         vputsv(sbase, row, col, str, attrib, len)
     18        vputsv(obase, row, col, str, attr, len)
    1919
    20         Write string str to video RAM object pointed to by sbase
    21         at (row,col) with attrib used for all characters. Line length is len.
     20        Write string str to video RAM object pointed to by obase
     21        at (row,col) with attr used for all characters. Line length is len.
    2222   =============================================================================
    2323*/
    2424
    25 void vputsv(uint16_t *sbase, uint16_t row, uint16_t col, int8_t *str, uint16_t attrib, uint16_t len)
     25void vputsv(uint16_t *obase, int16_t row, int16_t col, int8_t *str, uint16_t attr, int16_t len)
    2626{
    27         uint16_t        c;
     27        int16_t c;
    2828
    2929        while (c = *str++) {
    3030
    31                 vputcv(sbase, row, col, c, attrib, len);
     31                vputcv(obase, row, col, c, attr, len);
    3232
    3333                if (++col GE 64) {
     
    4343/*
    4444   =============================================================================
    45         vputsav(sbase, row, col, str, attrib, len)
     45        vputsav(obase, row, col, str, attr, len)
    4646
    47         Write string str in video RAM pointed to by sbase starting
    48         at (row, col) using attributes from the words pointed to by attrib.
     47        Write string str in video RAM pointed to by obase starting
     48        at (row, col) using attributes from the words pointed to by attr.
    4949        Line length is len.
    5050   =============================================================================
    5151*/
    5252
    53 void vputsav(uint16_t *sbase, uint16_t row, uint16_t col, int8_t *str, uint16_t *attrib, uint16_t len)
     53void vputsav(uint16_t *obase, int16_t row, int16_t col, int8_t *str, uint16_t *attr, int16_t len)
    5454{
    55         uint16_t        c;
     55        int16_t c;
    5656
    5757        while (c = *str++) {
    5858
    59                 vputcv(sbase, row, col, c, *attrib++, len);
     59                vputcv(obase, row, col, c, *attr++, len);
    6060
    6161                if (++col GE 64) {
  • vlib/vputsv.x

    r6a37d5b r09d1345  
    1515*/
    1616
    17 extern  void            vputsav(uint16_t *sbase, uint16_t row, uint16_t col, int8_t *str, uint16_t *attrib, uint16_t len);
    18 extern  void            vputsv(uint16_t *sbase, uint16_t row, uint16_t col, int8_t *str, uint16_t attrib, uint16_t len);
     17extern  void            vputsav(uint16_t *obase, int16_t row, int16_t col, int8_t *str, uint16_t *attr, int16_t len);
     18extern  void            vputsv(uint16_t *obase, int16_t row, int16_t col, int8_t *str, uint16_t attr, int16_t len);
  • vlib/vsetpal.c

    r6a37d5b r09d1345  
    4343*/
    4444
    45 void vsetpal(uint16_t slot, uint16_t red, uint16_t grn, uint16_t blu)
     45void vsetpal(int16_t slot, int16_t red, int16_t grn, int16_t blu)
    4646{
    47         register uint16_t palval;
     47        register int16_t palval;
    4848        uint16_t *pal;
    4949
     
    5555                 ((blu & 1) << 3) | ((blu & 2) >> 1);
    5656
    57         *pal = palval ^ 0x003F;
     57        *pal = (uint16_t)palval ^ 0x003F;
    5858}
    5959
  • vlib/vsetpal.x

    r6a37d5b r09d1345  
    2323*/
    2424
    25 extern  void            vsetpal(uint16_t slot, uint16_t red, uint16_t grn, uint16_t blu);
     25extern  void            vsetpal(int16_t slot, int16_t red, int16_t grn, int16_t blu);
    2626extern  void            vsndpal(int16_t pp[16][3]);
  • vlib/vtext.c

    r6a37d5b r09d1345  
    1010#include "ram.h"
    1111
    12 static int16_t  msk[] = { 0xFF00, 0x00FF };
     12static uint16_t msk[] = { 0xFF00, 0x00FF };
    1313
    14 void vtext(uint16_t *obj, uint16_t nc, uint16_t row, uint16_t col, int8_t *ip)
     14void vtext(uint16_t *obj, int16_t nc, int16_t row, int16_t col, int8_t *ip)
    1515{
    1616        register uint16_t *op;
     
    2020                op = obj + ((nc >> 1) * row) + (col >> 1);
    2121
    22                 *op = (*op & (uint16_t)msk[col & 1]) |
    23                       ((*ip++ & 0x00FF) << ((col & 1) ? 8 : 0));
     22                *op = (*op & msk[col & 1]) |
     23                      ((uint16_t)(*ip++ & 0x00FF) << ((col & 1) ? 8 : 0));
    2424
    2525                col++;
  • vlib/vtext.x

    r6a37d5b r09d1345  
    1515*/
    1616
    17 extern  void            vtext(uint16_t *obj, uint16_t nc, uint16_t row, uint16_t col, int8_t *ip);
     17extern  void            vtext(uint16_t *obj, int16_t nc, int16_t row, int16_t col, int8_t *ip);
Note: See TracChangeset for help on using the changeset viewer.