source: buchla-68k/vlib/vtext.c@ e877e55

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

Zero redundant declarations.

  • Property mode set to 100644
File size: 660 bytes
RevLine 
[f40a309]1/*
2 =============================================================================
3 vtext.c -- output a text string to the VSDD in 1 byte / character mode
4 Version 3 -- 1987-06-02 -- D.N. Lynx Crowe
5
6 Assumes VSDD is pointing at bank 0.
7 =============================================================================
8*/
9
[b28a12e]10#include "ram.h"
[6262b5c]11
[7258c6a]12static int16_t msk[] = { 0xFF00, 0x00FF };
[f40a309]13
[7258c6a]14void vtext(uint16_t *obj, uint16_t nc, uint16_t row, uint16_t col, int8_t *ip)
[f40a309]15{
[7258c6a]16 register uint16_t *op;
[f40a309]17
18 while (*ip) {
19
20 op = obj + ((nc >> 1) * row) + (col >> 1);
21
[7258c6a]22 *op = (*op & (uint16_t)msk[col & 1]) |
[f40a309]23 ((*ip++ & 0x00FF) << ((col & 1) ? 8 : 0));
24
25 col++;
26 }
27}
Note: See TracBrowser for help on using the repository browser.