@ MOS Units 
:Unit MOS_ASM
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_ASM                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: F.Cheveau                                                    
 UPDATED BY.: JP.Planas                                                    
 CREATED THE: 13.04.1994                                                   
 COUNTRY....: Montpellier - IUT (FRANCE) / Perpignan                       
 DESCRIPTION: ASM low level code, interruptions hook.                      
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 1.180 Lines and (13.776 Bytes compiled)                      
 LAST UPDATE: 19.01.1999 at 11:28                                          

 INCLUDES...: 
 Uses Dos,
      MOS_VAR, MOS_CRT;

^Asm bits procedures
 Procedure ~BSET~                  Set a Bit 'B'
 Procedure ~BCLR~                  Clear a Bit 'B'
 Procedure ~BCHG~                  Exchange a Bit 'B'
 Function  ~BTST~                  Test a Bit 'B'
^Printer
 Procedure ~Print_Screen~          Print the screen to the printer
^Low level procedures
 Procedure ~Wait_VBL~              Wait Synchronisation
 Function  ~Peek~                  Same as Basic Peek
 Procedure ~Poke~                  Same as Basic Poke
 Procedure ~Set_Video~             Vido Screen On/Off
^High level procedures but with low call
 Procedure ~Main_Task~             Low call of Main_Task
 Procedure ~Execute~               Low call of Execute
^Reboot procedures
 Procedure ~Warm_Reboot~           Warm Reboot
 Procedure ~Cold_Reboot~           Cold Reboot
^Processor
 Function  ~Get_ProcessorType~     Get processor type
 Function  ~Get_CoProcessorType~   Get coprocessor type
 Function  ~Get_CPUSpeed~          Get CPU speed
^Timer
 Procedure ~Timer_SetFrequence~    Set time frequency
 Procedure ~Timer_Init~            Init & Begin Timer
 Procedure ~Timer_Restore~         Restore Old Normal Timer
^Keyboard leds
 Procedure ~Set_LED~               Change LEDs state
 Function  ~Test_LED~              Test LEDs state
^Test memory programs
 Function  ~Test_Win~              Test if Windows is in memory
 Function  ~Test_OS2~              Test if OS2 is in memory
 Function  ~Test_Share~            Test if Share is in memory
 Function  ~Test_TP~               Test if TP is in memory
 Function  ~Test_BP~               Test if BP is in memory
 Function  ~Test_TPX~              Test if TPX is in memory
 Function  ~Get_WinVersion~        Get version of Windows
 Function  ~Get_DOSVersion~        Get version of DOS
^Miscellaneous
 Procedure ~FillWord~              Like FillChar but for Words
 Function  ~Test_CDRom~            Test if the drive is a CDROM drive
 Procedure ~Exg~                   Echange Both Values
 Procedure ~Beep~                  Make a sound on speaker
 Function  ~Comp_Blocks~           Compare 2 memory blocks
:Unit MOS_OCG
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_OCG                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: F.Cheveau & Auzeill as Zuul And Falcon.                      
 UPDATED BY.: F.Cheveau                                                    
 CREATED THE: 31.01.1998                                                   
 COUNTRY....: Perpignan (FRANCE)                                           
 DESCRIPTION: Onglet and Combo Box Gadgets Management.                     
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 602 Lines and (15.440 Bytes compiled)                        
 LAST UPDATE: 19.01.1999 at 14:53                                          

 INCLUDES...: 
 Uses Dos,
      MOS_VAR, MOS_CRT, MOS_STR,
      MOS_BAS, MOS_MSE, MOS_TOO,
      MOS_GAD, MOS_GPH, MOS_ASM,
      MOS_WIN, MOS_LIS, MOS_DSK,
      MOS_FIL, MOS_VESA;

 Procedure ~Onglet~                Define Onglets
 Procedure ~Onglet_Draw~           Draw Onglets
 Procedure ~Onglet_Freeze~         Freeze Onglets
 Function  ~Onglet_GetMsg~         Manage Onglets
 Procedure ~Combo~                 Define Combo
 Procedure ~Combo_Init~            
 Procedure ~Combo_Kill~            
 Procedure ~Combo_Clear~           
 Function  ~Combo_AddItem~         Add an item in Combo
 Function  ~Combo_GetItem~         Get an item in Combo
 Procedure ~Combo_Draw~            Draw Combo
 Procedure ~Combo_Freeze~          Freeze Combo
 Function  ~Combo_GetMsg~          Get Messages from Combo
:Unit MOS_BLK
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_BLK                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: F.Cheveau                                                    
 UPDATED BY.: F.Cheveau                                                    
 CREATED THE: 31.01.1998                                                   
 COUNTRY....: Perpignan (FRANCE)                                           
 DESCRIPTION: Blankers Management.                                         
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 86 Lines and (1.840 Bytes compiled)                          
 LAST UPDATE: 19.01.1999 at 14:53                                          

 INCLUDES...: 
 Uses Dos,
      MOS_CRT, MOS_ASM, MOS_BAS,
      MOS_DSK, MOS_VAR, MOS_KBD,
      MOS_FIL, MOS_VESA;

 Procedure ~Execute_Blanker~       External Blanker Execution
:Unit MOS_BMP
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_BMP                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: JP.PLANAS                                                    
 UPDATED BY.: JP.PLANAS                                                    
 CREATED THE: 15.07.1995                                                   
 COUNTRY....: Perpignan (FRANCE)                                           
 DESCRIPTION: Procedures to manage images (Display and information).       
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 1.241 Lines and (21.760 Bytes compiled)                      
 LAST UPDATE: 19.01.1999 at 11:28                                          

 INCLUDES...: 
 Uses Dos,
      MOS_TOO, MOS_CRT, MOS_VAR,
      MOS_BAS, MOS_MSE, MOS_KBD,
      MOS_GPH, MOS_ASM, MOS_GFX,
      MOS_STR, MOS_FIL, MOS_VESA;

 Function  ~Test_BMP~              Is file a BMP
 Function  ~Test_MGF~              Is file a MGF
 Procedure ~Get_BMPInfo~           To get information about the BMP
 Procedure ~Create_BMP~            Capture the screen
 Procedure ~Show_BMP~              Display a BMP on screen
:Unit MOS_CRT
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_CRT                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: JP.PLANAS, F.CHEVEAU and JP. PLANAS                          
 UPDATED BY.: JP.PLANAS                                                    
 CREATED THE: 28.04.1997                                                   
 COUNTRY....: Perpignan (FRANCE)                                           
 DESCRIPTION: Replace all the Turbo pascal CRT unit.                       
 AUTONOMOUS.: Yes                                                          
 UNIT SIZE..: 487 Lines and (7.152 Bytes compiled)                         
 LAST UPDATE: 19.01.1999 at 11:28                                          

 INCLUDES...: 
 Uses Dos;

^KeyBoard
 Function  ~KeyPressed~            Test if a key is pressed
 Function  ~ReadKey~               Read a key
^Screen Position
 Procedure ~GotoXY~                Put the cursor on X,Y
 Function  ~WhereX~                Get current cursor X position
 Function  ~WhereY~                Get current cursor Y position
 Procedure ~Window~                Set the text window
^Screen actions
 Procedure ~ClrScr~                Clear the screen
 Procedure ~ClrEol~                Clear the end of the line
 Procedure ~InsLine~               Insert a line
 Procedure ~DelLine~               Delete a line
^Colors
 Procedure ~TextBackground~        Set Background color
 Procedure ~TextColor~             Set Text color
^Vides modes
 Procedure ~TextMode~              Set a text video mode
 Procedure ~LowVideo~              Selects low intensity characters.
 Procedure ~HighVideo~             Selects high intensity characters.
 Procedure ~NormVideo~             Selects normal intensity characters.
^Sound
 Procedure ~Sound~                 Play a sound
 Procedure ~NoSound~               Stop the sound
^Wait
 Procedure ~Delay~                 Wait
^Redirection
 Procedure ~AssignCrt~             Associate a text file with the CRT window
 Function  ~Dsk_TestIOCTL~         Redirection test
:Unit MOS_DEB
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_DEB                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: JP.PLANAS                                                    
 UPDATED BY.: JP.PLANAS                                                    
 CREATED THE: 19.02.1998                                                   
 COUNTRY....: Perpignan (FRANCE)                                           
 DESCRIPTION: Help for debugging (Write important information).            
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 124 Lines and (4.544 Bytes compiled)                         
 LAST UPDATE: 19.01.1999 at 11:28                                          

 INCLUDES...: 
 Uses  Dos,
       MOS_XMS, MOS_STR, MOS_DSK,
       MOS_CRT, MOS_ASM;

 Procedure ~Init_Debug~            Get debug informations
 Procedure ~Done_Debug~            Show debug informations
:Unit MOS_DIR
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_DIR                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: F.Cheveau                                                    
 UPDATED BY.: F.Cheveau                                                    
 CREATED THE: 15.12.1993                                                   
 COUNTRY....: Montpellier - IUT (FRANCE)                                   
 DESCRIPTION: Directory and File Management.                               
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 1.339 Lines and (47.152 Bytes compiled)                      
 LAST UPDATE: 19.01.1999 at 14:53                                          

 INCLUDES...: 
 Uses Dos,
      MOS_VAR, MOS_CRT, MOS_STR,
      MOS_BAS, MOS_MSE, MOS_ASM,
      MOS_TOO, MOS_GFX, MOS_BMP,
      MOS_WAV, MOS_WIN, MOS_GAD,
      MOS_EZR, MOS_GPH, MOS_KBD,
      MOS_DSK, MOS_FIL, MOS_VESA;

 Function  ~Gad_DiskFile~          
 Procedure ~Req_XCopy~             
 Procedure ~Req_Attrib~            Modify the attributes of a file
 Procedure ~Req_FileManager~       Select a File/Path ..
:Unit MOS_MEN
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_MEN                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: F.Cheveau                                                    
 UPDATED BY.: F.Cheveau                                                    
 CREATED THE: 27.11.1994                                                   
 COUNTRY....: Toulouse - COG Gendarmerie (FRANCE)                          
 DESCRIPTION: Menu Management.                                             
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 667 Lines and (19.008 Bytes compiled)                        
 LAST UPDATE: 19.01.1999 at 14:53                                          

 INCLUDES...: 
 Uses Dos,
      MOS_VAR, MOS_CRT, MOS_STR,
      MOS_BAS, MOS_ASM, MOS_TOO,
      MOS_GFX, MOS_MSE, MOS_GAD,
      MOS_WIN, MOS_GPH, MOS_KBD,
      MOS_VESA;

 Procedure ~Menu_Clear~            Clear menu arrays
 Procedure ~Menu_Add~              Add a menu point to list
 Procedure ~Menu_Test~             Manage menu
 Function  ~Menu_TestCheckPoint~   Test a check point value
 Procedure ~Menu_SetId~            Modify menu point Id
:Unit MOS_EZR
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_EZR                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: F.Cheveau                                                    
 UPDATED BY.: F.Cheveau                                                    
 CREATED THE: 15.12.1993                                                   
 COUNTRY....: Montpellier - IUT (FRANCE)                                   
 DESCRIPTION: Communications and Information Requesters Management.        
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 570 Lines and (15.904 Bytes compiled)                        
 LAST UPDATE: 19.01.1999 at 14:53                                          

 INCLUDES...: 
 Uses Dos,
      MOS_VAR, MOS_CRT, MOS_STR,
      MOS_BAS, MOS_ASM, MOS_MSE,
      MOS_GAD, MOS_TOO, MOS_GFX,
      MOS_WIN, MOS_GPH, MOS_LIS,
      MOS_VESA;

 Procedure ~Req_Dialog~            Dialog/Select Requester
 Procedure ~Req_String~            String Input Requester
 Procedure ~Req_Value~             Value Input Requester
 Function  ~Req_List~              
:Unit MOS_FLI
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_FLI                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: JP.PLANAS and F.CHEVEAU                                      
 UPDATED BY.: JP.PLANAS                                                    
 CREATED THE: 08.09.1998                                                   
 COUNTRY....: Perpignan (FRANCE)                                           
 DESCRIPTION: Playing of FLI animations.                                   
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 402 Lines and (5.840 Bytes compiled)                         
 LAST UPDATE: 19.01.1999 at 11:28                                          

 INCLUDES...: 
 Uses Dos,
      MOS_CRT, MOS_ASM, MOS_VAR,
      MOS_MSE, MOS_TOO, MOS_BAS,
      MOS_GPH, MOS_FIL, MOS_VESA,
      MOS_GFX;

 Procedure ~Play_FLI~              Play une Animation FLI
 Function  ~Test_FLI~              Is file a fli animation?
:Unit MOS_GFX
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_GFX                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: JP.PLANAS and F.CHEVEAU                                      
 UPDATED BY.: JP.PLANAS                                                    
 CREATED THE: 26.11.1994                                                   
 COUNTRY....: Perpignan (FRANCE)                                           
 DESCRIPTION: Management of video.                                         
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 478 Lines and (11.248 Bytes compiled)                        
 LAST UPDATE: 19.01.1999 at 11:28                                          

 INCLUDES...: 
 Uses Dos,
      MOS_CRT, MOS_ASM, MOS_VAR,
      MOS_MSE, MOS_TOO, MOS_BAS,
      MOS_GPH, MOS_DSK, MOS_FIL,
      MOS_VESA;

^Save/Restore Screen
 Procedure ~Save_Screen~           Save screen and it's state
 Procedure ~Restore_Screen~        Restore the screen like before a Save_Screen
^Icons
 Function  ~Test_Icon~             Is file an icon?
 Procedure ~Show_Icon~             Show icon
^MOS little animation
 Procedure ~Show_Butterfly~        Show butterfly
^Palette
^GIF
 Function  ~Test_GIF~              Is file a gif?
 Procedure ~Get_GIFInfo~           To get information about the gif
^Show graphics
 Procedure ~Show_GFX~              Show the GIF
:Unit MOS_GPH
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_GPH                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: JP.PLANAS                                                    
 UPDATED BY.: JP.PLANAS                                                    
 CREATED THE: 25.06.1998                                                   
 COUNTRY....: Perpignan (FRANCE)                                           
 DESCRIPTION: Replace the graph.tpu unit of tp 7.0.                        
 AUTONOMOUS.: Yes                                                          
 UNIT SIZE..: 3.256 Lines and (50.368 Bytes compiled)                      
 LAST UPDATE: 19.01.1999 at 11:28                                          

 INCLUDES...: 
 Uses MOS_CRT, MOS_STR, MOS_DSK,
      MOS_FIL, MOS_VESA;

^Pixels
 Procedure ~VESA_Putpixel256~      Put a pixel on 256c mode
 Procedure ~VESA_Putpixel~         Put a pixel on screen
 Function  ~VESA_Getpixel~         Get the color of a pixel
^CHR fonts
 Procedure ~VESA_OutTextXY~        Write text on screen
 Function  ~VESA_TextWidth~        Get text width
 Function  ~VESA_TextHeight~       Get text heigth
 Procedure ~VESA_SetTextStyle~     Set current font and parameters
^Init/Close graphic modes
 Procedure ~VESA_Initgraph~        Initialise GFX mode
 Procedure ~VESA_ReInitgraph~      Partial initialisation of GFX mode
 Procedure ~VESA_CloseGraph~       End the use of graph procedures
^Screen size
 Function  ~VESA_GetMaxX~          Get maximum width of the current screen mode
 Function  ~VESA_GetMaxY~          Get maximum heigth of the current screen mode
^Colors
 Procedure ~VESA_SetColor~         Set the current color
 Function  ~VESA_GetColor~         Get the current color
^Lines
 Procedure ~VESA_GetLineStyle~     Get the line style
 Procedure ~VESA_SetLineStyle~     Set the line style
 Procedure ~VESA_Line~             Draw a line
 Procedure ~VESA_Rectangle~        Draw a rectangle
 Procedure ~VESA_Bar~              Draw a fill rectangle
^Current pointer
 Function  ~VESA_GetX~             Get current X position
 Function  ~VESA_GetY~             Get current Y position
 Procedure ~VESA_LineTo~           Draw a line with current position
 Procedure ~VESA_MoveTo~           Move current position
^Images
 Function  ~VESA_ImageSize~        Get size needed to save the part of screen
 Procedure ~VESA_GetImage~         Save the image
 Procedure ~VESA_PutImage~         Put image on the screen
^Colors
 Procedure ~VESA_SetRGBPalette~    Set 1 color palette
 Procedure ~VESA_GetRGBPalette~    Get 1 color palette
 Procedure ~Get_Palette256~        Get 256 color palette
 Procedure ~Set_Palette256~        Set 256 color palette
^ViewPort
 Procedure ~VESA_SetViewPort~      Set viewport parameters
 Procedure ~VESA_GetViewSettings~  Get viewport parameters
^Polygons
 Procedure ~Vesa_FillPoly~         Draw a fill polygon
 Procedure ~VESA_DrawPoly~         Draw a polygon
^Miscellaneous
 Procedure ~VESA_Circle~           Draw a Circle
 Procedure ~VESA_ClearViewPort~    Clear screen
 Function  ~VESA_MOSTestMode~      Test if a video mode could the launch
 Function  ~Conv_Dos2Mode~         Convert Vesa mode number to Mos mode
 Function  ~Conv_Mode2Dos~         Convert Mos mode number to Vesa mode
 Procedure ~VESA_FillShape~        Fill a part of the screen
^Not ready yet
 Procedure ~VESA_SetFillStyle~     Set the fill style
 Function  ~VESA_GetWriteMode~     Get current write mode
 Procedure ~VESA_SetWriteMode~     Set current write mode
 Procedure ~VESA_SetFillPattern~   Set User define Pattern
:Unit MOS_INI
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_INI                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: F.Cheveau                                                    
 UPDATED BY.: F.Cheveau                                                    
 CREATED THE: 31.01.1998                                                   
 COUNTRY....: Perpignan (FRANCE)                                           
 DESCRIPTION: Initialisations Files Management.                            
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 29 Lines and (576 Bytes compiled)                            
 LAST UPDATE: 19.01.1999 at 14:53                                          

 INCLUDES...: 
 Uses  Dos,
       MOS_VAR;

:Unit MOS_KBD
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_KBD                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: Frdric Cheveau                                             
 UPDATED BY.: F.Cheveau                                                    
 CREATED THE: 31.01.1998                                                   
 COUNTRY....: Perpignan (FRANCE)                                           
 DESCRIPTION: Keyboard management.                                         
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 574 Lines and (8.144 Bytes compiled)                         
 LAST UPDATE: 19.01.1999 at 14:53                                          

 INCLUDES...: 
 Uses Dos,
      MOS_VAR, MOS_GPH, MOS_CRT,
      MOS_BAS, MOS_ASM, MOS_MSE,
      MOS_VESA;

 Procedure ~Kbd_InitCursor~        Define prefs for the graphic cursor
 Procedure ~Kbd_Locate~            Set a location for the graphic cursor
 Procedure ~Kbd_CursorOn~          Display graphic cursor
 Procedure ~Kbd_CursorOff~         Hide graphic cursor
 Function  ~Kbd_TestKey~           Test a known key
 Function  ~Kbd_TestChar~          Sub-Function of Kbd_TestKey
 Function  ~Kbd_GetChar~           Sub-Function of Kbd_TestKey
 Function  ~Kbd_TestSpecialKey~    Test a special key (Shift, Alt...)
 Function  ~Kbd_KeyPressedNow~     Instant Keypressed function
 Procedure ~Kbd_SetSpeedKey~       Set SpeedKey Definition
 Procedure ~Kbd_TextCursorOn~      Text cursor displayed
 Procedure ~Kbd_TextCursorOff~     Text cursor Hidden
 Procedure ~Kbd_SetTextCursor~     Set cursor in text mode
 Procedure ~Kbd_PurgeBuffer~       Purge the keyboard buffer
 Function  ~Kbd_TestExtended~      Test if the Keyboard is extended
 Function  ~Kbd_GetASCIICode~      Get the ASCII code of a key
 Function  ~Kbd_GetScanCode~       Get the Scan code of a key
 Function  ~Wait~                  Wait something pressed (Key or Mouse)
:Unit MOS_LIS
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_LIS                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: Frdric Cheveau                                             
 UPDATED BY.: F.Cheveau                                                    
 CREATED THE: 21.04.1998                                                   
 COUNTRY....: Perpignan (FRANCE)                                           
 DESCRIPTION: List Management with Requesters displaying.                  
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 3.316 Lines and (73.040 Bytes compiled)                      
 LAST UPDATE: 19.01.1999 at 14:55                                          

 INCLUDES...: 
 Uses Dos,
      MOS_GPH, MOS_VAR, MOS_BAS,
      MOS_CRT, MOS_STR, MOS_XMS,
      MOS_ASM, MOS_MSE, MOS_GAD,
      MOS_TOO, MOS_KBD, MOS_DSK,
      MOS_FIL, MOS_VESA;

^List management procedures
 Function  ~List_Define~           Define list parameters
 Procedure ~List_ReDefine~         Define again some parameters
 Procedure ~List_Kill~             Kill the list
 Function  ~List_Test~             Manage the list
 Function  ~List_Save~             Save the list in a file
 Function  ~List_Load~             Load a list from a file
 Procedure ~List_Clear~            Clear the list
 Procedure ~List_Sort~             Sort the list
 Function  ~List_Merge~            Merge two list in one
 Function  ~List_Copy~             Copy a source in a target list
 Function  ~List_SwapColumns~      Swap the values of two columns
^Items management procedures
 Function  ~List_AddItem~          Add an item to the list
 Function  ~List_DeleteItem~       Delete an item from the list
 Function  ~List_MoveItems~        Move a block of the list items
 Procedure ~List_TagItem~          Tag an item
 Procedure ~List_UnTagItem~        Untag an item
 Procedure ~List_ToggleItem~       Toggle value of the tag
 Procedure ~List_TagAllItems~      Tag all the list items
 Procedure ~List_UnTagAllItems~    Untag all the list items
 Procedure ~List_ToggleAllItems~   Toggle all the list items
^Procedures to define parameters
 Procedure ~List_SetId~            Set new Id for the list
 Procedure ~List_SetIdMore~        Set new IdMore for the list
 Procedure ~List_SetIdItem~        Set new Id for an item
 Procedure ~List_SetTagItem~       Set a specific tag for an item
 Procedure ~List_SetUserItem~      Set a specific value for an Item
 Procedure ~List_SetColorItem~     Define the pen color item
 Procedure ~List_SetBkColorItem~   Define the background color item
 Procedure ~List_SetStringItem~    Define the string for an item
 Procedure ~List_SetStringCell~    Define the string for a cell
 Procedure ~List_SetColumnAttr~    Define column attributes
 Procedure ~List_SetColumnId~      Set new Id for a column
 Procedure ~List_SetColumnColor~   Set new color for a column
 Procedure ~List_SetPosition~      Set first item for displaying list
 Procedure ~List_SetSeparator~     Define the list items separator
 Procedure ~List_SetTitle~         Define the list title
 Procedure ~List_SetSortInfo~      Define the sort attributes
 Procedure ~List_SetPathList~      Define full path for file items
 Procedure ~List_AdjustColumn~     Adjust automatically the column size
 Procedure ~List_AdjustColumns~    Adjust automatically the columns size
 Procedure ~List_HideColumn~       Hide or show the column
^Procedures to get parameters
 Function  ~List_GetStringItem~    Get the string of an item
 Function  ~List_GetStringCell~    Get the string of a cell
 Function  ~List_GetColumnNum~     Get the true number of a column
 Function  ~List_GetColumnId~      Get the Id of a column
 Function  ~List_GetSizeColumns~   Get total size of columns
 Function  ~List_GetColorLine~     Return the background line color
 Function  ~List_GetBkColorItem~   Get the background color of an item
 Function  ~List_GetUserItem~      Get the user item value
 Function  ~List_GetIdItem~        Get the Id item value
 Function  ~List_GetTaggedItem~    Get position of the first tagged item
 Function  ~List_GetQttItems~      Get quantity of items
 Function  ~List_GetQttColumns~    Get number of columns
 Function  ~List_GetQttShowItems~  Get quantity of displayed items
 Function  ~List_GetAZIndice~      Calcule position for an item
 Function  ~List_GetItemIndice~    Get the position of an item
 Function  ~List_GetItemCoord~     Get coordinates of an item
 Function  ~List_GetCellCoord~     Get coordinates of a cell
 Function  ~List_GetCellOnMouse~   Get the cell on mouse pointer
 Function  ~List_GetTaquetCoord~   Get coordinates for a taquet
 Procedure ~List_GetDirectory~     Read directory and save in file
 Function  ~List_GetNextFreeItem~  Search the next item not freezed
 Function  ~List_GetEditColumn~    Get the first column "Renamable"
^Display functions
 Procedure ~List_Show~             Display the list box
 Procedure ~List_ShowItem~         Display an item
 Procedure ~List_ShowText~         Display a text of an item
 Procedure ~List_ShowTitle~        Display title list
 Procedure ~List_ShowGrid~         Display grid for a list
 Procedure ~List_ShowColumns~      Display vertical columns
 Procedure ~List_ShowSliders~      Display sliders if needs
 Procedure ~List_ClearLine~        Clear a line in the list box
 Procedure ~List_Refresh~          Refresh list elements
^Test functions
 Function  ~List_TestTaggedItem~   Test if an item is tagged
 Function  ~List_TestIdItem~       Test bits of an Id item
 Function  ~List_TestColumnId~     Test bits of an Id column
 Function  ~List_TestMouseOnCell~  Test if mouse is on cell
 Function  ~List_TestMouseOnItem~  Test if mouse is on item
 Function  ~List_TestMouseOnList~  Return if mouse pointer is over the list
 Function  ~List_TestKeys~         Manage keys to move in list
 Procedure ~List_TestSizeCol~      Manage the size columns
 Procedure ~List_TestMoveCol~      Manage the move columns
 Procedure ~List_TestSortList~     Manage the list sorting
 Procedure ~List_TestInfoBox~      Manage the Info Box
:Unit MOS_MAT
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_MAT                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: F.Cheveau & Auzeill as Zuul And Falcon.                      
 UPDATED BY.: F.Cheveau                                                    
 CREATED THE: 22.11.1995                                                   
 COUNTRY....: Perpignan - IMERIR (FRANCE)                                  
 DESCRIPTION: Mathematics Functions Management.                            
 AUTONOMOUS.: Yes                                                          
 UNIT SIZE..: 1.187 Lines and (29.200 Bytes compiled)                      
 LAST UPDATE: 19.01.1999 at 14:53                                          

 INCLUDES...: NO

 Function  ~TAN~                   Tangente
 Function  ~COT~                   Cotangente
 Function  ~SEC~                   Secante
 Function  ~COSEC~                 Cosecante
 Function  ~ARCSIN~                ARC Sinus
 Function  ~ARCCOS~                ARC Cosinus
 Function  ~ARCCOT~                ARC Cotangente
 Function  ~ARCSEC~                ARC Secante
 Function  ~ARCCOSEC~              ARC Cosecante
 Function  ~SINH~                  Sinus Hyperbolic
 Function  ~COSH~                  Cosinus Hyperbolic
 Function  ~TANH~                  Tangente Hyperbolic
 Function  ~COTH~                  Cotangente Hyperbolic
 Function  ~SECH~                  Secante Hyperbolic
 Function  ~COSECH~                Cosecante Hyperbolic
 Function  ~ARCSINH~               ARC Sinus Hyperbolic
 Function  ~ARCCOSH~               ARC Cosinus Hyperbolic
 Function  ~ARCTANH~               ARC Tangente Hyperbolic
 Function  ~ARCCOTH~               ARC Cotangente eHyperbolic
 Function  ~ARCSECH~               ARC Secante Hyperbolic
 Function  ~ARCCSCH~               ARC Cosecante Hyperbolic
 Function  ~LOG10~                 LOG Base 10
 Function  ~LOGN~                  LOG Base n
 Function  ~POWER~                 Power function
 Function  ~ROOT~                  Square root
 Function  ~FAC~                   Factoriel
 Function  ~INV~                   Inverse
 Function  ~Solve~                 Mathematical Analysor
:Unit MOS_MSE
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_MSE                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: F.CHEVEAU                                                    
 UPDATED BY.: JP.PLANAS                                                    
 CREATED THE: 15.02.1994                                                   
 COUNTRY....: IUT Montpellier.                                             
 DESCRIPTION: Management of the mouse.                                     
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 1.547 Lines and (30.192 Bytes compiled)                      
 LAST UPDATE: 19.01.1999 at 11:28                                          

 INCLUDES...: 
 Uses Dos,
      MOS_VAR, MOS_CRT, MOS_BAS,
      MOS_GPH, MOS_STR, MOS_DSK,
      MOS_ASM, MOS_VESA;

^Hide/Show mouse
 Procedure ~Mse_Show~              Show mouse
 Procedure ~Mse_Hide~              Hide mouse
^Position
 Procedure ~Mse_Get~               Get mouse position and buttons states
 Procedure ~Mse_Put~               Put mouse on X,Y
^Boxes
 Function  ~Mse_TestBox~           Test if mouse is in Box
 Procedure ~Mse_Limit~             Limit mouse on box
^Double click
 Procedure ~Mse_SetDoubleClick~    Set double click
 Function  ~Mse_TestDoubleClick~   Test mouse double click
^Mouse Delay
 Procedure ~Mse_SetDelay~          Set mouse delay
 Function  ~Mse_TestDelay~         True=Mouse Delay Passed
^Mouse pointers
 Procedure ~Mse_SetPointer~        Set mouse pointer
 Procedure ~Mse_SetPointerMode~    Set mouse pointer mode
 Procedure ~Mse_Pointers~          Manage mouse pointers
^Mouse demos
 Procedure ~Mse_InitDemo~          Begin recording or playing a demo
 Procedure ~Mse_DoneDemo~          Stop the demo
^Miscellaneous
 Function  ~Mse_Clicked~           Test if mouse is clicked
 Procedure ~Mse_Speed~             Speed Mouse. Mickeys/Pixels
 Procedure ~Mse_Blanker~           Manage the mouse blanker
 Procedure ~Mse_GetPosInGrid~      Calculate Coord With Grid
^Hardware information
 Function  ~Mse_GetVersion~        Get Mouse driver version
 Function  ~Mse_GetType~           Get Mouse type
 Function  ~Mse_Test~              Test if the mouse exist
^Init/Done Mouse
 Procedure ~Init_Mouse~            Initialise Mouse for Gfx
 Procedure ~Done_Mouse~            End the use of GFX mouse
:Unit MOS_TOO
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_TOO                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: F.Cheveau                                                    
 UPDATED BY.: F.Cheveau                                                    
 CREATED THE: 06.11.1993                                                   
 COUNTRY....: Montpellier - IUT (FRANCE)                                   
 DESCRIPTION: Graphical tools like boxes for MOS.                          
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 1.347 Lines and (34.288 Bytes compiled)                      
 LAST UPDATE: 19.01.1999 at 14:53                                          

 INCLUDES...: 
 Uses Dos,
      MOS_GPH, MOS_VAR, MOS_CRT,
      MOS_STR, MOS_ASM, MOS_BAS,
      MOS_XMS, MOS_MSE, MOS_VESA,
      MOS_KBD, MOS_BLK, MOS_DSK;

^Time
 Function  ~Time_TestTimer~        Use a Timer
 Function  ~Time_GetTime~          String hour
 Function  ~Time_GetDayName~       Get the day of the week from packed date
 Function  ~Time_PackDate~         Pack a date in a Word
 Procedure ~Time_UnPackDate~       Unpack the date
 Function  ~Time_GetDaysInMonth~   Get Numbers of days in a month
 Function  ~Time_GetSTime~         Return the Time in String
 Function  ~Time_GetSDate~         Return the Date in String
^Coordinates
 Procedure ~Coord_PointInScreen~   Put coordinates in screen
 Function  ~Coord_ClipBox~         Test and cut to the window clipping
 Procedure ~Coord_BoxInScreen~     Put the box in screen
 Procedure ~Coord_BoxCorrect~      Verify coherence
 Procedure ~Coord_WinInScreen~     Put the window in the screen
^Draw
 Procedure ~BevelBox~              Draw a BevelBox
 Procedure ~StringBox~             Draw a StringBox
 Procedure ~Display~               Display Text
 Procedure ~Display_Attr~          Display Text with attributes
 Procedure ~Display_LCD~           
 Procedure ~Display_Colors~        Display a palette degrade
 Procedure ~TitleBox~              Draw a title box
 Procedure ~Draw_Grid~             Draw a grid
 Procedure ~Tool_Line~             Draw a line in relief
 Procedure ~Bar_FillGray~          Fill in Gray for "FREEZE"
 Procedure ~Bar_Progress~          Draw a Progress Bar
^LightBox
 Function  ~GetMsg_LightBox~       Draw Box Clicking Mouse
 Function  ~GetMsg_MoveBox~        Move selected box
^Screen blanker
 Procedure ~Screen_Blanker~        Manage the Screen Blanker
 Procedure ~Screen_BlankerInit~    Reinitialise the Screen Blanker
^Miscellaneous
 Function  ~Test_AnythingActioned~ Test if there is an action
 Procedure ~Col_BuildShade~        
:Unit MOS_HAR
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_HAR                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: JP.Planas                                                    
 UPDATED BY.: F.Cheveau                                                    
 CREATED THE: 20.10.1998                                                   
 COUNTRY....: Perpignan (FRANCE)                                           
 DESCRIPTION: Pc hardware informations and detections.                     
 AUTONOMOUS.: No.                                                          
 UNIT SIZE..: 958 Lines and (20.480 Bytes compiled)                        
 LAST UPDATE: 19.01.1999 at 14:53                                          

 INCLUDES...: 
 Uses Dos,
      MOS_VAR, MOS_MSE, MOS_WIN,
      MOS_BAS, MOS_ASM, MOS_XMS,
      MOS_GAD, MOS_TOO, MOS_LIS,
      MOS_GPH, MOS_STR, MOS_CPU;

^Temp Zuul Made
 Procedure ~Printer_Init~          Initialise Printer
 Function  ~Printer_IsReady~       Teste if printer is ready
^Memory information and requesters
 Procedure ~Req_Hardware~          Hardware information
 Procedure ~Req_Memory~            Display memory information
 Function  ~Hard_GetTicks~         Get Ticks from memory
 Function  ~Hard_TestEMM~          Test Expanded Memory Manager
^Misc Hardware information
 Function  ~Hard_TestLinux~        Test if Linus is present
 Function  ~Hard_TestMSCDEX~       Test if MSCDEX is loaded
 Function  ~Hard_Test4DOS~         Test if the OS is 4DOS
 Function  ~Hard_TestJoystick~     Test if there is a Joystick port
 Function  ~Hard_GetPort~          Get a port value
 Function  ~Hard_GetBusType~       Get the Bus type
 Function  ~Hard_Get4DOSVersion~   Get The 4DOS version
 Function  ~Hard_GetCMOSValue~     Get a CMOS value
 Function  ~Hard_TestCMOSCheckSum~ Test if CMOS Checksum is Ok
 Function  ~Hard_GetFloppyType~    Get the Floppy type
 Function  ~Hard_GetBaseRAM~       Get the base RAM value
 Function  ~Hard_GetHDType~        Get the HD BIOS type
 Function  ~Hard_GetComputerType~  Get the computer model
 Function  ~Hard_GetProcessorType~ Intel Pentium,486 AMD
 Function  ~Hard_GetProcessorSpeed~ Clock frequency
 Function  ~Hard_GetCoProcessorType~ Internal
^Bios information
 Function  ~Bios_GetDate~          Get the Bios date
^Light Peripherals
^Cd-Rom
 Function  ~Hard_IsCdRom~          
^Video Card
 Function  ~Hard_GetVideoCardFirm~ Get the video card manufacturer
^Sound board
:Unit MOS_PRO
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_PRO                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: F.Cheveau                                                    
 UPDATED BY.: F.Cheveau                                                    
 CREATED THE: 21.02.1998                                                   
 COUNTRY....: Perpignan (FRANCE)                                           
 DESCRIPTION: MOS Protection. Anti-dbuging.                               
 AUTONOMOUS.: Pro                                                          
 UNIT SIZE..: 132 Lines and (3.184 Bytes compiled)                         
 LAST UPDATE: 19.01.1999 at 14:53                                          

 INCLUDES...: 
 Uses  Dos,
       MOS_DSK, MOS_TOO, MOS_VAR,
       MOS_FIL;

 Function  ~Protect_Software~      Protge ".EXE" pour "Days" Jours
:Unit MOS_MED
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_MED                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

:Unit MOS_COL
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_COL                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: Frdric Cheveau                                             
 UPDATED BY.: F.Cheveau                                                    
 CREATED THE: 31.01.1998                                                   
 COUNTRY....: Perpignan (FRANCE)                                           
 DESCRIPTION: MOS colors management.                                       
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 442 Lines and (13.744 Bytes compiled)                        
 LAST UPDATE: 19.01.1999 at 11:28                                          

 INCLUDES...: 
 Uses  Dos,
       MOS_VAR, MOS_GAD, MOS_WIN,
       MOS_BAS, MOS_TOO, MOS_OCG,
       MOS_BMP, MOS_CRT, MOS_GPH,
       MOS_VESA;

 Procedure ~Extended_Colors~       Switch to Extended colors
 Procedure ~Normal_Colors~         Switch to Normal colors
^Palette modification
 Procedure ~Col_SetPaletteToGrey~  
 Procedure ~Col_TogglePalette~     
 Procedure ~Col_FillPalette~       
 Procedure ~Col_FadeIn~            
 Procedure ~Col_FadeOut~           
^Conversion functions
 Procedure ~HSV_To_RGB~            Convert HSV to RGB format color
 Procedure ~RGB_To_HSV~            Convert RGB to HSV format color
 Procedure ~YCrCb_To_RGB~          Convert YCrCb to RGB format color
 Procedure ~RGB_To_YCrCb~          Convert RGB to YCrCb format color
^Colors and palette requesters
 Procedure ~Req_Colors~            
 Function  ~Req_SelectColor~       
:Unit MOS_STR
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_STR                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: JP.PLANAS                                                    
 UPDATED BY.: JP.PLANAS                                                    
 CREATED THE: 10.06.1998                                                   
 COUNTRY....: Perpignan (FRANCE)                                           
 DESCRIPTION: Management of strings.                                       
 AUTONOMOUS.: Yes                                                          
 UNIT SIZE..: 1.690 Lines and (32.784 Bytes compiled)                      
 LAST UPDATE: 19.01.1999 at 11:28                                          

 INCLUDES...: 
 Uses Dos;

^Capital/Small letters
 Function  ~Upper~                 Put a string on capital letters
 Function  ~Lower~                 Put a string on small letters
 Function  ~Midder~                Put a string on 1st letter only capital
^Separators
 Function  ~Str_Count~             Count number of columns in the string
 Function  ~Str_Get~               Get substring in a specified column
 Function  ~Str_Delete~            Delete a column in this string
 Function  ~Str_Insert~            Insert a column in this string
 Function  ~Str_Put~               Put substring in a specified column
^Convert
 Function  ~Str_S2C~               Convert a string to a char
 Function  ~Str_C2S~               Convert a char to a string
 Function  ~Str_A2S~               Convert array to string
 Function  ~Str_Po2S~              Convert an adress to a writetable string
 Function  ~Str_P2S~               Convert pointer to string
 Procedure ~Str_S2P~               Convert string to pointer
 Function  ~Str_D2S~               Convert date to string
 Function  ~Str_S2D~               Convert string to date
 Procedure ~Str_S2PC~              Convert string to pchar
 Function  ~Str_S2H~               Convert string to hexadecimal ascii codes
 Function  ~Str_CorrectChars~      Convert all accentuated chars
^Base convert
 Function  ~Check_Base~            Check if the number is in a correct base
 Function  ~Str_Base2L~            Convert a number from a specified base to a longint
 Function  ~Str_L2Base~            Convert a longint to a specified base
 Function  ~Str_L2H~               Convert a longint to hexadecimal
 Function  ~Str_H2L~               Convert Hexa String to longint
^Crypt_String
 Function  ~Crypt_String~          Crypt & Uncrypt String
 Function  ~Get_CryptKey~          Get a key to Crypt_String
^Miscellaneous
 Function  ~Str_CorrectPath~       return string without '\\' substring
 Function  ~Str_FillZero~          Complete string with zeros
 Function  ~Str_Int~               Get a Number from a string
 Function  ~Str_Replace~           Replace a substring by another string
 Function  ~Str_GetWordNum~        Get the 'th word in the string
 Function  ~Str_CountWords~        Count the number of words in the string
 Function  ~Str_CountItem~         Count how many times the substring is found
 Function  ~Str_Fill~              Fill a string with spaces
 Function  ~Str_Clear~             Clear a string of the spaces
 Function  ~Str_Data2S~            Convert data in memory to a string
 Function  ~Str_Format~            Format a String
 Function  ~Str_Mask~              Build a Mask for a String
 Function  ~Str_PosLast~           Like pos but for last occurence
 Function  ~Str_TestPos~           Test substring position in the string
 Function  ~Str_Cut~               Get a part of the string
 Function  ~Str_Suppr~             Suppress a part of the string
 Function  ~Str_GetWord~           Get a word in a sentence
 Function  ~Str_Center~            Copy a subString in a string but in the middle
 Function  ~Str_CleanSpaces~       Keep only one space between each word
 Function  ~Str_Extract~           Extract a substring witch is between 2 items
 Function  ~Str_Spaces~            Return N spaces string
^Command line
 Function  ~Str_ParamCount~        Make a ParamCount on a string
 Function  ~Str_ParamStr~          Make a ParamStr on a string
 Function  ~Parameter~             Get parameter of command line
 Function  ~Str_Parameter~         Make a parameter on the string
 Function  ~Str_GetCommandLine~    Get the Command Line
^Files Masks
 Function  ~Str_WildCards~         Wilcards apply to a string
 Function  ~Str_FileMask~          Apply a mask on a filename
 Function  ~Str_Extr~              Extract a subdirectory from 2 directory
 Function  ~Str_PathRelative~      Return a relative path
^Not Strings
 Function  ~Max~                   Get max from 2 number
 Function  ~Min~                   Get min from 2 number
 Function  ~Cmp_Date~              Compare 2 dates
:Unit MOS_SWAP
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_SWAP                               Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: JP.PLANAS                                                    
 UPDATED BY.: JP.PLANAS                                                    
 CREATED THE: 01.06.1995                                                   
 COUNTRY....: Perpignan (FRANCE)                                           
 DESCRIPTION: Management of swap ( Allow yours programs to exit to dos     
              with the maximun memory free, like the dos shell of tp7)     
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 340 Lines and (8.320 Bytes compiled)                         
 LAST UPDATE: 19.01.1999 at 11:28                                          

 INCLUDES...: 
 Uses Dos,
      MOS_KBD, MOS_CRT, MOS_VAR,
      MOS_GFX, MOS_BAS, MOS_ASM,
      MOS_MSE, MOS_TOO, MOS_REQ,
      MOS_FIL, MOS_STR;

 Procedure ~Execute_Base~          Execute an external application
 Procedure ~DOS_Shell~             Make a DOS Shell
:Unit MOS_SYS
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_SYS                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: F.Cheveau                                                    
 UPDATED BY.: F.Cheveau                                                    
 CREATED THE: 15.12.1993                                                   
 COUNTRY....: Montpellier - IUT (FRANCE)                                   
 DESCRIPTION: System Parameters Management.                                
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 2.721 Lines and (101.712 Bytes compiled)                     
 LAST UPDATE: 19.01.1999 at 14:53                                          

 INCLUDES...: 
 Uses Dos,
      MOS_VAR, MOS_CRT, MOS_STR,
      MOS_BAS, MOS_MSE, MOS_KBD,
      MOS_ASM, MOS_TOO, MOS_GFX,
      MOS_WAV, MOS_WIN, MOS_GAD,
      MOS_REQ, MOS_EZR, MOS_BLK,
      MOS_DIR, MOS_BMP, MOS_XMS,
      MOS_GPH, MOS_LIS, MOS_DSK,
      MOS_COL, MOS_FIL, MOS_HAR,
      MOS_VESA;

 Function  ~System_Request~        Define MOS system parameters
 Procedure ~DefSys_Mouse~          Define Mouse parameters
 Procedure ~DefSys_Keyboard~       Define Keyboard parameters
 Function  ~DefSys_Screen~         Define Video Modes parameters
 Procedure ~DefSys_Colors~         Define Colors parameters
 Procedure ~DefSys_Misc~           Define Miscellaneous parameters
 Procedure ~DefSys_Blankers~       Define Blankers parameters
 Procedure ~DefSys_Errors~         Define Errors parameters
 Procedure ~DefSys_ErrorsHistory~  Define ErrorsHistory parameters
 Procedure ~DefSys_Fonts~          Define Fonts parameters
 Procedure ~DefSys_Sounds~         Define Sounds parameters
 Procedure ~DefSys_Graphics~       Define Graphics parameters
 Procedure ~DefSys_Locale~         Define Langage parameters
 Procedure ~DefSys_System~         Define System parameters
 Procedure ~DefSys_Network~        Define Network parameters
 Procedure ~DefSys_Security~       Define Security parameters
 Procedure ~DefSys_TimeBelt~       Define TimeBelt parameters
 Function  ~DefSys_Date~           Define Date parameters
 Procedure ~DefSys_Time~           Define Time parameters
 Procedure ~DefSys_Printers~       Define Printer parameters
 Procedure ~Display_RuntimeErrors~ Display Runtime Errors
 Procedure ~Display_MOSErrors~     Display MOS Errors
:Unit MOS_VAR
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_VAR                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: F.Cheveau                                                    
 UPDATED BY.: F.Cheveau                                                    
 CREATED THE: 31.01.1998                                                   
 COUNTRY....: Perpignan (FRANCE)                                           
 DESCRIPTION: Global Constantes, Variables and Structures descriptions.    
 AUTONOMOUS.: Yes                                                          
 UNIT SIZE..: 325 Lines and (7.008 Bytes compiled)                         
 LAST UPDATE: 19.01.1999 at 14:53                                          

 INCLUDES...: NO

:Unit MOS_TSK
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_TSK                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: Frdric Cheveau                                             
 UPDATED BY.: F.Cheveau                                                    
 CREATED THE: 31.01.1998                                                   
 COUNTRY....: Perpignan (FRANCE)                                           
 DESCRIPTION: Manage the MOS system (Errors, main call, tasks...).         
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 579 Lines and (14.032 Bytes compiled)                        
 LAST UPDATE: 19.01.1999 at 14:53                                          

 INCLUDES...: 
 Uses Dos,
      MOS_VAR, MOS_CRT, MOS_STR,
      MOS_BAS, MOS_ASM, MOS_XMS,
      MOS_IPX, MOS_MAT, MOS_MSE,
      MOS_GAD, MOS_TOO, MOS_DSK,
      MOS_GFX, MOS_WAV, MOS_MEN,
      MOS_WIN, MOS_BMP, MOS_REQ,
      MOS_KBD, MOS_EZR, MOS_GPH,
      MOS_FIL, MOS_VESA;

 Procedure ~Execute_MOS~           Execute a MOS program
 Procedure ~Call_System~           Call a MOS library program
 Procedure ~Close_MOS~             Close all imediatly and return to DOS
 Procedure ~Show_Screen~           Display the screen background
 Procedure ~Init_Screen~           Initialise the graphic screen
 Procedure ~Done_Screen~           Restore initial text mode
 Procedure ~Main_TaskBase~         Gre All Main MOS Tasks
:Unit MOS_GAD
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_GAD                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: F.Cheveau                                                    
 UPDATED BY.: F.Cheveau                                                    
 CREATED THE: 15.12.1993                                                   
 COUNTRY....: Montpellier - IUT (FRANCE)                                   
 DESCRIPTION: Miscellaneous gadgets management.                            
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 3.159 Lines and (80.464 Bytes compiled)                      
 LAST UPDATE: 19.01.1999 at 14:53                                          

 INCLUDES...: 
 Uses Dos,
      MOS_VAR, MOS_CRT, MOS_STR,
      MOS_BAS, MOS_ASM, MOS_MSE,
      MOS_KBD, MOS_TOO, MOS_GFX,
      MOS_BMP, MOS_GPH, MOS_VESA;

^Buttons management
 Procedure ~Button~                Define Button
 Procedure ~Button_Draw~           Draw Button
 Procedure ~Button_Freeze~         Freeze Button
 Function  ~Button_GetMsg~         Get Messages from Button
^Cyclers management
 Procedure ~Cycler~                Define Cycler
 Procedure ~Cycler_Draw~           Draw Cycler
 Procedure ~Cycler_Freeze~         Freeze Cycler
 Function  ~Cycler_GetMsg~         Get Messages from Cycler
^RadioBox management
 Procedure ~RadioBox~              Define Radio-box
 Procedure ~RadioBox_Draw~         Draw Radio Box
 Procedure ~RadioBox_Freeze~       Freeze Radio Box
 Function  ~RadioBox_GetMsg~       Get Messages from Radio Box
^Sliders management
 Procedure ~Slider~                Define Slider
 Procedure ~Slider_Draw~           Draw Slider
 Function  ~Slider_GetMsg~         Get Messages from Slider
^InputText management
 Procedure ~InputText~             Define Input Text
 Procedure ~InputText_Draw~        Draw InputText
 Procedure ~InPutText_Freeze~      Freeze Input Text
 Function  ~InputText_GetMsg~      Get Messages from Input Text
^InputSliders management
 Procedure ~InputSlider~           Define InputSlider
 Procedure ~InputSlider_Draw~      Draw InputSlider
 Procedure ~InputSlider_Freeze~    Freeze InputSlider
 Function  ~InputSlider_GetMsg~    Get Messages from InputSlide
^Canvas management
 Procedure ~Canvas~                Define Canvas
 Procedure ~Canvas_Draw~           Draw Canvas
 Procedure ~Canvas_Freeze~         Freeze Canvas
 Function  ~Canvas_GetMsg~         Get Messages from Canvas
^ColorPalette management
 Procedure ~ColorPalette~          Define ColorPalette
 Procedure ~ColorPalette_Draw~     Draw ColorPalette
 Procedure ~ColorPalette_Freeze~   Freeze ColorPalette
 Function  ~ColorPalette_GetMsg~   Get Messages from ColorPalette
^InfoBox management
 Procedure ~InfoBox~               Define Info Box
 Procedure ~InfoBox_Kill~          Kill the Info Box
 Function  ~InfoBox_GetMsg~        Get Messages from Info Box
^Display bitmap images
 Procedure ~DrawGad_Cycler~        Draw cycler image
 Procedure ~DrawGad_LeftArrow~     Draw left arrow image
 Procedure ~DrawGad_RightArrow~    Draw right arrow image
 Procedure ~DrawGad_UpArrow~       Draw up arrow image
 Procedure ~DrawGad_DownArrow~     Draw down arrow image
 Procedure ~DrawGad_Close~         Draw close button image
 Procedure ~DrawGad_Swap~          Draw swap button image
 Procedure ~DrawGad_Extend~        Draw extend button image
 Procedure ~DrawGad_Size~          Draw size button image
 Procedure ~DrawGad_AmigaOkBut~    Draw check image
 Procedure ~DrawGad_CheckOff~      Draw radio set image
 Procedure ~DrawGad_CheckOn~       Draw radio unset image
 Procedure ~DrawGad_Lens~          Draw lens image
 Procedure ~DrawGad_Question~      Draw question image
 Procedure ~DrawGad_File~          Draw standard file image
^Miscellaneous
 Procedure ~Play_Beep~             Display beep and flash screen
:Unit MOS_VESA
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_VESA                               Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: JP.PLANAS                                                    
 UPDATED BY.: JP.PLANAS                                                    
 CREATED THE: Before 1994                                                  
 COUNTRY....: Perpignan (FRANCE)                                           
 DESCRIPTION: Procedures and functions of standard VESA.                   
              This unit manage SVGA mode, the video Card must be VESA.     
              If any problem is found, use UNIVBE.                         
 AUTONOMOUS.: Yes                                                          
 UNIT SIZE..: 780 Lines and (8.320 Bytes compiled)                         
 LAST UPDATE: 19.01.1999 at 11:28                                          

 INCLUDES...: NO

^VESA checks/informations
 Function  ~VESA_TestVBE12~        Test if video is 1.2VBE or more
 Function  ~VESA_Check~            Detects whether VESA support is present
 Procedure ~VESA_GetInfo~          Get Information on VESA modes, etc
 Procedure ~VESA_GetModeInfo~      Get Information on a VESA mode (md)
 Function  ~VESA_GetMode~          Returns the current video mode
 Function  ~VESA_Manufacturer~     Returns the oem name of the video card
 Function  ~VGA_Check~             Return if the video is a VGA
 Function  ~VESA_TestMode~         Return if the mode md exist
 Function  ~Get_VideoMemorySize~   Return video memory size in Kb
 Function  ~Test_TextMode~         Is actual video mode a text mode??
^VESA set modes/informations
 Function  ~VESA_SetInfo~          Initialise variable for a gfx mode
 Function  ~VESA_SetMode~          Sets a video mode (OEM and VESA)
^Video states
 Function  ~VESA_SizeOfVideoState~ Size of buffer to save the video state
 Procedure ~SVGA_SaveVideoState~   Saves SVGA video state in the buffer
 Procedure ~SVGA_RestoreVideoState~ Restores SVGA video state from the buffer
 Function  ~VGA_SizeOfVideoState~  Size of the buffer to save the video state
 Procedure ~VGA_SaveVideoState~    Saves the VGA video state in the buffer
 Procedure ~VGA_RestoreVideoState~ Restores the VGA video state from the buffer
^Banks
 Procedure ~Set_Bank~              Set the video bank to draw on
 Function  ~Get_Bank~              Gets the current active video bank
:Unit MOS_WAV
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_WAV                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: JP.PLANAS and ICF                                            
 UPDATED BY.: Cdric CHAMPETIER                                            
 CREATED THE: 24.01.1996                                                   
 COUNTRY....: Perpignan (FRANCE)                                           
 DESCRIPTION: Management of SOUND BLASTERS Cards.                          
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 809 Lines and (15.184 Bytes compiled)                        
 LAST UPDATE: 19.01.1999 at 11:28                                          

 INCLUDES...: 
 Uses Dos,
      MOS_CRT, MOS_VAR, MOS_FIL;

 Procedure ~Play_WAV~              Play a WAV file on current sound output
 Procedure ~Play_WAVSb~            Play a WAV file on Sound Blaster
 Procedure ~Play_WAVSpeaker~       Play a WAV file on Speaker
 Function  ~Test_WAV~              Test if a file is a WAV file
:Unit MOS_BAS
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_BAS                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: F.Cheveau                                                    
 UPDATED BY.: F.Cheveau                                                    
 CREATED THE: 06.11.1993                                                   
 COUNTRY....: Montpellier - IUT (FRANCE)                                   
 DESCRIPTION: Base and MOS initialisations. Loader.                        
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 1.541 Lines and (53.200 Bytes compiled)                      
 LAST UPDATE: 19.01.1999 at 14:53                                          

 INCLUDES...: 
 Uses  Dos,
       MOS_GPH, MOS_VAR, MOS_DSK,
       MOS_WAV, MOS_INI, MOS_CRT,
       MOS_STR, MOS_IPX, MOS_LFN,
       MOS_XMS, MOS_ASM, MOS_DEB,
       MOS_FIL, MOS_VESA;

^Colors
 Procedure ~Use_Palette~           Use user palette
 Procedure ~Define_Palette~        Define the base palette.
^Fonts
 Procedure ~Set_Font~              Define a new font
 Procedure ~Set_CurrentFont~       Set the current font
 Procedure ~Set_PreviousFont~      Set the previous font
 Procedure ~Set_UserFont~          Define a user font
^File informations
 Function  ~Get_FileInfoLine~      Get file informations
 Function  ~Get_FileType~          Get file type
 Function  ~Get_FileIcon~          Get file icon
^Miscellaneous
 Function  ~ParameterMOS~          Get MOS command line parameter
 Function  ~Loc~                   Get a text from the Locale file
 Procedure ~Change_Language~       Define a new language
 Function  ~Get_SystemPath~        Get the path or a subpath for the system directory
 Function  ~Get_SystemVersion~     Return the installed MOS system version
 Function  ~Test_HigherVersion~    Test if the MOS System version is Higher than the App version
^.INI management
 Procedure ~Init_Gfx~              Graphic init
 Function  ~Load_Config~           Load MOS or software configuration
 Function  ~Save_Config~           Save MOS or software configuration
^Initialisations
 Procedure ~Play_SoundAction~      Play the sound of the action
 Procedure ~INIT_BASE~             Initialise All for Hardware
 Procedure ~DONE_BASE~             Restore All for Hardware
:Unit MOS_XMS
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_XMS                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: JP.PLANAS                                                    
 UPDATED BY.: JP.PLANAS                                                    
 CREATED THE: 19.04.1994                                                   
 COUNTRY....: Perpignan (FRANCE)                                           
 DESCRIPTION: Procedures and functions to manage XMS and HMA.              
 AUTONOMOUS.: Yes                                                          
 UNIT SIZE..: 1.392 Lines and (21.632 Bytes compiled)                      
 LAST UPDATE: 19.01.1999 at 11:29                                          

 INCLUDES...: 
 Uses MOS_GPH, MOS_VESA;

^Low level XMS procedures
 Function  ~XMS_Driver~            XMS Driver Installed ?
 Function  ~XMS_ControlAddress~    Returns Pointer to the XMS Controller
 Function  ~XMS_Version~           Version of the XMS Driver
 Function  ~XMS_Revision~          Returns XMS Revision Number
 Function  ~XMS_GetFreeMem~        Total XMS Memory Free
 Function  ~XMS_GetLargeBlock~     Size of the Largest Free XMS Block
 Function  ~XMS_GetMemory~         Allocate XMS for Program use
 Procedure ~XMS_FreeMemory~        Free Previously Allocated XMS Memory
 Procedure ~XMS_Moveblock~         Move Memory Blocks Around in XMS Memory
 Procedure ~XMS_LockBlock~         Lock an XMS block
 Procedure ~XMS_UnLockBlock~       Unlock a Previously Locked XMS Block
 Procedure ~XMS_Reallocate~        Reallocate and XMS Block
 Function  ~Test_HMA~              Returns Whether or not HMA Exists
 Procedure ~HMA_Request~           Attempt to Reserve the 64k HMA Area for the Caller
 Procedure ~HMA_Release~           Release Previously Allocated HMA
 Procedure ~Global_EnableA20~      Enable the A20 Line. Must have HMA
 Procedure ~Global_DisableA20~     Disable the A20 Line. On Some Systems
 Procedure ~Local_EnableA20~       Enable the A20 Line for current Program
 Procedure ~Local_DisableA20~      Locally Disable the A20 Line
 Function  ~Query_A20~             Test if A20 is Physically Enabled or not
 Function  ~Ptr_To_Long~           Convert a Pointer to a 32 Bit Number
^Use XMS memory like a pointer
 Function  ~XMS_Check~             Check if there is enought XMS memory space
 Procedure ~XMS_GetMem~            Allocate XMS memory
 Procedure ~XMS_Freemem~           Free allocated XMS memory
 Procedure ~RAM_To_XMS~            Tranfer a memory block from RAM to XMS
 Procedure ~XMS_To_RAM~            Transfer a memory block from XMS to RAM
^Use XMS memory like an array
 Function  ~Init_XMSArray~         Initialise XMS array
 Procedure ~End_XMSArray~          Free memory allocated memory by the array
 Procedure ~Get_XMSArray~          Get an item from the array
 Procedure ~Put_XMSArray~          Put an item on the array
^XMS for Graphics
 Procedure ~XMS_GetImage~          Get image from screen
 Procedure ~XMS_PutImage~          Put image on screen
 Procedure ~XMS_FreeBitmap~        Free Allocated memory for bitmap
^XMS Stack
 Function  ~XMS_StackInit~         Initialize the stack
 Procedure ~XMS_StackKill~         Kill the stack
 Function  ~XMS_StackPush~         Put an item on the stack
 Function  ~XMS_StackPop~          Get an item from the stack
 Function  ~XMS_StackTestEmpty~    Test if the stack is empty
^Miscellaneous
 Function  ~XMS_GetHandle~         Get how many handles are free ?
 Function  ~Set_Even~              Convert the longint to an even longint
:Unit MOS_DSK
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_DSK                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: JP.PLANAS                                                    
 UPDATED BY.: JP.PLANAS                                                    
 CREATED THE: 20.07.1998                                                   
 COUNTRY....: Perpignan (FRANCE)                                           
 DESCRIPTION: Disk and files procedures & functions.                       
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 679 Lines and (12.176 Bytes compiled)                        
 LAST UPDATE: 19.01.1999 at 11:29                                          

 INCLUDES...: 
 Uses  Dos,
       MOS_VAR, MOS_STR, MOS_ASM,
       MOS_MEM;

 Function  ~Dsk_Rmdir~             Remove directories
 Function  ~Dsk_TestEmptyDir~      Test if directory is empty
 Function  ~Dsk_ChDir~             Change directory
 Function  ~Dsk_TestDirectory~     Test a directory
 Function  ~Dsk_FExpand~           Get exact path
 Function  ~Dsk_ValideDirectory~   Test the syntax of a path
 Function  ~Dsk_GetCurrentDirectory~ Get current directory
 Function  ~Dsk_GetParentDirectory~ Get parent directory
 Function  ~Dsk_CreateDirectory~   Create directories
 Function  ~Dsk_TestRoot~          Test if the path is the root
 Function  ~Dsk_GetHome~           Get directory of launch
^Disk
 Function  ~Dsk_TestWritableDrive~ Test if you can write on a drive
 Function  ~Dsk_GetCurrentDrv~     Return Current drive
 Function  ~Dsk_GetFirstFloppyDrive~ With drive is the first
 Procedure ~Dsk_MakeFirstFloppyDrive~ Set first drive
 Function  ~Dsk_GetNumOfFloppyDrives~ How many floppy drives are installed ?
 Function  ~Dsk_GetNumOfDrives~    How many drives installed ?
 Function  ~Dsk_TestDeviceExist~   Test if device exist
 Function  ~Dsk_TestPhysicDevice~  Hardware Device or not
 Function  ~Dsk_TestLocalDevice~   Local or Remote Device ?
 Function  ~Dsk_GetDeviceName~     Return the label of a disk
 Procedure ~Dsk_ParkDevice~        Park Head of hard disk C and D
^Miscellaneous
 Procedure ~Set_Env~               Set Dos environment variable
:Unit MOS_WIN
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_WIN                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: F.Cheveau                                                    
 UPDATED BY.: F.Cheveau                                                    
 CREATED THE: 15.12.1993                                                   
 COUNTRY....: Montpellier - IUT (FRANCE)                                   
 DESCRIPTION: Windows Management.                                          
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 1.272 Lines and (32.368 Bytes compiled)                      
 LAST UPDATE: 19.01.1999 at 14:53                                          

 INCLUDES...: 
 Uses MOS_VAR, MOS_CRT, MOS_XMS,
      MOS_BAS, MOS_ASM, MOS_TOO,
      MOS_MSE, MOS_KBD, MOS_GAD,
      MOS_GPH, MOS_GFX, MOS_VESA;

 Procedure ~Win_Init~              Define a window
 Procedure ~Win_Sup~               Define more parameters
 Procedure ~Win_Kill~              Kill the window
 Procedure ~Win_Draw~              Draw the Window
 Function  ~Win_Test~              Manage the window
 Procedure ~Win_Clip~              Clip the window
 Procedure ~Win_Zoom~              Made a zoom on the window
 Procedure ~Win_IdCmp~             Modify window's IDCMP
 Procedure ~Win_IdRes~             Modify window's IDRES
 Procedure ~Win_Clear~             Clear the window (Clrscr)
 Procedure ~Win_Rename~            Modify window title
 Procedure ~Win_TitleShade~        Build window title shade
 Function  ~Win_Ready~             Test if window is ready
:Unit MOS_REQ
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_REQ                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: F.Cheveau & A.Auzeill as Zuul And Falcon.                    
 UPDATED BY.: F.Cheveau                                                    
 CREATED THE: 15.12.1993                                                   
 COUNTRY....: Montpellier - IUT (FRANCE)                                   
 DESCRIPTION: Mathematics Functions Management.                            
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 2.181 Lines and (74.320 Bytes compiled)                      
 LAST UPDATE: 19.01.1999 at 14:53                                          

 INCLUDES...: 
 Uses Dos,
      MOS_VAR, MOS_CRT, MOS_STR,
      MOS_BAS, MOS_ASM, MOS_XMS,
      MOS_IPX, MOS_MAT, MOS_MSE,
      MOS_GAD, MOS_OCG, MOS_TOO,
      MOS_GFX, MOS_WAV, MOS_MEN,
      MOS_WIN, MOS_BMP, MOS_EZR,
      MOS_DIR, MOS_LIS, MOS_GPH,
      MOS_DSK, MOS_FIL, MOS_VESA;

^Miscellaneous requesters
 Function  ~Req_Calculator~        Calculator requester
 Procedure ~Req_Font~              Font viewer requester
 Procedure ~Req_Palette~           Palette and Colors Management
 Procedure ~Req_Pattern~           Patten management
 Procedure ~Req_Progress~          Percentage progression requester
 Procedure ~Req_ProgressInit~      
 Procedure ~Req_DisplayWinBMP~     Display a BMP in a window
 Procedure ~Req_Register~          Display The Register MOS Requester
 Procedure ~Req_DisplayClock~      Display a clock
^Network requesters
 Procedure ~Net_Main~              Network Management Main Requester
 Procedure ~Net_ServerInfos~       Display information about the server
 Procedure ~Net_Login~             Login connection
 Procedure ~Net_Connection~        Connection information
 Function  ~Net_SessionUserList~   Logged users list
 Procedure ~Net_Messages~          Messages management
:Unit MOS_FIL
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_FIL                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: JP.PLANAS                                                    
 UPDATED BY.: JP.PLANAS                                                    
 CREATED THE: 12.11.1998                                                   
 COUNTRY....: Perpignan (FRANCE)                                           
 DESCRIPTION: Files procedures & functions.                                
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 1.307 Lines and (27.600 Bytes compiled)                      
 LAST UPDATE: 19.01.1999 at 11:29                                          

 INCLUDES...: 
 Uses  Dos,
       MOS_STR, MOS_ASM, MOS_DSK,
       MOS_MEM;

^FindFirst/FindNext
 Procedure ~RFindFirst~            Recursive FindFirst
 Procedure ~RFindNext~             Recursive FindNext
 Procedure ~RFindDone~             End the use of FindFirst
 Function  ~RFindEnd~              Test if FindNext ended
 Function  ~File_GetNb~            How many files ??
 Procedure ~File_Deltree~          Make a Deltree
 Procedure ~File_FindBreak~        Break the File_Find procedure when running
 Procedure ~File_Find~             Get files with recurse
^Files
 Function  ~File_TargetFileName~   Get Target file name
 Function  ~File_TestExist~        Test if the file exist
 Function  ~File_TestHeader~       Test if file have a good header
 Function  ~File_GetSize~          Get the size of a file
 Function  ~File_BuildNextName~    Get new name for output file
 Function  ~File_Erase~            Delete a File
 Function  ~File_Replace~          Replace a file
 Function  ~File_Rename~           Rename a file
 Procedure ~File_Split~            Get path and mask from a string
 Function  ~File_Copy~             Copy of file
 Function  ~File_Comp~             Compare 2 files
 Procedure ~File_ClearBlankLines~  Delete blank lines in a file
 Function  ~File_GetLine~          Get the string of a line in file
 Function  ~File_CountLines~       Count the number of lines of a file
 Function  ~File_AppendStr~        Add a string in a text file
 Function  ~File_GetLongString~    Get longest string of the file
 Function  ~File_Create~           Create an empty file
 Function  ~File_TestString~       Test if string is in file
 Procedure ~File_XAttrib~          Change the attributes of the files
:Unit MOS_CAR
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_CAR                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: Frdric Cheveau                                             
 UPDATED BY.: F.Cheveau                                                    
 CREATED THE: 26.12.1998                                                   
 COUNTRY....: Perpignan (FRANCE)                                           
 DESCRIPTION: Playing Cards management Unit.                               
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 520 Lines and (12.848 Bytes compiled)                        
 LAST UPDATE: 19.01.1999 at 14:53                                          

 INCLUDES...: 
 Uses Dos,
      MOS_GPH, MOS_VAR, MOS_BAS,
      MOS_CRT, MOS_STR, MOS_XMS,
      MOS_ASM, MOS_MSE, MOS_GAD,
      MOS_TOO, MOS_KBD, MOS_BMP,
      MOS_WIN, MOS_LIS, MOS_FIL,
      MOS_VESA;

^Cards parameters functions
 Function  ~Card_DefineBack~       Requester to define a card back
^Cards management functions
 Procedure ~Card_Define~           Define a card parameters
 Function  ~Card_GetFileName~      Get the attached filename for a card
 Function  ~Card_GetIdent~         Return "Ident" field for a card
 Function  ~Card_GetRecto~         Return "Recto" field for a card
 Procedure ~Card_Mix~              Mix the game
 Procedure ~Card_NewGame~          Build a new game with cards
 Procedure ~Card_SetMaximum~       Define 32 or 52 cards game
 Procedure ~Card_SetRecto~         Define the "Recto" field
 Procedure ~Card_SetIdent~         Define the "Ident" field
 Procedure ~Card_SetPosition~      Define new card position
 Procedure ~Card_SetMovable~       Define if the card is movable
 Procedure ~Card_SetHide~          Define if the card is visible
 Procedure ~Card_Hide~             Hide the card on screen
 Procedure ~Card_Display~          Display the card on screen
 Procedure ~Card_Toggle~           Display the card toggled
 Function  ~Card_TestMouseOver~    Test if mouse is over a card
:Unit MOS_HPT
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_HPT                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: F.Cheveau                                                    
 UPDATED BY.: F.Cheveau                                                    
 CREATED THE: 20.12.1998                                                   
 COUNTRY....: Perpignan - (FRANCE)                                         
 DESCRIPTION: Text and Hypertext management.                               
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 30 Lines and (544 Bytes compiled)                            
 LAST UPDATE: 19.01.1999 at 14:53                                          

 INCLUDES...: 
 Uses Dos;

:Unit MOS_MEM
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_MEM                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: JP.Planas                                                    
 UPDATED BY.: JP.Planas                                                    
 CREATED THE: 22.12.1998                                                   
 COUNTRY....: Perpignan                                                    
 DESCRIPTION: MEMORY MANAGEMENT.                                           
 AUTONOMOUS.: Yes                                                          
 UNIT SIZE..: 221 Lines and (3.536 Bytes compiled)                         
 LAST UPDATE: 19.01.1999 at 11:29                                          

 INCLUDES...: NO

^Pointers management
 Procedure ~Incp~                  Increment a pointer
 Procedure ~Decp~                  Decrement a pointer
^Stack
 Function  ~Stack_Init~            Initialize the stack
 Procedure ~Stack_Kill~            Kill the stack
 Function  ~Stack_Push~            Put an item on the stack
 Function  ~Stack_Pop~             Get an item from the stack
 Function  ~Stack_TestEmpty~       Test if the stack is empty
 Function  ~Stack_TestFull~        Test if the stack is full
 Procedure ~Stack_Read~            Read an item from the stack
:Unit MOS_GAT
^ΙΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝ»
^Ί                               UNIT MOS_GAT                                Ί
^ΘΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΝΌ

 CREATOR....: Frdric Cheveau                                             
 UPDATED BY.: F.Cheveau                                                    
 CREATED THE: 26.12.1998                                                   
 COUNTRY....: Perpignan (FRANCE)                                           
 DESCRIPTION: Graphic Assistant Unit.                                      
 AUTONOMOUS.: No                                                           
 UNIT SIZE..: 68 Lines and (1.120 Bytes compiled)                          
 LAST UPDATE: 19.01.1999 at 14:53                                          

 INCLUDES...: 
 Uses Dos,
      MOS_GPH, MOS_VAR, MOS_BAS,
      MOS_CRT, MOS_STR, MOS_XMS,
      MOS_ASM, MOS_MSE, MOS_GAD,
      MOS_TOO, MOS_KBD, MOS_BMP,
      MOS_WIN, MOS_LIS, MOS_FIL,
      MOS_VESA;

