home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / pascal / library / dos / jr_tools / jrmis201.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1988-07-12  |  2.9 KB  |  97 lines

  1. Unit JRMIS201 ;
  2.  
  3. (*╔═════════════════════════════════════════════════════════════════════════╗*)
  4. (*║                                                                         ║*)
  5. (*║             JR Unit Library  -  Version 2.01  -  June xxrd 1988         ║*)
  6. (*║                                                                         ║*)
  7. (*║                Machine-depending functions and procedures               ║*)
  8. (*║                                                                         ║*)
  9. (*╚═════════════════════════════════════════════════════════════════════════╝*)
  10.  
  11. Interface
  12.  
  13. (*───────────────────────────────────────────────────────────────────────────*)
  14.  
  15. Uses Dos ;
  16.  
  17. (*───────────────────────────────────────────────────────────────────────────*)
  18.  
  19. Const  _DOSService          = $21 ;
  20.  
  21. (*───────────────────────────────────────────────────────────────────────────*)
  22.  
  23. Var  _regs8086    : Registers ;
  24.  
  25. (*───────────────────────────────────────────────────────────────────────────*)
  26.  
  27. Function _Equipment  : Integer ;
  28. Function _MachineID  : String ;
  29. Function _MemorySize : Integer ;
  30. Function _ROMDate    : String ;
  31. Function _DOSVersion : String ;
  32.  
  33. (*───────────────────────────────────────────────────────────────────────────*)
  34.  
  35. Implementation
  36.  
  37. (*───────────────────────────────────────────────────────────────────────────*)
  38.  
  39.  
  40. Function _Equipment ;
  41. (*  Version 1.02  *)
  42. Var _e : Integer Absolute $0000:$0410 ;
  43. Begin ;
  44.    _Equipment:=_e ;
  45. End  (* Function _Equipment *) ;
  46.  
  47. (*───────────────────────────────────────────────────────────────────────────*)
  48.  
  49. Function _MachineID ;
  50. (*  Version 1.00  *)
  51. Var _ID : Byte Absolute $F000:$FFFE ;
  52. Begin ;
  53.    Case _ID Of
  54.         $FF : _MachineID:='PC' ;
  55.         $FE : _MachineID:='XT' ;
  56.         $FD : _MachineID:='Jr' ;
  57.         $FC : _MachineID:='AT' ;
  58.         $2D : _MachineID:='CP' ;
  59.         $9A : _MachineID:='CX'
  60.        Else   _MachineID:='UN'
  61.    End ;
  62. End  (* Function _MachineID *) ;
  63.  
  64. (*───────────────────────────────────────────────────────────────────────────*)
  65.  
  66. Function _MemorySize ;
  67. (*  Version 1.00  *)
  68. Var  _MemSize : Integer Absolute $0000:$0413 ;
  69. Begin ;
  70.    _MemorySize:=_MemSize ;
  71. End  (* Function _MemorySize *) ;
  72.  
  73. (*───────────────────────────────────────────────────────────────────────────*)
  74.  
  75. Function _ROMDate ;
  76. (*  Version 1.00  *)
  77. Var _ROMD : String(.8.) Absolute $F000:$FFF4 ;
  78. Begin ;
  79.    _ROMDate:=Copy(_ROMD,1,8) ;
  80. End  (* Function _ROMDate *) ;
  81.  
  82. (*───────────────────────────────────────────────────────────────────────────*)
  83.  
  84. Function _DOSVersion ;
  85. (*  Version 1.02  *)
  86. Var _major,_minor : String ;
  87. Begin ;
  88.    _regs8086.ah:=48 ;
  89.    Intr(_DOSService,_regs8086) ;
  90.    Str(_regs8086.al,_major) ; Str(_regs8086.ah,_minor) ;
  91.    _DOSVersion:=_major+'.'+_minor ;
  92. End  (* Procedure _DOSVersion *) ;
  93.  
  94. (*───────────────────────────────────────────────────────────────────────────*)
  95.  
  96. End  (* Of Unit JRMIS201 *).
  97.