Use SYSTEM.ADDRESS in libraries. Build all with -O2. Support INC(a,b) for any int a,b that support a:=a+b.

This commit is contained in:
David Brown 2016-09-23 13:04:24 +01:00
parent f1cbbdba28
commit 22a4f8e263
92 changed files with 2752 additions and 2695 deletions

View file

@ -1,8 +1,8 @@
/* voc 1.95 [2016/09/23] for gcc LP64 on cygwin xtspaSfF */
#define INTEGER int32
#define LONGINT int64
#define SET uint64
#define INTEGER int16
#define LONGINT int32
#define SET uint32
#include "SYSTEM.h"
#include "Console.h"
@ -13,36 +13,36 @@ export CHAR vt100_CSI[5];
static CHAR vt100_tmpstr[32];
export void vt100_CHA (int32 n);
export void vt100_CNL (int32 n);
export void vt100_CPL (int32 n);
export void vt100_CUB (int32 n);
export void vt100_CUD (int32 n);
export void vt100_CUF (int32 n);
export void vt100_CUP (int32 n, int32 m);
export void vt100_CUU (int32 n);
export void vt100_CHA (int16 n);
export void vt100_CNL (int16 n);
export void vt100_CPL (int16 n);
export void vt100_CUB (int16 n);
export void vt100_CUD (int16 n);
export void vt100_CUF (int16 n);
export void vt100_CUP (int16 n, int16 m);
export void vt100_CUU (int16 n);
export void vt100_DECTCEMh (void);
export void vt100_DECTCEMl (void);
export void vt100_DSR (int32 n);
export void vt100_ED (int32 n);
export void vt100_EL (int32 n);
static void vt100_EscSeq (int32 n, CHAR *letter, LONGINT letter__len);
export void vt100_DSR (int16 n);
export void vt100_ED (int16 n);
export void vt100_EL (int16 n);
static void vt100_EscSeq (int16 n, CHAR *letter, LONGINT letter__len);
static void vt100_EscSeq0 (CHAR *letter, LONGINT letter__len);
static void vt100_EscSeq2 (int32 n, int32 m, CHAR *letter, LONGINT letter__len);
static void vt100_EscSeqSwapped (int32 n, CHAR *letter, LONGINT letter__len);
export void vt100_HVP (int32 n, int32 m);
export void vt100_IntToStr (int64 int_, CHAR *str, LONGINT str__len);
static void vt100_EscSeq2 (int16 n, int16 m, CHAR *letter, LONGINT letter__len);
static void vt100_EscSeqSwapped (int16 n, CHAR *letter, LONGINT letter__len);
export void vt100_HVP (int16 n, int16 m);
export void vt100_IntToStr (int32 int_, CHAR *str, LONGINT str__len);
export void vt100_RCP (void);
static void vt100_Reverse0 (CHAR *str, LONGINT str__len, int32 start, int32 end);
static void vt100_Reverse0 (CHAR *str, LONGINT str__len, int16 start, int16 end);
export void vt100_SCP (void);
export void vt100_SD (int32 n);
export void vt100_SGR (int32 n);
export void vt100_SGR2 (int32 n, int32 m);
export void vt100_SU (int32 n);
export void vt100_SD (int16 n);
export void vt100_SGR (int16 n);
export void vt100_SGR2 (int16 n, int16 m);
export void vt100_SU (int16 n);
export void vt100_SetAttr (CHAR *attr, LONGINT attr__len);
static void vt100_Reverse0 (CHAR *str, LONGINT str__len, int32 start, int32 end)
static void vt100_Reverse0 (CHAR *str, LONGINT str__len, int16 start, int16 end)
{
CHAR h;
while (start < end) {
@ -54,15 +54,15 @@ static void vt100_Reverse0 (CHAR *str, LONGINT str__len, int32 start, int32 end)
}
}
void vt100_IntToStr (int64 int_, CHAR *str, LONGINT str__len)
void vt100_IntToStr (int32 int_, CHAR *str, LONGINT str__len)
{
CHAR b[21];
int32 s, e;
int16 s, e;
int8 maxLength;
maxLength = 20;
if (int_ == (-9223372036854775807-1)) {
__MOVE("-9223372036854775808", b, 21);
e = 20;
maxLength = 11;
if (int_ == (-2147483647-1)) {
__MOVE("-2147483648", b, 12);
e = 11;
} else {
if (int_ < 0) {
b[0] = '-';
@ -73,7 +73,7 @@ void vt100_IntToStr (int64 int_, CHAR *str, LONGINT str__len)
}
e = s;
do {
b[__X(e, 21)] = (CHAR)(__MOD(int_, 10) + 48);
b[__X(e, 21)] = (CHAR)((int)__MOD(int_, 10) + 48);
int_ = __DIV(int_, 10);
e += 1;
} while (!(int_ == 0));
@ -93,7 +93,7 @@ static void vt100_EscSeq0 (CHAR *letter, LONGINT letter__len)
__DEL(letter);
}
static void vt100_EscSeq (int32 n, CHAR *letter, LONGINT letter__len)
static void vt100_EscSeq (int16 n, CHAR *letter, LONGINT letter__len)
{
CHAR nstr[2];
CHAR cmd[7];
@ -106,7 +106,7 @@ static void vt100_EscSeq (int32 n, CHAR *letter, LONGINT letter__len)
__DEL(letter);
}
static void vt100_EscSeqSwapped (int32 n, CHAR *letter, LONGINT letter__len)
static void vt100_EscSeqSwapped (int16 n, CHAR *letter, LONGINT letter__len)
{
CHAR nstr[2];
CHAR cmd[7];
@ -119,7 +119,7 @@ static void vt100_EscSeqSwapped (int32 n, CHAR *letter, LONGINT letter__len)
__DEL(letter);
}
static void vt100_EscSeq2 (int32 n, int32 m, CHAR *letter, LONGINT letter__len)
static void vt100_EscSeq2 (int16 n, int16 m, CHAR *letter, LONGINT letter__len)
{
CHAR nstr[5], mstr[5];
CHAR cmd[12];
@ -135,82 +135,82 @@ static void vt100_EscSeq2 (int32 n, int32 m, CHAR *letter, LONGINT letter__len)
__DEL(letter);
}
void vt100_CUU (int32 n)
void vt100_CUU (int16 n)
{
vt100_EscSeq(n, (CHAR*)"A", 2);
}
void vt100_CUD (int32 n)
void vt100_CUD (int16 n)
{
vt100_EscSeq(n, (CHAR*)"B", 2);
}
void vt100_CUF (int32 n)
void vt100_CUF (int16 n)
{
vt100_EscSeq(n, (CHAR*)"C", 2);
}
void vt100_CUB (int32 n)
void vt100_CUB (int16 n)
{
vt100_EscSeq(n, (CHAR*)"D", 2);
}
void vt100_CNL (int32 n)
void vt100_CNL (int16 n)
{
vt100_EscSeq(n, (CHAR*)"E", 2);
}
void vt100_CPL (int32 n)
void vt100_CPL (int16 n)
{
vt100_EscSeq(n, (CHAR*)"F", 2);
}
void vt100_CHA (int32 n)
void vt100_CHA (int16 n)
{
vt100_EscSeq(n, (CHAR*)"G", 2);
}
void vt100_CUP (int32 n, int32 m)
void vt100_CUP (int16 n, int16 m)
{
vt100_EscSeq2(n, m, (CHAR*)"H", 2);
}
void vt100_ED (int32 n)
void vt100_ED (int16 n)
{
vt100_EscSeq(n, (CHAR*)"J", 2);
}
void vt100_EL (int32 n)
void vt100_EL (int16 n)
{
vt100_EscSeq(n, (CHAR*)"K", 2);
}
void vt100_SU (int32 n)
void vt100_SU (int16 n)
{
vt100_EscSeq(n, (CHAR*)"S", 2);
}
void vt100_SD (int32 n)
void vt100_SD (int16 n)
{
vt100_EscSeq(n, (CHAR*)"T", 2);
}
void vt100_HVP (int32 n, int32 m)
void vt100_HVP (int16 n, int16 m)
{
vt100_EscSeq2(n, m, (CHAR*)"f", 2);
}
void vt100_SGR (int32 n)
void vt100_SGR (int16 n)
{
vt100_EscSeq(n, (CHAR*)"m", 2);
}
void vt100_SGR2 (int32 n, int32 m)
void vt100_SGR2 (int16 n, int16 m)
{
vt100_EscSeq2(n, m, (CHAR*)"m", 2);
}
void vt100_DSR (int32 n)
void vt100_DSR (int16 n)
{
vt100_EscSeq(6, (CHAR*)"n", 2);
}