-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathHOST.INC
126 lines (125 loc) · 4.29 KB
/
HOST.INC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
* (c) COPYRIGHT 1985, 1994 - CATSPAW, INCORPORATED
* ALL RIGHTS RESERVED.
* USE OF THIS SOURCE CODE IS GOVERNED BY A BSD-STYLE
* LICENSE THAT CAN BE FOUND IN THE LICENSE FILE.
* HOST.INC - Definitions for SPITBOL HOST functions
*
:(HOSTGO)
* Function bodies are here to be collectable.
*
EXECUTE EXECUTE = HOST(1,S1,S2) :S(RETURN)F(FRETURN)
GETARG GETARG = HOST(2,I) :S(RETURN)F(FRETURN)
FIRSTARG FIRSTARG = HOST(3) :(RETURN)
PARM PARM = HOST(0) :(RETURN)
SHELLVAR SHELLVAR = HOST(4,S) :S(RETURN)F(FRETURN)
SYSTEM SYSTEM = HOST() :(RETURN)
*
CLEARSCN CLEARSCN = HOST(10) :(RETURN)
CURSOR CURSOR = HOST(5,I) :(RETURN)
DELETECHR DELETECHR = HOST(11) :(RETURN)
ERASEEOL ERASEEOL = HOST(12) :(RETURN)
GETCOLS GETCOLS = HOST(202) :(RETURN)
GETCURCOL GETCURCOL = HOST(212) :(RETURN)
GETCURROW GETCURROW = HOST(213) :(RETURN)
GETETYPE GETETYPE = HOST(203) :(RETURN)
GETFSIZE GETFSIZE = HOST(204) :(RETURN)
GETLINES GETLINES = HOST(205) :(RETURN)
GETMODE GETMODE = HOST(206) :(RETURN)
GETPAGE GETPAGE = HOST(207) :(RETURN)
GETTYPE GETTYPE = HOST(26) :(RETURN)
GOTO GOTO = HOST(6,I1,I2) :(RETURN)
INSERTCHR INSERTCHR = HOST(13) :(RETURN)
NORMATR NORMATR = HOST(24) :(RETURN)
PEEK PEEK = HOST(28) :S(RETURN)F(FRETURN)
PLAY PLAY = HOST(201,S) :(RETURN)
POKE POKE = HOST(29,I) :S(RETURN)F(RETURN)
READCHR READCHR = HOST(15) :(RETURN)
READFIELD READFIELD = HOST(9,I) :(RETURN)
READKEY READKEY = HOST(8) :(RETURN)
READSTR READSTR = HOST(14,I) :(RETURN)
READY READY = HOST(7) :S(RETURN)F(FRETURN)
REVATR REVATR = HOST(25) :(RETURN)
SCROLLDN SCROLLDN = HOST(16,I1,I2) :(RETURN)
SCROLLUP SCROLLUP = HOST(17,I1,I2) :(RETURN)
SETADR SETADR = HOST(27,I1,I2) :(RETURN)
SETCHRATR SETCHRATR = HOST(18,I,S) :(RETURN)
SETLINEATR SETLINEATR = HOST(19,I,S) :(RETURN)
SETOFFSET SETOFFSET = HOST(208,I) :(RETURN)
SETSIZE SETSIZE = HOST(209,I1,I2) :(RETURN)
SOUND SOUND = HOST(200,I1,I2) :(RETURN)
UPDATELINE UPDATELINE = HOST(20,I) :(RETURN)
UPDATESCN UPDATESCN = HOST(21) :(RETURN)
VIDEOINT VIDEOINT = HOST(210,I1,I2,I3,I4) :(RETURN)
WRITECHR WRITECHR = HOST(23,S) :(RETURN)
WRITESTR WRITESTR = HOST(22,S) :(RETURN)
*
* Universal HOSTs
*
HOSTGO DEFINE("EXECUTE(S1,S2)")
DEFINE("GETARG(I)")
DEFINE("FIRSTARG()")
DEFINE("PARM()")
DEFINE("SHELLVAR(S)")
DEFINE("SYSTEM()") :(HOSTCHKSCREEN)
*
* PC-SPITBOL, SPITBOL-386 and OS/2 specific functions
*
HOSTCHKSCREEN HOST() ? FENCE ("80386" | "8088" | "IBM PC") :F(HOSTNOSCRN)
DEFINE("CLEARSCN()")
DEFINE("CURSOR(I)")
DEFINE("DELETECHR()")
DEFINE("ERASEEOL()")
DEFINE("GETCOLS()")
DEFINE("GETETYPE()")
DEFINE("GETFSIZE()")
DEFINE("GETLINES()")
DEFINE("GETMODE()")
DEFINE("GETPAGE()")
DEFINE("GETTYPE()")
DEFINE("GOTO(I1,I2)")
DEFINE("INSERTCHR()")
DEFINE("NORMATR()")
DEFINE("PEEK()")
DEFINE("PLAY(S)")
DEFINE("POKE(I)")
DEFINE("READCHR()")
DEFINE("READFIELD(I)")
DEFINE("READKEY()")
DEFINE("READSTR(I)")
DEFINE("READY()")
DEFINE("REVATR()")
DEFINE("SCROLLDN(I1,I2)")
DEFINE("SCROLLUP(I1,I2)")
DEFINE("SETADR(I1,I2)")
DEFINE("SETCHRATR(I,S)")
DEFINE("SETLINEATR(I,S)")
DEFINE("SETOFFSET(I)")
DEFINE("SETSIZE(I1,I2)")
DEFINE("SOUND(I1,I2)")
DEFINE("UPDATELINE(I)")
DEFINE("UPDATESCN()")
DEFINE("VIDEOINT(I1,I2,I3,I4)")
DEFINE("WRITECHR(S)")
DEFINE("WRITESTR(S)") :(HOSTPCSPECIFIC)
*
* Redefine labels to delete all the screen function bodies above.
*
HOSTNOSCRN CODE("CLEARSCN;CURSOR;DELETECHR;ERASEEOL;GETCOLS;GETCURCOL;"
+ "GETCURROW;GETETYPE;GETFSIZE;GETLINES;GETMODE;GETPAGE;GETTYPE;"
+ "GOTO;INSERTCHR;NORMATR;PEEK;PLAY;POKE;READCHR;READFIELD;"
+ "READKEY;READSTR;READY;REVATR;SCROLLDN;SCROLLUP;SETADR;"
+ "SETCHRATR;SETLINEATR;SETOFFSET;SETSIZE;SOUND;UPDATELINE;"
+ "UPDATESCN;VIDEOINT;WRITECHR;WRITESTR;")
*
* Dewar's PC-SPITBOL (8086) specific functions. Redefine some for PC SPITBOL defs.
*
HOSTPCSPECIFIC HOST() ? FENCE "IBM PC" :F(HOSTDONE)
CODE("PARM PARM = HOST(1) :(RETURN)")
CODE("SHELLVAR SHELLVAR = HOST(2,S) :S(RETURN)F(FRETURN)")
CODE("SOUND SOUND = HOST(3,I1,I2) :(RETURN)")
CODE("PLAY PLAY = HOST(4,S) :(RETURN)")
*
HOSTDONE CODE("HOSTCHKSCREEN;HOSTDONE;HOSTNOSCRN;"
+ "HOSTPCSPECIFIC;HOSTGO;")
*
* End of HOST.INC