home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / mint / utilit~1 / lack.zoo / gemlib / gemlib.diff < prev    next >
Encoding:
Text File  |  1994-01-02  |  7.3 KB  |  261 lines

  1. Only in gemlib.dist: Changelog
  2. diff -w gemlib.dist/Makefile gemlib.mine/Makefile
  3. 9,11c9,13
  4. < AR    = $(CROSSBIN)/car
  5. < CC    = cgcc -m68881 -m68020
  6. < CPP    = /lib/cpp
  7. ---
  8. > CC=/usr/bin/gcc
  9.  
  10. > CPP    = /lib/gcc-cpp
  11.  
  12. > MAKE= /usr/bin/make
  13.  
  14. > AR=/usr/bin/gcc-ar
  15.  
  16. > LIB=/lib
  17.  
  18. 13,14d14
  19. < LIB     = $(CROSSLIB)
  20. < MAKE    = /util/gnu/bin/make
  21. Only in gemlib.mine: README.lack
  22. Only in gemlib.mine: aes.c
  23. diff -w gemlib.dist/aesappl.c gemlib.mine/aesappl.c
  24. 10a11,15
  25. >  *    appl_yield    aes>=2, yield to other gem apps
  26.  
  27. >  *    not yet implemented:
  28.  
  29. >  *    appl_bvset    a function in aes >= 2, I don't know what it does
  30.  
  31. >  *    appl_search   aes>=4, multitos, or both???  find info on other running
  32.  
  33. >  *                  applications
  34.  
  35. 25a31
  36. > #define L_appl_yie
  37.  
  38. 45,49c51,55
  39. <     bzero(_contrl,    CNTRLMAX*sizeof(short));
  40. <     bzero(_intin,    INTINMAX*sizeof(short));
  41. <     bzero(_intout,    INTOUTMAX*sizeof(short));
  42. <     bzero(_ptsin,     2*PTSINMAX*sizeof(short));
  43. <     bzero(_ptsout,     2*PTSOUTMAX*sizeof(short));
  44. ---
  45. >     bzero(_control,    5*sizeof(short));
  46.  
  47. >     bzero(_int_in,    16*sizeof(short));
  48.  
  49. >     bzero(_int_out,    7*sizeof(short));
  50.  
  51. >     bzero(_addrin,     2*sizeof(void *));
  52.  
  53. >     bzero(_addrout,     1*sizeof(void *));
  54.  
  55. 54,55d59
  56. <     gl_ap_version = _global[0];
  57. <     gl_apid = _global[2];
  58. 122a127,174
  59. > #ifdef L_appl_bvs
  60.  
  61.  
  62. > /* Another aes 2.0 function.  I only have tos 1.4, so I really can't say what
  63.  
  64. >  * this one does.  coded control appears in turbo-assembler's aes_vdi.s.
  65.  
  66. >  * appl_bvset(arg1, arg2)
  67.  
  68. >  * {
  69.  
  70. >  *     return __aes__(AES_CONTROL_ENCODE(16, 2, 1, 0));
  71.  
  72. >  * }
  73.  
  74. >  */
  75.  
  76. > #endif /* L_appl_bvs */
  77.  
  78.  
  79. > #ifdef L_appl_yie
  80.  
  81.  
  82. > /* I guess this yields to other applications.  Only present in aes >= 2;
  83.  
  84. >  * however, making an invalid aes call should accomplish exactly the same
  85.  
  86. >  * thing.
  87.  
  88. >  */
  89.  
  90. > int appl_yield(void)
  91.  
  92. > {
  93.  
  94. >     return __aes__(AES_CONTROL_ENCODE(17, 0, 1, 0));
  95.  
  96. > }
  97.  
  98. > #endif /* L_appl_yie */
  99.  
  100.  
  101. > #ifdef L_appl_sea
  102.  
  103.  
  104. > /* This appears in either tos 4.0 or multitos, it apperantly "allows any
  105.  
  106. >  * application to find the apids of all other applications running 
  107.  
  108. >  * concurrently."  See xacc2.txt.
  109.  
  110. >  * flag can be either 0 or 1.  type appears to be a series of flags that say 
  111.  
  112. >  * something about this application.  id and name appear self explanatory.
  113.  
  114. >  */
  115.  
  116. > /*
  117.  
  118. > int appl_search(int flag, char *name, int *type, int *id)
  119.  
  120. > {
  121.  
  122. >     int retval;
  123.  
  124.  
  125. >     _int_in[0]=flag;
  126.  
  127. >     _addrin[0]=name;
  128.  
  129.  
  130. >     retval = __aes__(AES_CONTROL_ENCODE(18, 1, 3, 1));
  131.  
  132.  
  133. >     *type=_int_out[1];
  134.  
  135. >     *id=_int_out[2];
  136.  
  137. >     return retval;
  138.  
  139. > }
  140.  
  141. >  */
  142.  
  143. > #endif /* L_appl_sea */
  144.  
  145.  
  146. diff -w gemlib.dist/aesbind.h gemlib.mine/aesbind.h
  147. 4d3
  148. < #include <gemfast.h>
  149. 150c149
  150. < __EXTERN int    shel_envrn __PROTO((char *result, char *param));
  151. ---
  152. > __EXTERN int    shel_envrn __PROTO((char **result, char *param));
  153.  
  154. diff -w gemlib.dist/aeshell.c gemlib.mine/aeshell.c
  155. 76c76
  156. < int shel_envrn(char *result, char *param)
  157. ---
  158. > int shel_envrn(char **result, char *param)
  159.  
  160. Only in gemlib.mine: aesparams.c
  161. Only in gemlib.dist: common.c
  162. diff -w gemlib.dist/common.h gemlib.mine/common.h
  163. 27c27
  164. <    respectively are 5, 16 and 7 shorts and 2 and 1 longs for
  165. ---
  166. >    respectively are 5, 16 and 7 shorts and 3 and 1 longs for
  167.  
  168. 32,37c32,52
  169. < #define _control    (&_contrl[0])
  170. < #define _int_in        (&_intin[0])
  171. < #define _int_out    (&_intout[0])
  172. < #define _addrin        ((void **)(&_ptsin[0]))
  173. < #define _addrout    ((void **)(&_ptsout[0]))
  174. ---
  175. > typedef struct aesparams
  176.  
  177. > {
  178.  
  179. >     int *control;
  180.  
  181. >     int *global;
  182.  
  183. >     int *int_in;
  184.  
  185. >     int *int_out;
  186.  
  187. >     void **addr_in;
  188.  
  189. >     void **addr_out;
  190.  
  191. > }AESP;
  192.  
  193.  
  194. > #define _global        (_aesparams->global)
  195.  
  196. > #define _control    (_aesparams->control)
  197.  
  198. > #define _int_in        (_aesparams->int_in)
  199.  
  200. > #define _int_out    (_aesparams->int_out)
  201.  
  202. > #define _addrin        (_aesparams->addr_in)
  203.  
  204. > #define _addrout    (_aesparams->addr_out)
  205.  
  206.  
  207. > extern AESP    * const _aesparams;
  208.  
  209. > /* it won't be changed while seeting up for a trap 2, and will be the same after
  210.  
  211. >  * asm() returns.
  212.  
  213. >  */
  214.  
  215. 80c95,96
  216. < #ifndef __IN_COMMON_C__
  217. ---
  218. > #ifndef __IN_COMMON_C
  219.  
  220. > #ifndef __IN_VDI_C
  221.  
  222. 83,84c99
  223. < extern unsigned short    _contrl[CNTRLMAX], _global[GLOBMAX];
  224. < extern int        gl_apid, gl_ap_version;
  225. ---
  226. > extern unsigned short    _contrl[CNTRLMAX];
  227.  
  228. 86c101
  229. < #endif
  230. ---
  231. > #endif /* __IN_VDI_C */
  232.  
  233. 89c104,126
  234. < int __aes__(unsigned long coded_control);
  235. ---
  236. > # ifndef __NO_GCC_INLINE__
  237.  
  238. > #  define __aes__(coded_control) \
  239.  
  240. > ({\
  241.  
  242. >     __asm__ volatile\
  243.  
  244. >     ("  movel    %1,  d1;\
  245.  
  246. >         lea    %0@, a0;\
  247.  
  248. >     moveq    #0,  d0; \
  249.  
  250. >     movepl    d0,  a0@(0);\
  251.  
  252. >         movepl    d1,  a0@(1);\
  253.  
  254. >         movl    %0,    d1;\
  255.  
  256. >         movw    #0xc8, d0;\
  257.  
  258. >         trap    #2;\
  259.  
  260. >     movl    %0,__aesparams"\
  261.  
  262. >      :                /* no outputs */\
  263.  
  264. >      : "a"(_aesparams), "g"(coded_control)    /* inputs     */\
  265.  
  266. >      : "d0", "d1", "a0"    /* clobbered regs */\
  267.  
  268. >      );\
  269.  
  270. >     (int)_aesparams->int_out[0];\
  271.  
  272. > })
  273.  
  274. > # else
  275.  
  276. > extern int (*__aes__)(unsigned long coded_control);
  277.  
  278. > # endif /* __NO_GCC_INLINE__ */
  279.  
  280. > #endif /* __IN_COMMON_C__ */
  281.  
  282. diff -w gemlib.dist/gemfast.h gemlib.mine/gemfast.h
  283. 580,584c580,608
  284. < extern short         _intin[], _intout[], _ptsin[], _ptsout[];
  285. < #ifndef __GNUC__ /* for gcc see common.h in gemlib */
  286. < extern void          *_addrin[], *_addrout[];
  287. < #endif
  288. < extern int        gl_apid, gl_ap_version;
  289. ---
  290. > #ifndef _COMMON_H
  291.  
  292. > typedef struct aesparams
  293.  
  294. > {
  295.  
  296. >     int *control;
  297.  
  298. >     int *global;
  299.  
  300. >     int *int_in;
  301.  
  302. >     int *int_out;
  303.  
  304. >     void **addr_in;
  305.  
  306. >     void **addr_out;
  307.  
  308. > }AESP;
  309.  
  310.  
  311. > #define _int_in        (_aesparams->int_in)
  312.  
  313. > #define _int_out    (_aesparams->int_out)
  314.  
  315. > #define _addrin        (_aesparams->addr_in)
  316.  
  317. > #define _addrout    (_aesparams->addr_out)
  318.  
  319. > #define gl_apid     (_aesparams->global[2])
  320.  
  321. > #define gl_ap_version (_aesparmas->global[0])
  322.  
  323.  
  324. > extern AESP *_aesparams;
  325.  
  326. > extern int(*__aes__)(unsigned long);
  327.  
  328. > extern int _user_aes(unsigned long);
  329.  
  330. > extern int _super_aes(unsigned long);
  331.  
  332. > #endif /*_COMMON_H*/
  333.  
  334.  
  335. > #define NEW_AESP(x) \
  336.  
  337. >     int __loc_control[5], __loc_global[15], __loc_int_in[16], __loc_int_out[7]; \
  338.  
  339. >     void *__loc_addr_in[3], *__loc_addr_out; \
  340.  
  341. >     AESP x={&__loc_control[0], &__loc_global[0], &__loc_int_in[0], \
  342.  
  343. >             &__loc_int_out[0], &__loc_addr_in[0], &__loc_addr_out}
  344.  
  345. diff -w gemlib.dist/ident.c gemlib.mine/ident.c
  346. 2c2
  347. < char __Ident_gem[] = "$PatchLevel: atariST/TT GnuC gemlib: " PatchLevel " $";
  348. ---
  349. > char __Ident_gem[] = "$PatchLevel: (modified for lack.xfs) atariST/TT GnuC gemlib: " PatchLevel " $";
  350.  
  351. diff -w gemlib.dist/makefile.16 gemlib.mine/makefile.16
  352. 3,5c3,5
  353. < CC=  gcc
  354. < CPP= gcc-cpp
  355. < AR=  gcc-ar
  356. ---
  357. > CC=  \usr\local\bin\gcc.ttp
  358.  
  359. > CPP= \lib\gcc-cpp
  360.  
  361. > AR=  \usr\bin\gcc-ar.ttp
  362.  
  363. 8c8
  364. < LIB = d:\gnu\lib
  365. ---
  366. > LIB = \lib
  367.  
  368. 17c17
  369. < CFLAGS= $(CFFLAGS) -fomit-frame-pointer
  370. ---
  371. > CFLAGS= $(CFFLAGS) -fomit-frame-pointer -D__NO_GCC_INLINE__
  372.  
  373. 27a28,30
  374. > debug:
  375.  
  376. > CFALGS=  $(CFLAGS)
  377.  
  378.  
  379. diff -w gemlib.dist/mincl gemlib.mine/mincl
  380. 5c5
  381. < COMSRC = common.c ident.c
  382. ---
  383. > COMSRC = aes.c vdi.c ident.c aesparams.c
  384.  
  385. 9c9
  386. <       appl_tre.o appl_exi.o 
  387. ---
  388. >       appl_tre.o appl_yie.o appl_exi.o 
  389.  
  390. 99c99
  391. < COMOBJ = common.o ident.o
  392. ---
  393. > COMOBJ = aes.o vdi.o super_aes.o ident.o aesparams.o
  394.  
  395. 101a102,105
  396. > LACK=  $(AESALL) $(COMOBJ)
  397.  
  398.  
  399. > lack:  $(LACK)
  400.  
  401. >     $(AR) rs lackaes.olb $(LACK) 
  402.  
  403. Only in gemlib.mine: vdi.c
  404.