summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/pc98/pc98/syscons.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/sys/pc98/pc98/syscons.c b/sys/pc98/pc98/syscons.c
index 010aa742d36b..3291f3607dbb 100644
--- a/sys/pc98/pc98/syscons.c
+++ b/sys/pc98/pc98/syscons.c
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: syscons.c,v 1.76 1998/02/12 08:16:34 kato Exp $
+ * $Id: syscons.c,v 1.77 1998/02/13 09:31:34 kato Exp $
*/
#include "sc.h"
@@ -468,8 +468,8 @@ remove_cursor_image(scr_stat *scp)
{
#ifndef PC98
if (vesa_mode)
- sc_bcopy(scp->scr_buf, scp->cursor_pos - scp->scr_buf,
- scp->cursor_pos - scp->scr_buf, 0);
+ sc_bcopy(scp->scr_buf, scp->cursor_oldpos - scp->scr_buf,
+ scp->cursor_oldpos - scp->scr_buf, 0);
else
*(Crtat + (scp->cursor_oldpos - scp->scr_buf)) = scp->cursor_saveunder;
#endif
@@ -2505,7 +2505,6 @@ scrn_timer(void *arg)
/* should we stop the screen saver? */
if (panicstr)
scrn_time_stamp = mono_time.tv_sec;
-
scp = cur_console;
if (scrn_blanked <= 0)
scrn_update(scp, TRUE);
@@ -6014,21 +6013,22 @@ sc_bcopy(u_short *p, int from, int to, int mark)
if (!vesa_mode) {
generic_bcopy(p+from, Crtat+from, (to-from+1)*sizeof (u_short));
} else if (vesa_mode == 0x102) {
- u_char *d;
+ u_char *d, *e;
int i,j;
+ if (mark)
+ mark = 255;
+ d = (u_char *)Crtat;
+ d += 10 + 6*16*100 + (from%80) + 16*100*(from/80);
for (i = from ; i <= to ; i++) {
+ e = d;
for (j = 0 ; j < 16; j++) {
- d = (u_char *)Crtat;
- d += 10 + 6*16*100;
- d += (i%80);
- d += 16*100*(i/80);
- d += 100*j;
- if (mark)
- *d++ = 255^font_16[(p[i]&0xff)*16+j];
- else
- *d++ = font_16[(p[i]&0xff)*16+j];
+ *e = mark^font_16[(p[i]&0xff)*16+j];
+ e+=100;
}
+ d++;
+ if ((i % 80) == 79)
+ d += 20 + 15*100;
}
}
}