•  Back 
  •  mec0 (MPS) Schnittstelle 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
Topic       : TOS - das Betriebssystem
Author      : 
Version     : tos.hyp (5. März 2013)
Subject     : Programmieren/Atari
Nodes       : 3001
Index Size  : 93602
HCP-Version : 5
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : Titel
@help       : 
@options    : +g -i -s +x +zz -t4
@width      : 70
View Ref-File14.2.1.2  mps_base.def                                             TOS

// Tabsize: 3

// Letzte Änderung:  15.08.96
// Autor:   FS

// ------------------------------------------------------------------------------
//
// Die MagiC PC - Programmier-Schnittstelle
//
// mps_base.h: Basis-Include     !! UNVERÄNDERT ÜBERNEHMEN !!
//                               ======================

#ifdef __cplusplus
   extern "C" {
#endif

/* =========================================================================
   Die vom Anwender frei definierbaren DLL-Funktionen haben die Form
   void mps_funktion(MPS_motregs *r),
   wobei r ein Pointer auf die 16 Motorola-Register darstellt, also:
*/
   typedef struct {                 // MPS_motregs = Die Motorola-Register
     long d0,d1,d2,d3,d4,d5,d6,d7;
     long a0,a1,a2,a3,a4,a5,a6,a7;
     } MPS_motregs;
                                    // MPS_fuptr = Pointer auf eine MPS_Funktion:
   typedef void (*MPS_fuptr)(MPS_motregs *);


/* ============================================================
   Der DLL-Basisfunktion mps_info wird der folgende Infoblock
   MPS_infostr mitgegeben:
*/
   typedef struct {
     DWORD sizeof_str;           // Größe von MPS_infostr
     DWORD magic_version;        // z.B. 0x010001
     DWORD magic_date;           // z.B. 19960815     (aufsteigend)
     BYTE  is_demo;              // Ist demoversion?
     BYTE  uu1, uu2, uu3;        // noch unbenutzt, 0

     BYTE *(*intel_adr)(DWORD motadr); // Adressumrechnung Motorola -> Intel
     BYTE *(*intel_ptr)(DWORD motptr); // Pointer-Umrechnung Motorola -> Intel (NULL bleibt NULL!)

     WORD (*swap_word)(WORD w);           // Ein Word swappen
     DWORD (*swap_long)(DWORD dw);        // Ein Langwort swappen
     } MPS_magicinfo;

// =============== zu exportieren sind 3 Basisfunktionen: ==================
//
   int mps_get_type();                                                        // @101
   int mps_get_functionlist(DWORD *mps_dll_id,MPS_fuptr **p_funktionsliste);  // @102
   void mps_magicinfo(MPS_magicinfo *is);                                     // @103
//
// siehe auch mps_base.cpp, mps_base.def


#ifdef __cplusplus
   }
#endif

Querverweise: MagiC PC-Schnittstelle