• src/conio/bitmap_con.c

    From Deuc¿@VERT 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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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).

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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?

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Deuc¿@VERT 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.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net