Subversion Repositories Kolibri OS

Rev

Rev 581 | Rev 1056 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ;
  2. ;   MEMORY MAP
  3. ;
  4. ;   Boot:
  5. ;
  6. ;   0:9000     byte   bits per pixel
  7. ;   0:9001     word   scanline length
  8. ;   0:9008     word   vesa video mode
  9. ;   0:900A     word   X res
  10. ;   0:900C     word   Y res
  11. ;   0:9010     byte   mouse port  - not used
  12. ;   0:9014     dword  Vesa 1.2 pm bank switch
  13. ;   0:9018     dword  Vesa 2.0 LFB address
  14. ;   0:901C     byte   0 or 1 : enable MTRR graphics acceleration
  15. ;   0:901D     byte   not used anymore (0 or 1 : enable system log display)
  16. ;   0:901E     byte   0 or 1 : enable direct lfb write, paging disabled
  17. ;   0:901F     byte   DMA write : 1=yes, 2=no
  18. ;   0:9020     8bytes pci data
  19. ;   0:9030     byte   VRR start enabled 1, 2-no
  20. ;   0:9031     word   IDEContrRegsBaseAddr
  21. ;    0x9040 - dword - entry point of APM BIOS
  22. ;    0x9044 -  word - version (BCD)
  23. ;    0x9046 -  word - flags
  24. ;   0:907F     byte   number of BIOS hard disks
  25. ;   0:9080     Nbytes BIOS hard disks
  26. ;
  27. ;   Runtime:
  28. ;
  29. ; 0x00000000 -> 0x7FFFFFFF  application 2Gb
  30.  
  31. ; 0x80000000 -> 1FFF   window_data   - 256 entries
  32. ;
  33. ;         0000 dword  x start
  34. ;         0004 dword  y start
  35. ;         0008 dword  x size
  36. ;         000C dword  y size
  37. ;         0010 dword  color of work area
  38. ;         0014 dword  color of grab bar
  39. ;         0018 dword  color of frames
  40. ;         001C dword  window flags, +30 = window drawn, +31 redraw flag
  41. ;
  42. ;   2000  ->   2FFF   free
  43. ;
  44. ;   3000  ->   4FFF   task list      - 256 entries
  45. ;
  46. ;         00   dword  process count
  47. ;         04   dword  no of processes
  48. ;         10   dword  base of running process at 0x3000+
  49. ;
  50. ;         20   dword  application event mask
  51. ;         24   dword  PID - process identification number
  52. ;         2a   byte   slot state: 0=running, 1,2=suspended
  53. ;                        3=zombie, 4=terminate,
  54. ;                        5=waiting for event, 9 = not used
  55. ;         2e   byte   window number on screen
  56. ;         30   dword  exact position in memory
  57. ;         34   dword  counter sum
  58. ;         38   dword  time stamp counter add
  59. ;         3c   dword  cpu usage in cpu timer tics
  60. ;
  61. ;
  62. ;   5000  ->   68FF   free
  63. ;   6900  ->   6EFF   saved picture under mouse pointer
  64. ;
  65. ;   6F00  ->   6FFF   free
  66. ;
  67. ;   7000  ->   7FFF   used CD driver
  68. ;
  69. ;   8000  ->   A3FF   used FLOPPY driver
  70. ;
  71. ;   A400  ->   B0FF   free
  72.  
  73. ;   B100  ->   B2FF   IDT
  74.  
  75. ;   B300  ->   BFFF   free
  76.  
  77. ;   C000  ->   C3FF   window stack C000 no of windows - all in words
  78. ;   C402  ->   C7FF   window position in stack
  79. ;   D000  ->   D1FF   FDC controller
  80. ;   D200  ->   D3FF   FDC controller for Fat12
  81. ;   D400  ->   DFFF   free
  82. ;   E000  byte        multitasking started
  83. ;   E020  dword       putpixel address
  84. ;   E024  dword       getpixel address
  85. ;   E030  dword       Vesa 1.2 pm bank switch address
  86. ;   F200  dword       mousepicture -pointer
  87. ;   F204  dword       mouse appearance counter
  88. ;   F300  dword       x & y temp for windowmove
  89. ;   F400  byte        no of keys in buffer
  90. ;   F401  byte        'buffer'
  91. ;   F402  ->   F4FF   reserved for keys
  92. ;   F500  byte        no of buttons in buffer
  93. ;   F501  dword       'buffer'
  94. ;   F502  ->   F5FF   reserved for buttons
  95. ;   F600  dword       tsc / second
  96. ;   F604  byte        mouse port: 1 ps2, 2 com1, 3 com2
  97. ;   FB00  ->   FB0F   mouse memory 00 chunk count - FB0A-B x - FB0C-D y
  98. ;   FB10  ->   FB17   mouse color mem
  99. ;   FB21              x move
  100. ;   FB22              y move
  101. ;   FB28              high bits temp
  102. ;   FB30              color temp
  103. ;   FB40  byte        buttons down
  104. ;   FB44  byte        0 mouse down -> do not draw
  105. ;   FB4A  ->   FB4D   FB4A-B x-under - FB4C-D y-under
  106. ;   FBF1  byte        bits per pixel
  107. ;   FC00  ->   FCFE   com1/ps2 buffer
  108. ;   FCFF              com1/ps2 buffer count starting from FC00
  109. ;   FE00  dword       screen x size
  110. ;   FE04  dword       screen y size
  111. ;   FE08  dword       screen y multiplier
  112. ;   FE0C  dword       screen mode
  113. ;   FE80  dword       address of LFB in physical
  114. ;   FE84  dword       address of applications memory start in physical
  115. ;   FE88  dword       address of button list
  116. ;   FE8C  dword       memory to use
  117. ;   FF00  byte        1 = system shutdown request
  118. ;   FF01  dword       free
  119. ;   FFF0  byte        1 = redraw background request from app
  120. ;   FFF1  byte        1 = diskette int occur
  121. ;   FFF2              write and read bank in screen
  122. ;   FFF4  byte        0 if first mouse draw & do not return picture under
  123. ;   FFF5  byte        1 do not draw pointer
  124. ;   FFFF  byte        do not change task for 1/100 sec.
  125. ;
  126. ; 0x80010000 ->  6CBFF   kernel, 32-bit run-time code (up to 371 Kb)
  127.  
  128. ; 0x8006CC00 ->  6DBFF   stack at boot time (4Kb)
  129. ;
  130. ; 0x8006DC00 ->  6E5FF   basic text font II
  131. ; 0x8006E600 ->  6Efff   basic text font I
  132. ; 0x8006F000 ->  6FFFF   main page directory
  133.  
  134. ; 0x80070000 ->  7FFFF   data of retrieved disks and partitions (Mario79)
  135. ; 0x80080000 ->  8FFFF   additional app info, in 256 byte steps - 256 entries
  136. ;
  137. ;         00  11db  name of app running
  138. ;       0x10 dword  pointer to  fpu save area
  139. ;       0x14 dword  event count
  140. ;       0x18 dword  user fpu exceptoins handler
  141. ;       0x1c dword  user sse exceptions handler
  142. ;         20 dword  PL0 stack base
  143. ;         24 dword  user heap base
  144. ;         28 dword  user heap top
  145. ;         2c dword  window cursor handle
  146. ;         30 dword  first event in list
  147. ;         34 dword  last event in list
  148. ;         38 dword  first kernel object in list
  149. ;         3c dword  last kernel object in list
  150. ;         40 dword  thread esp
  151. ;         44 dword  io permission map page 0
  152. ;         48 dword  io permission map page 1
  153. ;         4c dword  debug state: 1= load debug registers
  154. ;         50 dword  current directory ptr
  155. ;         54 dword  wait timeout
  156. ;         58 dword  thread TSS._esp0 (= pl0 stack base + size except for V86)
  157. ;         5C-7F     unused
  158. ;
  159. ;         80 dword  address of random shaped window area
  160. ;         84 byte   shape area scale
  161. ;         88 dword  free
  162. ;         8C dword  application memory size
  163. ;         90 dword  window X position save
  164. ;         94 dword  window Y position save
  165. ;         98 dword  window X size save
  166. ;         9C dword  window Y size save
  167. ;         A0 dword  IPC memory start
  168. ;         A4 dword  IPC memory size
  169. ;         A8 dword  event bits: mouse, stack,..
  170. ;         AC dword  0 or debugger slot
  171. ;         B0 dword  free
  172. ;         B4  byte  keyboard mode: 0 = keymap, 1 = scancodes
  173. ;         B8 dword  physical address of directory table
  174. ;         BC dword  address of debug event memory
  175. ;         C0  5 dd  thread debug registers: DR0,DR1,DR2,DR3,DR7
  176. ;
  177. ; 0x80090000 ->  9FFFF   tmp
  178. ; 0x800A0000 ->  AFFFF   screen access area
  179. ; 0x800B0000 ->  FFFFF   bios rest in peace -area
  180. ; 0x80100000 -> 27FFFF   diskette image
  181. ; 0x80280000 -> 281FFF   ramdisk fat
  182. ; 0x80282000 -> 283FFF   floppy  fat
  183. ;
  184. ; 0x80284000 -> 28BFFF   HDD DMA AREA
  185. ; 0x8028C000 -> 297FFF   free (48 Kb)
  186. ;
  187. ; 0x80298000 -> 29ffff   auxiliary table for background smoothing code
  188. ;
  189. ; 0x802A0000 -> 2B00ff   wav device data
  190. ; 0x802C0000 -> 2C3fff   button info
  191. ;
  192. ;       0000 word    number of buttons
  193. ;        first button entry at 0x10
  194. ;       +0000 word   process number
  195. ;       +0002 word   button id number : bits 00-15
  196. ;       +0004 word   x start
  197. ;       +0006 word   x size
  198. ;       +0008 word   y start
  199. ;       +000A word   y size
  200. ;       +000C word   button id number : bits 16-31
  201. ;
  202. ; 0x802C4000 -> 2CFFFF   free (48Kb)
  203. ;
  204. ; 0x802D0000 -> 2DFFFF   reserved port area
  205. ;
  206. ;       0000 dword   no of port areas reserved
  207. ;       0010 dword   process id
  208. ;            dword   start port
  209. ;            dword   end port
  210. ;            dword   0
  211. ;
  212. ; 0x802E0000 -> 2EFFFF   irq data area
  213. ; 0x802F0000 -> 2FFFFF   low memory save
  214. ;
  215. ; 0x80300000 -> 31FFFF   tcp memory       128 Kb
  216. ; 0x80320000 -> 327FFF   tcp memory        32 Kb
  217. ;
  218. ; 0x80328000 -> 32FFFF   !vrr driver       32 Kb
  219.  
  220. ; 0x80330000 -> 377FFF   skin data
  221.  
  222. ; 0x80338000 -> 33AFFF draw data     - 256 entries
  223. ;         00   dword  draw limit - x start
  224. ;         04   dword  draw limit - y start
  225. ;         08   dword  draw limit - x end
  226. ;         0C   dword  draw limit - y end
  227.  
  228. ; 0x8033C000 -> 47BFFF   display info
  229.  
  230. ; 0x8047CF80 -> 47CFFF TSS            128 bytes
  231. ; 0x8047D000 -> 47EFFF IO map for (8192*8)=65536 ports
  232.  
  233. ; 0x8047F000 -> 48FFFF   page map     max 128 Kb
  234. ;
  235.  
  236. ; 0x80800000 ->       kernel heap
  237. ; 0x81FFFFFF          heap min limit
  238. ; 0xFDBFFFFF          heap max limit
  239.  
  240. ; 0xFDC00000 -> 0xFDFFFFFF  page tables 4Mb
  241. ; 0xFE000000 -> 0xFFFFFFFF  LFB 32Mb
  242. ; 0xFE000000 -> 0xFE7FFFFF  application available LFB 8Mb
  243. ; 0xFE800000 -> 0xFFFFFFFF  kernel LFB part 24 Mb
  244.  
  245.  
  246.