forked from KolibriOS/kolibrios
d8e9ce1559
git-svn-id: svn://kolibrios.org@1 a494cfbc-eb01-0410-851d-a64ba20cac60
240 lines
8.5 KiB
PHP
240 lines
8.5 KiB
PHP
;
|
|
; MEMORY MAP
|
|
;
|
|
; Boot:
|
|
;
|
|
; 0:9000 byte bits per pixel
|
|
; 0:9001 word scanline length
|
|
; 0:9008 word vesa video mode
|
|
; 0:900A word X res
|
|
; 0:900C word Y res
|
|
; 0:9010 byte mouse port - not used
|
|
; 0:9014 dword Vesa 1.2 pm bank switch
|
|
; 0:9018 dword Vesa 2.0 LFB address
|
|
; 0:901C byte 0 or 1 : enable MTRR graphics acceleration
|
|
; 0:901D byte not used anymore (0 or 1 : enable system log display)
|
|
; 0:901E byte 0 or 1 : enable direct lfb write, paging disabled
|
|
; 0:9020 8bytes pci data
|
|
; 0:9030 byte VRR start enabled 1, 2-no
|
|
; 0:9031 word IDEContrRegsBaseAddr
|
|
;
|
|
;
|
|
; Runtime:
|
|
;
|
|
; 0000 -> 2FFF window_data - 256 entries
|
|
;
|
|
; 0000 dword x start
|
|
; 0004 dword y start
|
|
; 0008 dword x size
|
|
; 000C dword y size
|
|
; 0010 dword color of work area
|
|
; 0014 dword color of grab bar
|
|
; 0018 dword color of frames
|
|
; 001C dword window flags, +30 = window drawn, +31 redraw flag
|
|
;
|
|
; 3000 -> 4FFF task list - 256 entries
|
|
;
|
|
; 00 dword process count
|
|
; 04 dword no of processes
|
|
; 10 dword base of running process at 0x3000+
|
|
;
|
|
; 20 dword application event mask
|
|
; 24 dword PID - process identification number
|
|
; 2a word 0, state 3=zombie, 4=terminate
|
|
; 2e byte window number on screen
|
|
; 30 dword exact position in memory
|
|
; 34 dword counter sum
|
|
; 38 dword time stamp counter add
|
|
; 3c dword cpu usage in cpu timer tics
|
|
;
|
|
; -> delete -> 5000 -> AFFF free
|
|
;
|
|
;!!!
|
|
; 5000 -> 5FFF save_syscall_data - syscall trace
|
|
; 6000 -> 63FF reg1 array - for i40 (first parts of saved TSS descriptor)
|
|
; 6400 -> 67FF reg2 array - same thing, second part
|
|
; 6800 -> 68FF used i40 (1 if used, 0 if free), first element not used
|
|
; 6900 -> 6EFF saved picture under mouse pointer
|
|
;
|
|
; 6F00 -> 7FFF i38 stack (4,25Kb)
|
|
;
|
|
; 8000 -> A3FF used FLOPPY driver
|
|
;
|
|
; A400 -> AFFF free
|
|
;
|
|
; B000 -> B005 jump address for irq0 (task switch)
|
|
; B008 -> B00B count of ticks remaining to updating CPU usage info
|
|
;
|
|
; B060 -> B07F fpu error handler's stack
|
|
; B080 -> B0FF fpu_tss -> temporary TSS for FPU context switching
|
|
; B100 -> B2FF IDT
|
|
; B300 -> BAFF tasknum array - for i40 handler
|
|
; BB00 -> BEFF free
|
|
;!!!
|
|
|
|
; BF00 -> BFFF bytes, 1 if process running/memory in use
|
|
; C000 -> C3FF window stack C000 no of windows - all in words
|
|
; C402 -> C7FF window position in stack
|
|
; D000 -> D1FF FDC controller
|
|
; D200 -> D3FF FDC controller for Fat12
|
|
; D400 -> DFFF free
|
|
; E000 byte multitasking started
|
|
; E004 dword save for boot mem 0x24
|
|
; E010 dword pm bank switch address
|
|
; E014 dword window multiplier
|
|
; E020 dword putpixel address
|
|
; E024 dword getpixel address
|
|
; E030 dword Vesa 1.2 pm bank switch address
|
|
; F000 dword hd partition 1 start
|
|
; F004 dword root start at partition 1
|
|
; F008 dword root start at hd
|
|
; F100 byte 1=only os draw on screen
|
|
; F200 dword mousepicture -pointer
|
|
; F204 dword mouse appearance counter
|
|
; F300 dword x & y temp for windowmove
|
|
; F400 byte no of keys in buffer
|
|
; F401 byte 'buffer'
|
|
; F402 -> F4FF reserved for keys
|
|
; F500 byte no of buttons in buffer
|
|
; F501 dword 'buffer'
|
|
; F502 -> F5FF reserved for buttons
|
|
; F600 dword tsc / second
|
|
; F604 byte mouse port: 1 ps2, 2 com1, 3 com2
|
|
; FB00 -> FB0F mouse memory 00 chunk count - FB0A-B x - FB0C-D y
|
|
; FB10 -> FB17 mouse color mem
|
|
; FB21 x move
|
|
; FB22 y move
|
|
; FB28 high bits temp
|
|
; FB30 color temp
|
|
; FB40 byte buttons down
|
|
; FB44 byte 0 mouse down -> do not draw
|
|
; FB4A -> FB4D FB4A-B x-under - FB4C-D y-under
|
|
; FBF0 byte multiplied window
|
|
; FBF1 byte bits per pixel
|
|
; FC00 -> FCFE com1/ps2 buffer
|
|
; FCFF com1/ps2 buffer count starting from FC00
|
|
; FDF0 -> FDF3 timer tick inc every 1/100 sec 4 bytes
|
|
; FE00 dword screen x size
|
|
; FE04 dword screen y size
|
|
; FE08 dword screen y multiplier
|
|
; FE0C dword screen mode
|
|
; FE10 dword entries in hd cache
|
|
; FE80 dword address of LFB in physical
|
|
; FE84 dword address of applications memory start in physical
|
|
; FE88 dword address of button list
|
|
; FE8C dword memory to use
|
|
; FF00 byte 1 = system shutdown request
|
|
; FF01 dword if >1 then activate process
|
|
; FFF0 byte 1 = redraw background request from app
|
|
; FFF1 byte 1 = diskette int occur
|
|
; FFF2 write and read bank in screen
|
|
; FFF4 byte 0 if first mouse draw & do not return picture under
|
|
; FFF5 byte 1 do not draw pointer
|
|
; FFFF byte do not change task for 1/100 sec.
|
|
;
|
|
; 10000 -> 1FFFF 32 bit os
|
|
; 20000 -> 2FFFF 32 bit stack
|
|
; 30000 -> 36FFF basic text font II
|
|
; 37000 -> 3BFFF basic text font I
|
|
; 40000 -> 4FFFF data of retrieved disks and partitions (Mario79)
|
|
; 50000 -> 500FF TSS of scheduler
|
|
; 51000 -> 54000 esp0,esp1,esp2
|
|
; 5F000 -> 5FFFF schedulers stack
|
|
; 60000 -> 7FFFF paging tables
|
|
; 80000 -> 8FFFF additional app info, in 256 byte steps - 256 entries
|
|
;
|
|
; 00 11db name of app running
|
|
; 10 108db floating point unit save area
|
|
; 7f byte 0= no fpu saved , 1= fpu saved to 0x10 -> restore
|
|
; 80 dword address of random shaped window area
|
|
; 84 byte shape area scale
|
|
; 88 dword used GDT of TSS
|
|
; 8C dword application memory size
|
|
; 90 dword window X position save
|
|
; 94 dword window Y position save
|
|
; 98 dword window X size save
|
|
; 9C dword window Y size save
|
|
; A0 dword IPC memory start
|
|
; A4 dword IPC memory size
|
|
; A8 dword event bits: mouse, stack,..
|
|
;
|
|
; B0 dword int40 handler in use ; 0 if not in use
|
|
; B4 byte keyboard mode: 0 = keymap, 1 = scancodes
|
|
;
|
|
; 90000 -> 9FFFF tmp
|
|
; A0000 -> AFFFF screen access area
|
|
; B0000 -> FFFFF bios rest in peace -area
|
|
; 100000 -> 27FFFF diskette image
|
|
; 280000 -> 281FFF ramdisk fat
|
|
; 282000 -> 283FFF floppy fat
|
|
;
|
|
; 284000 -> 28FFFF free
|
|
;
|
|
; 290000 -> 297FFF TSS's of interrupts
|
|
; 298000 -> 29FFFF TSS's of SYSTEM interrupts - 256 entries
|
|
; 2A0000 -> 2B00ff wav device data
|
|
; 2C0000 -> 2C3fff button info
|
|
;
|
|
; 0000 word number of buttons
|
|
; first button entry at 0x10
|
|
; +0000 word process number
|
|
; +0002 word button id number : bits 00-15
|
|
; +0004 word x start
|
|
; +0006 word x size
|
|
; +0008 word y start
|
|
; +000A word y size
|
|
; +000C word button id number : bits 16-31
|
|
;
|
|
; 2D0000 -> 2DFFFF reserved port area
|
|
;
|
|
; 0000 dword no of port areas reserved
|
|
; 0010 dword process id
|
|
; dword start port
|
|
; dword end port
|
|
; dword 0
|
|
;
|
|
; 2E0000 -> 2EFFFF irq data area
|
|
; 2F0000 -> 2FFFFF low memory save
|
|
;
|
|
; 300000 -> 45FFFF background image, max 1 M
|
|
;
|
|
; 460000 -> 5FFFFF display info
|
|
;
|
|
; 600000 -> 6FFFFF hd cache
|
|
;
|
|
; 700000 -> 71ffff tcp memory (128 kb)
|
|
; 720000 -> 75ffff interrupt stacks (256 kpl * 1024)
|
|
;
|
|
; 760000 -> 76ffff !vrr driver
|
|
; 770000 -> 777fff tcp memory ( 32 kb)
|
|
;
|
|
; 778000 -> 77ffff window skinning ( 32 kb)
|
|
; 780000 -> 7fffff free
|
|
;
|
|
; 800000 -> BFFFFF mapped to LFB
|
|
;
|
|
; C00000 -> DFFFFF * Application information
|
|
;
|
|
; C00000 -> C01FFF draw_data - 256 entries
|
|
;
|
|
; 00 dword draw limit - x start
|
|
; 04 dword draw limit - y start
|
|
; 08 dword draw limit - x end
|
|
; 0C dword draw limit - y end
|
|
; 1C dword app int vector
|
|
;
|
|
; C03000 -> D11fff sysint_stack_data
|
|
; - system interrupt stacks
|
|
; - 256 entries * 4096 step
|
|
;
|
|
; D20000 -> DA8000 TSS and IO map for (2048*8)=16384 ports
|
|
; (128+2048)*256 = 557956 = 0x88000
|
|
;
|
|
; 1000000 -> 3FFFFFF for applications
|
|
;
|
|
|
|
|
|
|
|
|
|
|