Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

101 lines
2.5 KiB

  1. ; rom bios call packet structures
  2. ;*******************************
  3. ;system service call ( int 15h )
  4. ;*******************************
  5. ;function ah = 0c0h, return system configuration
  6. ;for pc and pcjr on return:
  7. ; (ah) = 80h
  8. ; (cy) = 1
  9. ;for pcxt, pc portable and pcat on return:
  10. ; (ah) = 86h
  11. ; (cy) = 1
  12. ;for all others:
  13. ; (ah) = 0
  14. ; (cy) = 0
  15. ; (es:bx) = pointer to system descriptor vector in ros
  16. ; system descriptor :
  17. ; dw xxxx length of descriptor in bytes,
  18. ; minimum length = 8
  19. ; db xx model byte
  20. ; 0ffh = pc
  21. ; 0feh = pc/xt, portable
  22. ; 0fdh = pc/jr
  23. ; 0fch = pc/at, 6mhz pc/at,
  24. ; 6mhz pc/at running coprocessor(?),
  25. ; ps/2 model 50, 50 z
  26. ; 0fah = ps/2 model 25, 30
  27. ; 0f9h = pc convertible
  28. ; 0f8h = ps/2 model 80
  29. ; 0f7h = nova
  30. ; 0e0 thru 0efh = reserved
  31. ;
  32. ; db xx secondary model byte
  33. ; 000h = pc1
  34. ; 000h = pc/xt, portable
  35. ; 000h = pc/jr
  36. ; 000h = pc/at
  37. ; 001h = 6mhz pc/at
  38. ; 003h = 6mhz pc/at running coprocessor(?)
  39. ; 004h = ps/2 model 50, 50z
  40. ; 001h = ps/2 model 25
  41. ; 000h = pc convertible
  42. ; 000h = ps/2 model 80
  43. ; 000h = nova
  44. ;
  45. ; db xx bios revision level
  46. ; 00 for first release, subsequent release
  47. ; of code with same model byte and
  48. ; secondary model byte require revison level
  49. ; to increase by one.
  50. ;
  51. ; db xx feature information byte 1
  52. ; x0000000 = 1, bios use dma channel 3
  53. ; = 0, dma channel 3 not used
  54. ;
  55. ; 0x000000 = 1, 2nd interrupt chip present
  56. ; = 0, 2nd interrupt chip not present
  57. ;
  58. ; 00x00000 = 1, real time clock present
  59. ; = 0, real time clock not present
  60. ;
  61. ; 000x0000 = 1, keyboard escape sequence(int15h)
  62. ; called in keyboard interrupt
  63. ; (int 09h).
  64. ; = 0, keyboard escape sequence not
  65. ; called.
  66. ; 0000xxxx reserved
  67. ;
  68. ; db xx feature information byte 2 - reserved
  69. ;
  70. ; db xx feature information byte 2 - reserved
  71. ;
  72. ; db xx feature information byte 2 - reserved
  73. ;
  74. ; db xx feature information byte 2 - reserved
  75. ;
  76. bios_system_descriptor struc
  77. bios_sd_leng dw ?
  78. bios_sd_modelbyte db ?
  79. bios_sd_scnd_modelbyte db ?
  80. db ?
  81. bios_sd_featurebyte1 db ?
  82. db 4 dup (?)
  83. bios_system_descriptor ends
  84. ;featurebyte1 bit map equates
  85. dmachannel3 equ 10000000b
  86. scndintcontroller equ 01000000b
  87. realtimeclock equ 00100000b
  88. keyescapeseq equ 00010000b
  89. ;
  90. ;model byte
  91. mdl_pc1 equ 0ffh
  92. mdl_xt equ 0feh
  93. mdl_jr equ 0fdh
  94. mdl_at equ 0fch
  95. mdl_convert equ 0f9h
  96. mdl_ps2_30 equ 0fah
  97. mdl_ps2_80 equ 0f8h