Category : C Source Code
Archive   : UNZ50P1.ZIP
Filename : ATARIST.PAT

 
Output of file : ATARIST.PAT contained in archive : UNZ50P1.ZIP
*** mapname.c.orig Fri Feb 7 22:56:19 1992
--- mapname.c Fri Feb 7 23:06:32 1992
***************
*** 209,215 ****
--- 209,219 ----
#ifdef MACOS
strcat(cdp, ":");
#else /* !MACOS */
+ #if ATARI_ST
+ strcat(cdp, "\\");
+ #else /* !ATARI_ST */
strcat(cdp, "/");
+ #endif /* ?ATARI_ST */
#endif /* ?MACOS */
#endif /* ?VMS */
} /***** FALL THROUGH to ':' case **** */
*** unzip.c.orig Fri Feb 7 22:56:20 1992
--- unzip.c Fri Feb 7 23:17:06 1992
***************
*** 119,124 ****
--- 119,131 ----
byte *stack;
#else
byte suffix_of[HSIZE + 1]; /* also s-f length_nodes (smaller) */
+ #if ATARI_ST
+ /* now this is the third time I had to fix this...
+ * does NOBODY understand that you C_A_N_N_O_T reuse a byte array
+ * for anything of larger type because of possible alignment problems?
+ */
+ int HadToAlignStackElseItCrashed;
+ #endif
byte stack[HSIZE + 1]; /* also s-f distance_nodes (smaller) */
#endif

*** unzip.h.orig Fri Feb 7 22:56:21 1992
--- unzip.h Sat Feb 8 00:47:55 1992
***************
*** 27,34 ****
# if defined(THINK_C) || defined(MPW) /* for Macs */
# include
# else
! # include /* off_t, time_t, dev_t, ... */
! # include /* Everybody seems to need this. */
# endif
#endif /* This include file defines
* #define S_IREAD 0x0100 (owner may read)
--- 27,39 ----
# if defined(THINK_C) || defined(MPW) /* for Macs */
# include
# else
! # ifdef ATARI_ST
! # include
! # define __STDC__ 1 /* see note below */
! # else
! # include /* off_t, time_t, dev_t, ... */
! # include /* Everybody seems to need this. */
! # endif
# endif
#endif /* This include file defines
* #define S_IREAD 0x0100 (owner may read)
***************
*** 71,76 ****
--- 76,95 ----
And now, our MS-DOS and OS/2 corner:
---------------------------------------------------------------------------*/

+ /*
+ * How comes poor little Atari ST 's playing with these boys of the 'hood ?
+ *
+ * For everybody: TURBO C for the Atari ST also defines __TURBOC__
+ * You (yes YOU!!) may NOT RELY ON __TURBOC__ to tell
+ * that this is MSDOS or whatever!
+ */
+ #ifdef ATARI_ST
+ /* KLUDGE KLUDGE KLUDGE KLUDGE KLUDGE KLUDGE KLUDGE KLUDGE KLUDGE KLUDGE */
+ #undef __TURBOC__
+ #endif
+
+ /* FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME */
+ /* vvvvvv */
#ifdef __TURBOC__
# define DOS_OS2 /* Turbo C under DOS, MSC under DOS or OS2 */
# include /* for structure ftime */
***************
*** 123,132 ****
# ifdef MTS
# include /* MTS uses this instead of fcntl.h */
# else
! # include
# endif
# endif
#endif
/*
* fcntl.h (above): This include file defines
* #define O_BINARY 0x8000 (no cr-lf translation)
--- 142,162 ----
# ifdef MTS
# include /* MTS uses this instead of fcntl.h */
# else
! /*
! * FIXME:
! *
! * Again, just by not being VMS, V7 or MTS, the little Atari ST
! * winds up here (and everybody else too). WHOEVER NEEDS this stuff,
! * DECLARE YOURSELF and DONT rely on this kind of negative logic!
! */
! # ifndef ATARI_ST
! /* KLUDGE KLUDGE KLUDGE KLUDGE KLUDGE KLUDGE KLUDGE KLUDGE KLUDGE */
! # include
! # endif
# endif
# endif
#endif
+
/*
* fcntl.h (above): This include file defines
* #define O_BINARY 0x8000 (no cr-lf translation)
***************
*** 159,164 ****
--- 189,203 ----
And finally, some random extra stuff:
---------------------------------------------------------------------------*/

+ /* FIXME:
+ *
+ * As used by Turbo C (at least for the Atari ST),
+ * __STDC__ means that the compiler has been RESTRICTED to standard ANSI C.
+ *
+ * What we want here is: do we have a compiler which has ANSI C prototypes
+ * and includes.
+ * So better use somthing like: ANSI_C or so...
+ */
#ifdef __STDC__
# include /* standard library prototypes, malloc(), etc. */
# include /* defines strcpy, strcmp, memcpy, etc. */
***************
*** 169,174 ****
--- 208,245 ----
#endif


+ /* Incidently, for Turbo C on the Atari ST we just order the following items:
+ */
+ #if ATARI_ST
+ # include
+ /* the following includes are really specific for Turbo C 2.0 !! */
+ # include /* this gives us stat() */
+ # include /* OS specific functions (Fdup) */
+ # define MSDOS 1 /* from here on. */
+ # define DOS_OS2 1 /* from here on. */
+ # define __TURBOC__ 1 /* from here on. */
+ /*
+ * FIXME:
+ * Although the Atari ST (MC68000) and Turbo C use 16 bit ints,
+ * we have to use NOTINT16, since its an high-endian, and therefore
+ * we cannot read the intel little-endian structs.
+ * For that reason, NOTINT16 is another misnomer.
+ */
+ # define NOTINT16 1
+
+ # ifndef S_IFMT
+ # define S_IFMT (S_IFCHR|S_IFREG|S_IFDIR)
+ # endif
+
+ # ifndef O_BINARY
+ # define O_BINARY 0
+ # endif
+
+ /* replace dup by corresponding tos function */
+ # define dup Fdup
+ # define mkdir Dcreate
+
+ #endif





  3 Responses to “Category : C Source Code
Archive   : UNZ50P1.ZIP
Filename : ATARIST.PAT

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/