home *** CD-ROM | disk | FTP | other *** search
/ Groovy Bytes: Behind the Moon / groovybytes.iso / GROOVY / SND_TOOL / CDMP16.ZIP / SOURCE.ZIP / EXT386.INC < prev    next >
Encoding:
Text File  |  1995-01-20  |  3.4 KB  |  104 lines

  1. ;[]------------------------------------------------------------------------[]
  2. ;|                                                                          |
  3. ;| (c) 1993,1994 by Marc van Shaney , aka Kaya Memisoglu                    |
  4. ;|                                                                          |
  5. ;| Dieser Assembler-Source-Code unterliegt dem Urheberrecht von Kaya        |
  6. ;| Memisoglu und darf auch nur mit seiner schriftlichen Genehmigung         |
  7. ;| in kommerziellen Programmen verwendet werden.                            |
  8. ;| Ich übernehme keinerlei Verantwortung für eventuelle Schäden,die dieses  |
  9. ;| Programm verursacht.                                                     |
  10. ;|                                                                          |
  11. ;|                                                                          |
  12. ;| 18.12.1994 Kaya Memisoglu                                                |
  13. ;|                                                                          |
  14. ;[]------------------------------------------------------------------------[]
  15. ;
  16. ; This DOS-Extender works in the 386-FLAT model, a memory model, where you
  17. ; can access the whole 4GB in real mode with the 32-bit registers.
  18. ; The extender also gives you some basic I/O funcions for disk-operations
  19. ; beyoond 1MB.
  20. ; Note that this DOS-Extender is only useful when you write in Assembler,
  21. ; because you CANNOT access the 4GB with a normal programming language.
  22. ; But if you still want to use the memory with Borland C++, then I have
  23. ; also written some memory-transfer routines (Memcpy etc.).
  24. ;
  25. ; In order to support real-mode compilers, the code will NOT be executed in
  26. ; the FLAT-modell, you MUST still use 16-bit code (meaning that you MUST NOT
  27. ; use SS:ESP and CS:EIP unless you are pretty sure what you are doing. But
  28. ; remember that all procedures in EXT386.ASM are 16-bit code !!!)
  29. ;
  30.  
  31. O_RDONLY             equ    1
  32. O_WRONLY             equ    2
  33. O_RDWR               equ    4
  34.  
  35. SEEK_SET        equ    0
  36. SEEK_CUR        equ     1
  37. SEEK_END        equ     2
  38.  
  39. EXIT_ON_LOWMEM        equ    1
  40. DISPLAY_INFO        equ    2
  41. USE_UMB            equ    4
  42. EXIT_ON_RESET        equ    8
  43. VERBOSE_RESET        equ    16
  44. VERBOSE_PAUSE        equ    32
  45.  
  46.  
  47. ALREADY_IN_v86        equ    -4
  48. NO_HIMEM        equ    -5
  49. NO_386            equ    -6
  50. NOT_ENOUGH_XMS        equ    -7
  51. HIMEM_PROBLEM        equ    -8
  52. NO_DPMI            equ    -9
  53. NOT_ENOUGH_RAM        equ    -10
  54. NO_DPMI32        equ    -11
  55. EXT386_MODIFIED        equ    -12
  56. TRUE            equ    1
  57. FALSE            equ    -1
  58.  
  59. BLOCK_MAGIC        equ    04d4bh
  60. FREE_BLOCK        equ    1
  61. LAST_BLOCK        equ    2
  62.  
  63. ON              equ    1
  64. OFF            equ    0
  65.  
  66. DESCRIPTOR STRUC               ; Strukturtyp für den Deskriptor
  67.            LIMIT0_15       DW ?    ; Segmentgröße  0-15
  68.            BASIS0_15       DW ?    ; Basisadresse  0-15
  69.            BASIS16_23      DB ?    ; Basisadresse 16-23
  70.            ZUGRIFF         DB ?    ; Zugriffsrechte
  71.            EXTRA           DB ?    ; Zusätzliche Segmentinfo
  72.            BASIS24_31      DB ?    ; Basisadresse 24-31
  73. DESCRIPTOR ENDS
  74.  
  75.  
  76.  
  77. ifndef EXT386_SYSTEM_FILE
  78.  
  79. EXTRN C Init_EXT386:PROC
  80. EXTRN C Exit_EXT386:PROC
  81.  
  82. EXTRN C Malloc:PROC         ;Speicherreservierung,so daß kein Crash ent-
  83. EXTRN C DMA_Malloc:PROC        ;stehen kann durch Inkompatbilitäten.
  84. EXTRN C Free:PROC
  85. EXTRN C Coreleft:PROC
  86. EXTRN C EXT_alloc:PROC
  87. EXTRN C EXT_free:PROC
  88. EXTRN C EXT_coreleft:PROC
  89.  
  90. EXTRN C Open:PROC
  91. EXTRN C Close:PROC
  92. EXTRN C Creat:PROC
  93. EXTRN C Seek:PROC
  94. EXTRN C Read:PROC
  95. EXTRN C Write:PROC
  96. EXTRN C Tell:PROC
  97.  
  98. EXTRN C Memcpy:PROC
  99. EXTRN C Memcmp:PROC
  100. EXTRN C Memset:PROC
  101. EXTRN C Memchr:PROC
  102.  
  103. endif
  104.