en:docs:kernel:doskrnl

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
en:docs:kernel:doskrnl [2023/12/13 12:29] prokusheven:docs:kernel:doskrnl [2023/12/18 06:24] prokushev
Line 1: Line 1:
 +{{page>en:templates:dosint}}
 +
 ====== DOSKRNL ====== ====== DOSKRNL ======
  
Line 29: Line 31:
 | ????   | ???  | ???? | | ????   | ???  | ???? |
  
-DEVICES is ASCIIZ string with list of DOS devices to be loaded divided by 0AH (???)+DEVICES is ASCIIZ string with list of DOS devices to be loaded divided by 0AH
  
 SHELL is ASCIIZ string. SHELL is ASCIIZ string.
  
-SHELL arguments is ASCIIZ string (seems, first byte is as string length)+SHELL arguments is ASCIIZ string (first byte is as string length, string ends with 0dh)
  
 VDD is linked list of structures: VDD is linked list of structures:
  
-VDDs linked list (in init area) in standard DOS Device drivers format+VDDs linked list in standard DOS Device drivers format. Entry can be placed in HMA, so need to be sure A20 enabled for such entries.
  
 ^ offset ^ Size ^ Description ^ ^ offset ^ Size ^ Description ^
Line 44: Line 46:
 | :::    | ::: | Bit 15 = 1 if char device 0 if blk     | | :::    | ::: | Bit 15 = 1 if char device 0 if blk     |
 | :::    | ::: |  if bit 15 is 1                        | | :::    | ::: |  if bit 15 is 1                        |
-| :::    | ::: |    Bit 0 = 1 if Current sti device     | +| :::    | ::: |    Bit 0 = 1 if Current STDIN device     | 
-| :::    | ::: |    Bit 1 = 1 if Current sto output     | +| :::    | ::: |    Bit 1 = 1 if Current STDOUT output     | 
-| :::    | ::: |    Bit 2 = 1 if Current NUL device     | +| :::    | ::: |    Bit 2 = 1 if Current NULL device     | 
-| :::    | ::: |    Bit 3 = 1 if Current CLOCK dev      |+| :::    | ::: |    Bit 3 = 1 if Current CLOCK device      |
 | :::    | ::: |    Bit 4 = 1 if SPECIAL                | | :::    | ::: |    Bit 4 = 1 if SPECIAL                |
 | :::    | ::: |  Bit 14 is the IOCTL bit               | | :::    | ::: |  Bit 14 is the IOCTL bit               |
Line 60: Line 62:
 | Free              | [BP+0]:0 | | Free              | [BP+0]:0 |
 | DOSKRNL           | ???:0 | | DOSKRNL           | ???:0 |
-some data         | ??? |+Some data (VDD entries was found here) | ??? |
 | CMOS Data         | 40:0 | | CMOS Data         | 40:0 |
 | Interrupt vectors | 0:0  | | Interrupt vectors | 0:0  |
Line 81: Line 83:
  
 Also most of these setting can be adjusted via DOS Properties (aka DOS Settings). Refer [[https://archive.org/download/gg243731/gg243731_OS2_V2_0_Vol_2_DOS_and_Windows_Environment.pdf|OS/2 Version 2.0 Volume 2: DOS and Windows Environment]] for more information. Also most of these setting can be adjusted via DOS Properties (aka DOS Settings). Refer [[https://archive.org/download/gg243731/gg243731_OS2_V2_0_Vol_2_DOS_and_Windows_Environment.pdf|OS/2 Version 2.0 Volume 2: DOS and Windows Environment]] for more information.
 +
 +===== Properties =====
 +
 +  * COM_DIRECT_ACCESS
 +  * COM_HOLD
 +  * COM_RECEIVE_BUFFER_FLUSH
 +  * COM_SELECT
 +  * DOS_AUTOEXEC
 +  * DOS_BACKGROUND_EXECUTION
 +  * DOS_BREAK
 +  * DOS_DEVICE
 +  * DOS_FCBS
 +  * DOS_FCBS_KEEP
 +  * DOS_FILES
 +  * DOS_HIGH
 +  * DOS_LASTDRIVE
 +  * DOS_RMSIZE
 +  * DOS_SHELL
 +  * DOS_STARTUP_DRIVE
 +  * DOS_UMB
 +  * DOS_VERSION
 +  * DPMI_DOS_API
 +  * DPMI_MEMORY_LIMIT
 +  * DPMI_NETWORK_BUFF_SIZE
 +  * EMS_FRAME_LOCATION
 +  * EMS_HIGH_OS_MAP_REGION
 +  * EMS_LOW_OS_MAP_REGION
 +  * EMS_MEMORY_LIMIT
 +  * HW_NOSOUND
 +  * HW_ROM_TO_RAM
 +  * HW_TIMER
 +  * IDLE_SECONDS
 +  * IDLE_SENSITIVITY
 +  * INT_DURING_IO
 +  * KBD_ALTHOME_BYPASS
 +  * KBD_BUFFER_EXTEND
 +  * KBD_CTRL_BYPASS
 +  * KBD_RATE_LOCK
 +  * MEM_EXCLUDE_REGION
 +  * MEM_INCLUDE_REGION
 +  * MOUSE_EXCLUSIVE_ACCESS
 +  * PRINT_SEPARATE_OUTPUT
 +  * PRINT_TIMEOUT
 +  * SESSION_PRIORITY
 +  * VIDEO_8514A_XGA_IOTRAP
 +  * VIDEO_FASTPASTE
 +  * VIDEO_MODE_RESTRICTIONS
 +  * VIDEO_ONDEMAND_MEMORY
 +  * VIDEO_RETRACE_EMULATION
 +  * VIDEO_ROM_EMULATION
 +  * VIDEO_SWITCH_NOTIFICATION
 +  * VIDEO_WINDOW_REFRESH
 +  * XMS_HANDLES
 +  * XMS_MEMORY_LIMIT
 +  * XMS_MINIMUM_HMA 
  
 ===== API ===== ===== API =====