• src/conio/bitmap_con.c

    From deuce@1:103/705 to CVS commit on Tue Jan 30 11:06:57 2018
    src/conio bitmap_con.c 1.55 1.56
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv10081

    Modified Files:
    bitmap_con.c
    Log Message:
    Increase max palette size from UINT8_MAX to UINT32_MAX.

    Text colours still occupy the lowest 16 values. This increases the size
    of the screen array, but allows higher colour depth in the future.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Tue Jan 30 11:32:27 2018
    src/conio bitmap_con.c 1.56 1.57
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv13430

    Modified Files:
    bitmap_con.c
    Log Message:
    Fix warning.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Wed Jan 31 08:52:53 2018
    src/conio bitmap_con.c 1.57 1.58
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv4398

    Modified Files:
    bitmap_con.c
    Log Message:
    Add bounds checking in bitmap_draw_one_char()



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Wed Jan 31 09:28:04 2018
    src/conio bitmap_con.c 1.58 1.59
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv7780

    Modified Files:
    bitmap_con.c
    Log Message:
    Since it can potentially change all text on screen, have
    bitmap_setvideoflags() force a screen redraw. This fixes the status bar
    in SyncTERM after a CSI 32 h / CSI 32 l pair.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Thu Feb 1 14:41:07 2018
    src/conio bitmap_con.c 1.61 1.62
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv5244

    Modified Files:
    bitmap_con.c
    Log Message:
    Exciting new bitmap features

    1) Fix last commit. Crashes/Video corruption resolved.
    2) Add ccputs() and cputch() to ciolib. These take a colour value as their
    first argument, which is a palette entry. They otherwise work the same
    as their counterpart without the c prefix.
    3) Add a flags member to vstat which needs to be set before loading a mode.
    The only defined flag is currently VIDMODES_FLAG_PALETTE_VMEM.
    4) If VIDMODES_FLAG_PALETTE_VMEM is set, allocate 32-bit arrays for the
    foreground and background palette entries for each cell.
    5) Have bitmap_con.c use the palette vmem flag.
    6) Have movetext() copy the palette entries along with the regular vmem.

    In theory now, bitmap_con.c will handle giant colour palettes, and anything that uses movetext() (ie: scrolling) will maintain the colours.

    gettext() and puttext() unfortunately can not access the palette memory... we'll see if we need extended replacements for them or not.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Thu Feb 1 22:26:58 2018
    src/conio bitmap_con.c 1.65 1.66
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv12738

    Modified Files:
    bitmap_con.c
    Log Message:
    Don't draw pixel if it's off the screen.
    Also, don't set the pixel immediately... we don't have the bandwidth for
    that kind of crap.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Thu Feb 1 23:40:07 2018
    src/conio bitmap_con.c 1.67 1.68
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv20062

    Modified Files:
    bitmap_con.c
    Log Message:
    Initial work on making Sixel graphics scrollable...

    We still need a save/restore pixel data thing for whem menus and scrollback
    is used... but that's for another day.


    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Fri Feb 2 00:33:43 2018
    src/conio bitmap_con.c 1.68 1.69
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv25301

    Modified Files:
    bitmap_con.c
    Log Message:
    Fix deadlock... screenlock must be obtained outside of vmem_lock.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Fri Feb 2 02:03:24 2018
    src/conio bitmap_con.c 1.70 1.71
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv1812

    Modified Files:
    bitmap_con.c
    Log Message:
    Fix cursor erasing during scroll, and clean up code a bit.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Fri Feb 2 02:12:32 2018
    src/conio bitmap_con.c 1.71 1.72
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv2779

    Modified Files:
    bitmap_con.c
    Log Message:
    Don't redraw the cursor when hold_update is true.

    Fixes an issue where the blinking cursor would corrupt the Sixel data.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Fri Feb 2 17:17:52 2018
    src/conio bitmap_con.c 1.74 1.75
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv19102

    Modified Files:
    bitmap_con.c
    Log Message:
    Erase the cursor before obtaining the screen lock.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sat Feb 3 04:23:23 2018
    src/conio bitmap_con.c 1.75 1.76
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv26316

    Modified Files:
    bitmap_con.c
    Log Message:
    Don't update the character in set_vmem_cell() since some callers want to
    adjust the extended fg/bg after the call.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sat Feb 3 12:35:53 2018
    src/conio bitmap_con.c 1.77 1.78
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv27882

    Modified Files:
    bitmap_con.c
    Log Message:
    Fix vmem leak.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sun Feb 4 11:10:45 2018
    src/conio bitmap_con.c 1.80 1.81
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv14642

    Modified Files:
    bitmap_con.c
    Log Message:
    Grab the appropriate lock during request|check_redraw|pixels().

    Hopefully fixes missed updates.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sun Feb 4 11:18:18 2018
    src/conio bitmap_con.c 1.81 1.82
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv15491

    Modified Files:
    bitmap_con.c
    Log Message:
    We don't need a separate lock for request_pixels, just use the screen lock.

    Since we don't use a separate lock, add a request_pixels_locked() function.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sun Feb 4 11:18:56 2018
    src/conio bitmap_con.c 1.82 1.83
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv15590

    Modified Files:
    bitmap_con.c
    Log Message:
    Bug in last commit



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sun Feb 4 14:02:12 2018
    src/conio bitmap_con.c 1.83 1.84
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv31856

    Modified Files:
    bitmap_con.c
    Log Message:
    Have redraw use the vstatlock rather than a dedicated redraw lock
    If update_rect() fails, request a complete screen redraw
    Move pixel redraw requests out to avoid full screen refreshes when possible Comment update_rect() better
    Consider a character updated of blink or bold is set, and the meaning of blink or bold has changed
    Actually update a character if it's changed(!)



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sun Feb 4 14:57:02 2018
    src/conio bitmap_con.c 1.84 1.85
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv4976

    Modified Files:
    bitmap_con.c
    Log Message:
    More optimizations... only re-send the entire screen after movetext()



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sun Feb 4 18:34:41 2018
    src/conio bitmap_con.c 1.89 1.90
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv28454

    Modified Files:
    bitmap_con.c
    Log Message:
    Fix screen clearning.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sun Feb 4 22:36:41 2018
    src/conio bitmap_con.c 1.91 1.92
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv24560

    Modified Files:
    bitmap_con.c
    Log Message:
    Fix blinking and the cursor.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sun Feb 4 22:57:47 2018
    src/conio bitmap_con.c 1.92 1.93
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv27138

    Modified Files:
    bitmap_con.c
    Log Message:
    Initialize variables.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sun Feb 4 23:05:27 2018
    src/conio bitmap_con.c 1.93 1.94
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv28015

    Modified Files:
    bitmap_con.c
    Log Message:
    vmem_lock was only ever grabbed inside vstatlock. Remove it.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sun Feb 4 23:31:15 2018
    src/conio bitmap_con.c 1.94 1.95
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv30914

    Modified Files:
    bitmap_con.c
    Log Message:
    Hold vstatlock() during update_rect(). Not doing so can cause update_rect()
    to send stale blocks *after* the update is sent (likely from puttext()).

    Should fix missing stuff on the screen.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sun Feb 4 23:41:19 2018
    src/conio bitmap_con.c 1.95 1.96
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv32069

    Modified Files:
    bitmap_con.c
    Log Message:
    Remove cvstat. We can't just draw an old vmem to the screen willy-nilly.


    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Mon Feb 5 01:37:39 2018
    src/conio bitmap_con.c 1.96 1.97
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv13994

    Modified Files:
    bitmap_con.c
    Log Message:
    Fix up setpixels() some more.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Mon Feb 5 19:51:48 2018
    src/conio bitmap_con.c 1.101 1.102
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv17347

    Modified Files:
    bitmap_con.c
    Log Message:
    Overhaul bitmap_con, mostly reorganizing, but also serializing the blinker thread with the ciolib calls using the new blinker_lock.

    We may not need the screen lock anymore...



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Mon Feb 5 20:30:59 2018
    src/conio bitmap_con.c 1.102 1.103
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv21612

    Modified Files:
    bitmap_con.c
    Log Message:
    Undondictionally erase the old cursor when it's moved... optionally draw
    it at the new location (based on hold_update).



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Mon Feb 5 21:03:59 2018
    src/conio bitmap_con.c 1.103 1.104
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv24966

    Modified Files:
    bitmap_con.c
    Log Message:
    No longer cache previous drawn screen in update_rect(). Just handle changed "stuff", specifically:

    1) The cursor.
    2) Blinking text.
    3) Text which is different due to setflags (bright BG, no blink, alt charset)

    It can still be used to redraw the entire screen (such as after fonts are loaded), but generally isn't.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Mon Feb 5 23:55:42 2018
    src/conio bitmap_con.c 1.105 1.106
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv11050

    Modified Files:
    bitmap_con.c
    Log Message:
    Fix various issues with the blinker lock.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Tue Feb 6 18:54:39 2018
    src/conio bitmap_con.c 1.106 1.107
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv12341

    Modified Files:
    bitmap_con.c
    Log Message:
    On cursor updates, only update the screen if the screen was updated.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Tue Feb 6 21:22:33 2018
    src/conio bitmap_con.c 1.107 1.108
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv30794

    Modified Files:
    bitmap_con.c
    Log Message:
    Fix clreol() calculation... this is likely the cause of the SDL screen corruptions(!)

    Why didn't it happen with X11? Nobody knows...


    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Tue Feb 6 22:56:05 2018
    src/conio bitmap_con.c 1.108 1.109
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv7575

    Modified Files:
    bitmap_con.c
    Log Message:
    Fix eol() for the last time.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Thu Feb 8 14:59:20 2018
    src/conio bitmap_con.c 1.112 1.113
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv29514

    Modified Files:
    bitmap_con.c
    Log Message:
    Delete all this fancy stuff... this is bitmap_con, not complex_con.

    When the screen pixels are updated, set the update_pixels flag.

    In the blinker thread, if update_pixels is set, send the entire screen.

    Done.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Thu Feb 8 17:37:33 2018
    src/conio bitmap_con.c 1.113 1.114
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv14318

    Modified Files:
    bitmap_con.c
    Log Message:
    More cleanup and cruft scraping.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Thu Feb 8 17:45:01 2018
    src/conio bitmap_con.c 1.114 1.115
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv15124

    Modified Files:
    bitmap_con.c
    Log Message:
    Fix blinking again.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Fri Feb 9 20:52:17 2018
    src/conio bitmap_con.c 1.115 1.116
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv800

    Modified Files:
    bitmap_con.c
    Log Message:
    Fix movetext when target is above source (ie: scroll up)



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Fri Feb 9 22:18:23 2018
    src/conio bitmap_con.c 1.116 1.117
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv23485

    Modified Files:
    bitmap_con.c
    Log Message:
    More scroll up fixins.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Fri Feb 9 23:39:42 2018
    src/conio bitmap_con.c 1.117 1.118
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv968

    Modified Files:
    bitmap_con.c
    Log Message:
    Don't erase the cursor when moving and stuff... keep it on the screen when
    it's visible.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sun Feb 11 22:50:02 2018
    src/conio bitmap_con.c 1.120 1.121
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv22879

    Modified Files:
    bitmap_con.c
    Log Message:
    Ensure x/y are zero for full rects... this should never be false, but that
    may change in the future.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sun Feb 11 22:51:22 2018
    src/conio bitmap_con.c 1.121 1.122
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv23068

    Modified Files:
    bitmap_con.c
    Log Message:
    Fix last commit



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sun Feb 11 22:51:56 2018
    src/conio bitmap_con.c 1.122 1.123
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv23128

    Modified Files:
    bitmap_con.c
    Log Message:
    More last commit fixes (sigh).



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sun Feb 11 23:02:55 2018
    src/conio bitmap_con.c 1.123 1.124
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv24516

    Modified Files:
    bitmap_con.c
    Log Message:
    Only set update_pixels if pixels have changed.

    Should lower CPU usage a fair bit when no "real" screen updates are occuring.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Thu Feb 15 13:08:14 2018
    src/conio bitmap_con.c 1.131 1.132
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv1270

    Modified Files:
    bitmap_con.c
    Log Message:
    Fix blinking... appears to have been broken for a while now.



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Tue Feb 20 11:30:57 2018
    src/conio bitmap_con.c 1.132 1.133
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv23003

    Modified Files:
    bitmap_con.c
    Log Message:
    Fix impossible memory leak
    --coverity



    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Tue Feb 20 11:33:10 2018
    src/conio bitmap_con.c 1.133 1.134
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv23234

    Modified Files:
    bitmap_con.c
    Log Message:
    Add missing default case to return an error
    --coverity


    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Tue Feb 20 13:09:34 2018
    src/conio bitmap_con.c 1.134 1.135
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv2951

    Modified Files:
    bitmap_con.c
    Log Message:
    Some fairly serious locking issues...
    Thanks Coverity!


    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Thu Mar 8 22:57:05 2018
    src/conio bitmap_con.c 1.135 1.136
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv20536

    Modified Files:
    bitmap_con.c
    Log Message:
    Removed unused variable that got zeroed extra hard.
    Thanks scan-build!


    --- SBBSecho 3.03-Win32
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Tue Apr 17 23:33:39 2018
    src/conio bitmap_con.c 1.136 1.137
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv3578

    Modified Files:
    bitmap_con.c
    Log Message:
    Handle default fonts when setting vmem.



    --- SBBSecho 3.04-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Mon Jul 15 12:24:38 2019
    src/conio bitmap_con.c 1.137 1.138
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv5732

    Modified Files:
    bitmap_con.c
    Log Message:
    Grab the blinker lock to silence coverity... since it's just the cursor
    size that's being protected in this case, it doesn't *really* matter, but
    it's a technical flaw.



    --- SBBSecho 3.07-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Tue Sep 24 19:55:29 2019
    src/conio bitmap_con.c 1.139 1.140
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv7672

    Modified Files:
    bitmap_con.c
    Log Message:
    Handle loadfont() setting font to -1.



    --- SBBSecho 3.10-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Fri Mar 6 23:22:10 2020
    src/conio bitmap_con.c 1.140 1.141
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv3900

    Modified Files:
    bitmap_con.c
    Log Message:
    Ensure rect->next is always initialized.

    This didn't cause problems, but it was confusing.



    --- SBBSecho 3.10-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sat Apr 25 10:26:45 2020
    src/conio bitmap_con.c 1.143 1.144
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv5413

    Modified Files:
    bitmap_con.c
    Log Message:
    Make the debug mutext lock wrappers static so they can be copy/pasted
    into any other files.



    --- SBBSecho 3.10-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Tue Apr 28 10:23:37 2020
    src/conio bitmap_con.c 1.144 1.145
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv15142

    Modified Files:
    bitmap_con.c
    Log Message:
    Erase cursor for getpixels()



    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Tue Apr 28 11:46:32 2020
    src/conio bitmap_con.c 1.145 1.146
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv1374

    Modified Files:
    bitmap_con.c
    Log Message:
    Fix forward moves (ie: scroll down, insert line, etc)
    Have getpixel() regenerate the whole screen when called.



    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Wed Apr 29 04:24:49 2020
    src/conio bitmap_con.c 1.146 1.147
    Update of /cvsroot/sbbs/src/conio
    In directory cvs:/tmp/cvs-serv28405

    Modified Files:
    bitmap_con.c
    Log Message:
    Initialize screen font to default.



    --- SBBSecho 3.11-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Mar 14 01:52:59 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/bea51c08fb700a59529c29b4
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Fix SF bug #40Cursor update issue, cursor was only redrawn on a blink status change.This will redraw the cursor any time the cursor moves now.
    --- SBBSecho 3.13-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Thu May 20 19:21:16 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/a40cda0c4fe14420390fa1d9
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Fix bug in last commitPixes set via setpixels() were only set in the "blink off" screenand not in the "blink on" screen... so they all reverse blinked.
    --- SBBSecho 3.14-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sat May 22 17:02:44 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/6f77c3694a91babf22a6f247
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Default to blocky scalingFor programs that don't specify a scaling type (scfg, syncdraw)use blocky scaling.
    --- SBBSecho 3.14-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Apr 23 21:51:19 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/2e5da7dd5b999e297a91804e
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Eliminate extra copy of screen in bitmap console, push down vstatlock more.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Apr 24 16:23:21 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/db8aca661a09a19bd21675c8
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Push update_pixels down and force a redraw on font change.update_pixels should only be set when at least one pixel hasactually been changed... setting it when
    pixels have not beenchanged causes unneeded screen updates.Previously, a font change asserted (incorrectly) that the pixels inthe screen had been modified, so the change would occur at the endof the next blink cycle when alt fonts are checked. Now itrequests a full redraw from vmem when a font is changed, which willtrigger a redraw the next time the blinker thread triggers (~5ms).
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Apr 24 16:23:21 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/656cc27bdfb3667de9995a71
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Combine the screen locksWe only really ever treat it as a single lock, so we may as wellsimplify this.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Apr 24 16:23:21 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/cece8b67872af488e9c63d6b
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Push vstatlock into bithmap_draw_one_char()A bit more cleanup here would be good, but I think this is pusheddown enough finally.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Tue Apr 25 20:59:33 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/743b2ae00956dfaa52080a4b
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Move vstat copy inside vstatlock
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Apr 28 13:51:19 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/24cb0a05bcdf56d8925554e4
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Clean up blinker threadThere was a lot of weird things going on to avoid locking vstatlockinside of screenlock. Simply this by copying needed vstat stuffwhile we hold the lock.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Apr 28 21:10:46 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/026c7d89b401a4da7196d631
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Extend cstatlock to cover vmem
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed May 3 13:25:22 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/fe019abeb0c4104e1562d311
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Remove unused variables
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri May 5 21:03:13 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/c625f2e6f764e4e80d2eab87
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Fix buffer overflow in bitmap movetext()
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri May 5 21:16:28 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/18607b08946590f5a36a1959
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Fixx off-by-one in last commit.Stupid 1-based coordinates.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri May 5 22:44:48 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/bbd16c32cf6e33a1d1cdb7bf
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Fix more buffer overflows.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Jun 5 15:03:29 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/7cdf96b094437ed39f49008d
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Fix GDI brakage in frameskipping.Win32GDI currently requires two rects to be available.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on ChromeOS)@1:103/705 to Git commit to main/sbbs/master on Sun Jun 18 13:22:12 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/14da36cb0e3a333e162b9a26
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Fix GCC UBSan (SANITIZE=1 build) runtime errorleft shift of 255 by 24 places cannot be represented in type 'int'
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deuce@1:103/705 to Git commit to main/sbbs/master on Sat Jul 29 11:29:37 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/febaa22a9f29c18777b14b9a
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Fix non-integer scaling corruption when r2y is NULL
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Rob Swindell (on Windows 11)@1:103/705 to Git commit to main/sbbs/master on Sat Feb 10 16:45:22 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/0e9e499fa00a31db0271fa73
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Resolve some MSVC warnings
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sat Feb 24 07:07:39 2024
    https://gitlab.synchro.net/main/sbbs/-/commit/92216995054bc941ffc88a68
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Don't imply the callbacks need to be protected by the mutex.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Jan 1 22:24:14 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/8a0384ade1b540fe11df8fd9
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    "Fix" another longstanding Coverity false-positive.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sat Jan 4 21:51:35 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/b0eb08937ad2687dc152e155
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Handle case when font[0] == NULL

    Shouldn't happen, but if it does, return an error, don't dereference
    Found by scan-build.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Thu Jan 9 20:37:16 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/17cc41ec6e4fd2c335c6da2d
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Use malloc() instead of VLAs.

    They weren't standardized until 1999, why would Microsoft support
    them?
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Jan 10 09:30:17 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/8ba254dd6c62f6003f763222
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Fix missing NULL check/resource lead in bitmap_clrsrc()

    Thanks Coverity!
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Jan 10 13:52:02 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/095d36109fee0a7bd43d17f0
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Fix scrolling when there's no scrollbar.

    The code was moving unscrolled lines back after scrolling the
    majority of them... if all lines were scrolled, moving some back
    actually broke scrolling.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Jan 10 13:58:35 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/66864ebee51089dfa1aaabfa
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Save moving the "new" row

    Previously, we actually moved one more line back than we had to.
    This only moves lines back that need to remain where they were.

    This shaves another couple seconds off the benchmark.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Jan 10 15:33:43 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/2be3fef5381893354e7f504e
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Don't calculate the same value twice.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Jan 10 15:33:43 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/3b44cb42e5ccd92e7de5d8e2
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Fix missing unlock
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Jan 10 22:10:43 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/c6a2f44fed9b025986eda3c0
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Another large speedup... only update bitmap when drawing a frame

    Previously, every change would be flushed through to the bitmap, now
    it only flushes before a frame is sent to the driver, or when specific
    things (like setting pixels) occur.

    This about doubles the throughput again, running the test at 11
    seconds (started at 179). At a 16× speedup now from when I started.

    This can now display at about 10Mbps, which is still kinda slow,
    but at least it's not completely terrible anymore.

    This could likely be improved by better timing of the frame
    generation... it tries to hot 100Hz right now, which is a bit
    excessive.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Jan 10 22:23:10 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/cea66c14d3030e3104a3f520
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Another big speedup...

    Since we update the bitmap before drawing a frame now, we can just
    mark the cells incorrectly moved by advancing the bitmap ringbuffer
    as dirty and known they'll be redrawn.

    This gets rid of the memmove on full-width scrolling, and gets us
    into the 6s range.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Jan 10 23:34:03 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/aa2b12b0737973d1c8b7bec0
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Discard the drawn cache when we load a new video mode.

    Fixes issue where the screen would be weird during the connecting
    phase.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sat Jan 11 01:36:47 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/878342e3923db77ece4fc324
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Add missing unlock, and silence Coverity warning.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sat Jan 11 18:15:38 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/1f9fb21938ecb81ffd6bfc1c
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Fix incorrect offset advancement function
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sat Jan 11 18:15:38 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/b2a774340c6ebe65fdfc8990
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    We don't need to multiply the row by cols anymore.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sat Jan 11 21:55:16 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/5bf0eba2342a1a8070f2fa09
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Fix updating of bitmap_drawn() when drawing

    Fixes high CPU when nothing is happening.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Jan 12 07:02:11 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/3583d299301da4cea3908cb4
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Remove unused set of coff.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Jan 12 08:46:24 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/7a2c74cfd262d3a4dfa900e4
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Use rwlock_t, not pthread_rwlock_t

    Derp.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Jan 12 09:38:44 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/c25141c910a97a69f3a9c29c
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Move video flags out from under vstatlock.

    This is a heavily accessed value that is rarely changed and was
    causing a lot of contention on vstatlock.

    Down to 2.9 seconds.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Jan 12 09:51:45 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/2fec78bd89a7de604c610918
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Put assert()s around all the locking in bitmap_con.c
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Jan 12 14:30:19 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/6717b6ffbb7d21663906fd39
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    No need to do the same thing twice.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Jan 12 15:16:44 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/c24667c8049d3f63ba96c796
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Fix error displaying Minesweeper field

    We need to set the "has pixels set" flag in both vmem and in the
    bitmap_drawn array to prevent the update from erasing the pixels.

    This is likely what the duplicated line was originally, then it got
    broken when I switched to the vmem_cell_*() functions.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Jan 12 20:33:30 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/2172dcc3f7bcf807dd5251fa
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Remove some debugging code.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Jan 12 22:26:10 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/7975a018ccb8a3c14236b537
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    We only need to use get_vmem() if we're copying vstat.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Jan 12 22:26:10 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/70e6024843bda32f7e0e98e1
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    No need to pass the vstat_vmem around either.

    Also, we can now use a read lock.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Jan 13 15:39:12 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/288a7709121956137b34d838
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Assert/debug wrappers for trylock() are silly.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sat Jan 18 15:13:59 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/6403bb15cbf4dcba8341df05
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Fix major performance regression in RIP rendering

    A high number of RIP commands use setpixel(), and it was updated
    to scan the whole vmem for changes on each call. Now we just extract
    the part that is relevant and only update the one cell if needed.

    This also adds parameter validation to bitmap_setpixel() which can
    prevent some memory corruption and crashes.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sat Jan 18 16:13:52 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/6f2621a6247f1c14659d38e7
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Fix scolling in modes that have extra rows

    EGA 80x43 has an extra six pixels at the bottom that are not part
    of the text area. When scrolling the botmap buffer, be sure to not
    update this area.

    Also, fix some screen invalidation bits when setting pixels.

    This should fix ticket 180.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sat Jan 18 20:27:57 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/9986c9a0b71ca6e02d2db551
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Properly handle 91-column EGA mode.

    There's six pixels at the bottom that aren't part of text, and three
    pixels on the right.

    Don't touch the vmem when those pixels are updated... vmem can't
    update them.

    Should fix assertion in Abdul's Armor in RIP mode reported by DigitalMan
    on IRC.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sat Jan 18 22:08:44 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/93c48471e8a245754c98f028
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Avoid unlocking screenlock to draw vmem.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Jan 19 11:45:46 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/4a92a5e2f40a9b9bffd65fe4
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Remove obsolete comment
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Jan 19 13:56:32 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/17f6a6661510e9ec825c12d2
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Fix Prestel regression on double-height text.

    Visible in the double height graphics and engineering test pages.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Jan 19 14:10:44 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/3061afa4b181b9723b1945ab
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Fix Prestel double-height bottom clearing issue

    Any change to any double-height bit anywhere on the screen can
    potentially change the display of every character after it on the
    screen. If the bit changes, force a full redraw from vmem
    (Luckily there's no graphics in Prestel mode).

    Fixes ticket 181
    Ugh.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Jan 19 15:46:10 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/889a05dc7381d9212cac3233
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    When reallocating screen rects, reset the toprow.

    Fixes error where toprow may end up past the bottom of the screen
    when the screen size decreases.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Jan 19 15:49:59 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/5f61b5d6c8c12d8f3d1e4867
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Reset screena *and* screenb, not jsut screena and screena
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Sun Jan 19 20:30:57 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/c142191d9d563d0371071946
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Initialize off, then add an assert to suppress warning.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Tue Jan 21 20:55:04 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/0524805a17a52ec481ea3e4a
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Fix up cursor and blinking rates, step 1...

    For "PC" modes, cursor blinked at 1/16th of the VSYNC rate, so use
    the CGA timings, where were generally the slowest of the bunch...
    This means cursor blink at 3.745Hz, and character blink at 1.8725Hz.

    For Prestel, character blink was 0.75Hz with a 3:1 On:Off ratio.
    The cursor on the other hand was 1/32th the VSYNC and was generally
    PAL, so 1.5625Hz.

    I still need to dig into C64 and Atari modes, because they're likely
    way off now (assuming either supports blinking).
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Tue Jan 21 21:16:20 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/7ae2f1b10c1b3b6cbe6be690
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Add C64/C128 blinking... 1.5Hz
    Blinking text is opposite of the cursor
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Tue Jan 21 21:17:24 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/7079932ae67d523f69669bd2
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Fix previous commit.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Tue Jan 21 21:29:46 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/4837ce25ad3fe1d3df191296
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Atari doesn't blink?
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Tue Jan 21 21:57:17 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/f8f00d183462aabc91a8d083
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Synchronize cursor and text blinking for PC modes.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Jan 22 10:34:07 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/4be5cf7903e0c82736d01f95
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Move assignments for things only needed in the loop inside the loop
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Jan 22 14:58:20 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/64f325189d963a8f72c132e4
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Adjust Prestel cursor flash.

    It appears that it flashes at 1.5Hz with the off period synchronized
    to the blinking text off period.

    Still no idea what generates it though.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Jan 22 16:22:44 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/33a7a24b4a9de16a671e7171
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Synchronize blink rate to real Model B

    Keyop provided a video of flashing stuff for me. This now
    synchronizes with that video. Can't get any better than that.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Thu Jan 23 12:26:13 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/28ac10161def0dcdbbf5f9ec
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Split the happy path font rendering into separate function

    And merge the single/double height ones into the same function.
    Normalize all the types while I'm here.

    With this, the happy path draw_char_row_fast() is very simple and
    easy to keep updated, and all of the complexity goes into
    draw_char_row_slow().

    There seems to be around a 20% performance difference between them,
    but it can be hard to tell for sure because of the time spent
    cheating.

    Note that it doesn't appear to be worth cheating if we're going fast,
    but that's getting a bit too deep for my tastes.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Thu Jan 23 13:10:37 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/744cf3ec4c3b757714225ae4
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    It appears MSVC doesn't support the 25-year-old standard restrict qualifier
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Thu Jan 23 16:42:30 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/9c9ee83e0474eb3659ea9dda
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Fix double-height separated mosaic drawing

    Regression introduced in 47b6f7a72f42bbbe264ecf57a09b4bcd7de4139c
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Fri Jan 24 10:39:27 2025
    https://gitlab.synchro.net/main/sbbs/-/commit/a172bd4dbb7b95a480056173
    Modified Files:
    src/conio/bitmap_con.c
    Log Message:
    Add silly check to make coverity happy.

    This is in the fastpath, but it's on the slow side where I don't
    mind the occasional extra silly check.
    --- SBBSecho 3.23-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)