Added the upstream changes to the ESC/P printer to add (more) ESC/P2 commands and color.

Applied upstream patch for Sigma400 cursor issue.
This commit is contained in:
waltje
2018-11-05 00:59:47 -05:00
parent 49ab5d7c59
commit 1a18020562
3 changed files with 328 additions and 234 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -41,7 +41,7 @@
* even-numbered columns, so the top bit of the control register * even-numbered columns, so the top bit of the control register
* at 0x2D9 is used to adjust the position. * at 0x2D9 is used to adjust the position.
* *
* Version: @(#)vid_sigma.c 1.0.1 2018/10/24 * Version: @(#)vid_sigma.c 1.0.2 2018/11/03
* *
* Authors: Fred N. van Kempen, <decwiz@yahoo.com> * Authors: Fred N. van Kempen, <decwiz@yahoo.com>
* Miran Grca, <mgrca8@gmail.com> * Miran Grca, <mgrca8@gmail.com>
@@ -462,7 +462,7 @@ sigma_text80(sigma_t *dev)
ca = ca << 1; ca = ca << 1;
if (dev->sigma_ctl & CTL_CURSOR) if (dev->sigma_ctl & CTL_CURSOR)
++ca; ca++;
ca &= 0x3fff; ca &= 0x3fff;
/* The Sigma 400 seems to use screen widths stated in words /* The Sigma 400 seems to use screen widths stated in words
@@ -482,7 +482,7 @@ sigma_text80(sigma_t *dev)
cols[0] = (attr >> 4) | 16; cols[0] = (attr >> 4) | 16;
} }
if (drawcursor && !(x & 1)) { if (drawcursor) {
for (c = 0; c < 8; c++) { for (c = 0; c < 8; c++) {
if (dev->sigmamode & MODE_FONT16) if (dev->sigmamode & MODE_FONT16)
buffer->line[dev->displine][(x << 3) + c + 8] = cols[(fontdatm[chr][dev->sc & 15] & (1 << (c ^ 7))) ? 1 : 0] ^ 0x0f; buffer->line[dev->displine][(x << 3) + c + 8] = cols[(fontdatm[chr][dev->sc & 15] & (1 << (c ^ 7))) ? 1 : 0] ^ 0x0f;

View File

@@ -40,7 +40,7 @@
* W = 3 bus clocks * W = 3 bus clocks
* L = 4 bus clocks * L = 4 bus clocks
* *
* Version: @(#)video.c 1.0.22 2018/10/28 * Version: @(#)video.c 1.0.23 2018/11/03
* *
* Authors: Fred N. van Kempen, <decwiz@yahoo.com> * Authors: Fred N. van Kempen, <decwiz@yahoo.com>
* Miran Grca, <mgrca8@gmail.com> * Miran Grca, <mgrca8@gmail.com>
@@ -864,10 +864,10 @@ video_inform(int type, const video_timings_t *ptr)
video_update_timing(); video_update_timing();
if (type != VID_TYPE_DFLT) if (type != VID_TYPE_DFLT)
INFO("VIDEO: card type %i, timings {%i: %i,%i,%i %i,%i,%i}\n", DEBUG("VIDEO: card type %i, timings {%i: %i,%i,%i %i,%i,%i}\n",
video_card_type, video_timing->type, video_card_type, video_timing->type,
video_timing->write_b, video_timing->write_w, video_timing->write_l, video_timing->write_b,video_timing->write_w,video_timing->write_l,
video_timing->read_b, video_timing->read_w, video_timing->read_l); video_timing->read_b,video_timing->read_w,video_timing->read_l);
} }