source: buchla-68k/vlib/vputsv.c@ 8c8b4e5

Last change on this file since 8c8b4e5 was 8c8b4e5, checked in by Thomas Lopatic <thomas@…>, 7 years ago

More volatile hardware accesses.

  • Property mode set to 100644
File size: 1.7 KB
Line 
1/*
2 =============================================================================
3 vputsv.c -- video display string put functions
4 Version 1 -- 1988-10-06 -- D.N. Lynx Crowe
5 (c) Copyright 1988 -- D.N. Lynx Crowe
6
7 These functions drive the video character write function vputc()
8 which puts characters into a 82716 video RAM character object.
9
10 Full attribute format is assumed.
11 =============================================================================
12*/
13
14#include "ram.h"
15
16/*
17 =============================================================================
18 vputsv(obase, row, col, str, attr, len)
19
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.
22 =============================================================================
23*/
24
25void vputsv(volatile uint16_t *obase, int16_t row, int16_t col, int8_t *str, uint16_t attr, int16_t len)
26{
27 int16_t c;
28
29 while ((c = *str++)) {
30
31 vputcv(obase, row, col, c, attr, len);
32
33 if (++col GE 64) {
34
35 col = 0;
36
37 if (++row GE 25)
38 row = 0;
39 }
40 }
41}
42
43/*
44 =============================================================================
45 vputsav(obase, row, col, str, attr, len)
46
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.
49 Line length is len.
50 =============================================================================
51*/
52
53void vputsav(volatile uint16_t *obase, int16_t row, int16_t col, int8_t *str, uint16_t *attr, int16_t len)
54{
55 int16_t c;
56
57 while ((c = *str++)) {
58
59 vputcv(obase, row, col, c, *attr++, len);
60
61 if (++col GE 64) {
62
63 col = 0;
64
65 if (++row GE 25)
66 row = 0;
67 }
68 }
69}
70
Note: See TracBrowser for help on using the repository browser.