home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / bootdi.zip / BOOTDISK.CMD
OS/2 REXX Batch file  |  1993-06-27  |  19KB  |  495 lines

  1. /* BOOTDISK.CMD for OS/2 2.1 GA by James K. Beard CIS 71675,566        */
  2. /* Two-disk OS/2 2.1 GA boot; packs 1.2 MB in A:, 1.1 MB in B:
  3.    Supported on floppy are CHKDSK, FORMAT, FDISK, BACKUP, RESTORE
  4.    Sufficient room remains on B: (if 1.44 MB) for HPFS, your SCSI
  5.    drivers, the IBM Tiny Editor, etc.  Use the procedure in Appendix C
  6.    of the OS/2 manual to backup and restore the worplace shell, or use
  7.    the shareware WPSBACKUP.
  8.  
  9.    Modified from MAKEBOOT.CMD version 1.00 by Donald L. Meyer,
  10.    internet:   dlmeyer@uiuc.edu
  11.  
  12.      This program accepts one parameter:
  13.      * "RECON" tells program to skip main install, and only do optional
  14.        installation of things like SCSI support, etc.
  15.     Thanks go out to Morton Kaplon  (73457,437 @ Compuserve) for
  16.     doing the legwork determining which files/drivers were/weren't
  17.     necessary for Donald L. Meyer's 2.0 version, and David Moskowitz's
  18.     article in "OS/2 2.1 Unleashed" (Sams, 1993) pp 57-59. */
  19.  
  20. '@ECHO OFF' /* Don't echo system commands to screen */
  21.  
  22. version=1.00
  23.  
  24. /*  Initializations */
  25.  
  26. call get_utils /* Install the RexxUtil functions */
  27.  
  28. IF (\(SysOS2Ver()='2.10')) THEN DO /* Verify OS/2 2.10 */
  29.   SAY 'Installed OS/2 version is 'SysOS2Ver()
  30.   SAY 'BOOTDISK/CMD 'version' is tested only for OS/2 2.10'
  31.   SAY 'Continue?'
  32.   IF y_or_n()='N' THEN EXIT
  33.   END
  34.  
  35. /* Parse arguments */
  36. /* Copy command line argument string to "all_args" & convert to upper case */
  37. PARSE UPPER ARG all_args
  38. CALL parse_all_args(all_args)
  39.  
  40. CALL find_os2 /* Find OS/2 (define "instfrom," ususaly 'C:' */
  41.  
  42. CALL SysCls  /* Clear screen; "dots" won't work if screen scrolls */
  43. SAY 'BOOTDISK/CMD 'version' for OS/2 2.1'
  44. SAY 'Utility to create two OS/2 2.1 Boot Diskettes for drives A: and B:'
  45.  
  46. /* Echo instructions on use to screen */
  47. SAY 'Syntax:   BOOTDISK {RECON}'
  48. SAY '        [RECON = Reconfigure existing boot disk.   *Optional]'
  49. SAY
  50.  
  51. CALL find_config /* Determine type: ISA - EISA, or MCA - PS/2; HPFS=Y or N */
  52.  
  53. /* Begin creating the two boot disks */
  54. /* Files from Disk 1, copied to A:\*.* */
  55. inst_files = 'OS2KRNL* OS2LDR OS2LDR.MSG SYSINSTX.COM' /* Disk 0 to temp. dir*/
  56. boot_files='OS2KRNL' 'OS2LDR' 'OS2LDR.MSG' /* Temp. dir to A: */
  57. disk1_to_A='KEYBOARD.DCP SYSINST1.EXE COUNTRY.SYS MOUSE.SYS'
  58. /* IF (type='1') THEN disk1_to_A=disk1_to_A' IBM1S506.ADD' */
  59.  
  60. IF (ReConfig='N') THEN DO
  61.   temp_dir=instfrom'\OS2\INSTALL\BOOTDISK'
  62.   k=SysFileTree(temp_dir'\SYSINSTX.COM', 'file', 'FO')
  63. /*****************************************************************/
  64. /*** Copy necessary files from installation DISK 0 and DISK 1 ****/
  65.   if file.0='0' THEN DO /* If SYSINSTX.COM isn't on C:, use installation disks*/
  66.     k=SysFileTree(temp_dir, 'file', 'DO') /* If not alread there ... */
  67.     if file.0=0 THEN CALL SysMkDir temp_dir /* Create scratch subdirectory */
  68.  
  69. /* Copy files from installation disk into temporary subdirectory */
  70.     CALL copy_from_a temp_dir 'inst' 'SYSINSTX.COM' inst_files
  71.     'RENAME 'temp_dir'\OS2KRNL* OS2KRNL' /* Correct this file name */
  72.  
  73. /* Copy specific files from Disk 1 into temporary subdirectory */
  74.     CALL copy_from_a temp_dir '1' 'FDISK.COM' disk1_to_A
  75.     call evict_disk /* Make sure OS/2 2.1 disks are out of A: */
  76.     END
  77. /*****************************************************************/
  78. /******************* Create the boot disks ***********************/
  79.  
  80.   CALL saywrap('Do you want to format the floppy disks before copying files?')
  81.   IF y_or_n()='Y' THEN
  82.     CALL format_a_b
  83.   ELSE
  84.     CALL label_a_b
  85.  
  86. /* Install boot track, kernal, loader */
  87.   CALL saywrap('Installing boot track ...')
  88.   temp_dir'\SYSINSTX A: >NUL' /* Boot track */
  89.  
  90.   k=WORDS(disk1_to_A) /* Add Disk 1 files to boot file list */
  91.   DO i=1 TO k
  92.     boot_files=boot_files WORD(disk1_to_A,i)
  93.     END
  94.   DROP disk1_to_A
  95.  
  96.   source=temp_dir
  97.   extension='' /* Null strings disrupt argument transfer--use globals */
  98.   CALL copy_to_boot 'A:' boot_files ; /* Copy boot files to A: */
  99.  
  100. /* Copy the DLL's to B:\DLL */
  101.  
  102. /* Begin by making the directory B:\DLL */
  103.   i=SysFileTree('B:\DLL', 'file', 'DO') /* If not alread there ... */
  104.   IF file.0=0 THEN CALL SysMkDir 'B:\DLL' /* Create B:\DLL */
  105.  
  106.   dll_list='ANSICALL DOSCALL1 NLS BKSCALLS BMSCALLS BVHINIT BVSCALLS KBDCALLS MOUCALLS MSG NAMPIPES OS2CHAR QUECALLS SESMGR VIOCALLS'
  107.   IF hpfs='Y' THEN dll_list=dll_list UHPFS
  108.  
  109.   source=instfrom'\OS2\DLL'
  110.   extension='.DLL' 
  111.   CALL copy_to_boot 'B:\DLL' dll_list
  112.  
  113. /* Copy files from "instfrom" drive to A: */
  114.   A_list='CMD.EXE OS2DASD.DMD HARDERR.EXE SYSLEVEL.OS2 IBMINT13.I13 IBM'type'FLPY.ADD CLOCK0'type'.SYS KBD0'type'.SYS PRINT0'type'.SYS SCREEN0'type'.SYS IBM1S506.ADD'
  115.   IF hpfs='Y' THEN A_list=A_list HPFS.IFS
  116.  
  117.   source='' /* Source is various subdirectories in \os2 */
  118.   extension='' /* Extensions are supplied in file list */
  119.   CALL copy_to_boot 'A:' A_list
  120.  
  121. /* Copy files from "instfrom" drive to B: */
  122.   B_list='CHKDSK.COM FDISK.COM FORMAT.COM DOS.SYS OSO001H.MSG OSO001.MSG' 'BACKUP.EXE' 'RESTORE.EXE'
  123.  
  124.   CALL copy_to_boot 'B:' B_list /* "source" and "extension" are null strings */
  125.  
  126. /**********************/
  127.   CALL saywrap('Do you want to leave the temporary directory 'temp_dir' for future')
  128.   CALL saywrap('runs of BOOTDISK/CMD without the OS/2 2.1 installation diskettes?')
  129.   IF y_or_n()='N' THEN DO
  130. /* Erase the temporary files and remove the temporary directory */
  131.     'ECHO Y | DEL 'temp_dir' >NUL' /* Delete files; echo "Y" to prompt */
  132.     CALL SysRmDir temp_dir /* Delete the subdirectory */
  133.     END
  134. /**********************/
  135.  
  136.   IF type='2' THEN DO  /* Create ABIOS.SYS if a PS/2 boot disk.  */
  137.     abios_file='A:\ABIOS.SYS'
  138.     CALL lineout abios_file, '', 1
  139.     k=lineout(abios_file)
  140.     DROP abios_file
  141.     CALL saywrap('ABIOS.SYS Created on drive A:.')
  142.     END
  143.   END
  144.  
  145. /*   The Optionals Area  */
  146. /* CALL SysCls */
  147.  
  148. /* Get drive space */
  149. DriveInfo=SysDriveInfo('B:')
  150. disk_space=WORD(DriveInfo,2)
  151.  
  152. /* Get co-processor emulator size */
  153. rc = SysFileTree(instfrom'\OS2\DLL\NPXEMLTR.DLL', 'file_c',,)
  154. math_size=WORD(file_c.1,3)
  155.  
  156. /* Get SCSI driver data */
  157. rc = SysFileTree(instfrom'OS2SCSI.DMD', 'file_s', 'FS')
  158. scsi_size=WORD(file_s.1,3)
  159. scsi_filespec=WORD(file_s.1,5)
  160.  
  161. /* Check for Tiny Editor */
  162. CALL saywrap('Looking for Tiny Editor IBM freeware ...')
  163. DriveMap=SysDriveMap('C:', 'LOCAL') /* Find all attached hard drives */
  164.  
  165. DO i=1 to WORDS(DriveMap) /* Loop over the number of drives */
  166.   ed_from=WORD(DriveMap,i)
  167.   rc=SysFileTree(ed_from'THELP.HLP', 'file_e', 'FS') /* Locate TinyEd */
  168.   IF (file_e.0>0) THEN LEAVE /* Define "instfrom" */
  169.   END
  170. IF file_e.0>0 THEN DO
  171.   editor='Y'
  172.   t_hlpsize=WORD(file_e.1,3) /* HELP file size */
  173.   t_hlpspec=WORD(file_e.1,5) /* HELP file pathname */
  174.   sp=LASTPOS('\',t_hlpspec) /* Find pathname for T2.EXE */
  175.   t_exespec=SUBSTR(t_hlpspec,1,sp)'T2.EXE'
  176.   k=SysFileTree(t_exespec, 'file_e', 'F') /* Find executable */
  177.   t_exesize=WORD(file_e.1,3) /* T2.EXE file size */
  178.   t_size=t_hlpsize+t_exesize
  179.   END
  180. ELSE
  181.   editor='N'
  182.  
  183. /* Start interactive configuration process */
  184. CALL saywrap('Drive B: space is             'disk_space' bytes.')
  185. CALL saywrap('Co-processor emulator size is 'math_size' bytes.')
  186. CALL saywrap('SCSI driver size is           'scsi_size' bytes.')
  187. IF editor='Y' THEN
  188.   CALL saywrap('Editor size is                't_size' bytes.')
  189.  
  190. IF (disk_space<math_size) & (file_c.0=1) THEN DO
  191.   CALL saywrap(' There isn''t enough space to install coprocessor emulator.')
  192.   ismath='N'
  193. END
  194. ELSE DO
  195.   CALL saywrap('Will this disk be used on machines without math coprocessors?')
  196.   ismath=y_or_n()
  197.   END
  198.  
  199. IF ismath='Y' THEN DO /* Install emulator; keep track of disk space */
  200.   'COPY 'instfrom'\OS2\DLL\NPXEMLTR.DLL B:\DLL\*.* /B >NUL'
  201.   DriveInfo=SysDriveInfo('B:')
  202.   disk_space=WORD(DriveInfo,2)
  203.   CALL saywrap('Remaining disk space on B: is 'disk_space' bytes.')
  204.   END
  205.  
  206. IF (disk_space < scsi_size) & (file_s.0='0') THEN DO
  207.   CALL saywrap('There isn''t enough space to install the SCSI Driver...')
  208.   scsi='N'
  209.   END
  210. ELSE DO
  211.   CALL saywrap('Will you need the SCSI Driver installed?')
  212.   scsi=y_or_n()
  213.   END
  214.  
  215. IF scsi='Y' THEN DO /* Add on SCSI driver size */
  216.   'COPY 'instfrom'\OS2\OS2SCSI.DMD B:\*.* /B >NUL' /* Copy the SCSI driver */
  217.   DriveInfo=SysDriveInfo('B:')
  218.   disk_space=WORD(DriveInfo,2)
  219.   CALL saywrap('Remaining disk space on B: is 'disk_space' bytes.')
  220.   END
  221.  
  222. IF editor='Y' THEN DO
  223.   IF (disk_space < t_size) THEN DO
  224.     CALL saywrap('There isn''t enough space to install the Tiny Editor.')
  225.     edits='N'
  226.     END
  227.   ELSE DO
  228.     CALL saywrap('Will you need the Tiny Editor installed?')
  229.     edits=y_or_n()
  230.     END
  231.   END
  232. ELSE
  233.   edits='N'
  234.  
  235. IF edits='Y' THEN DO
  236.   'COPY 't_exespec' B:\edit.exe /B >NUL' /* Rename it EDIT.EXE */
  237.   'COPY 't_hlpspec' B:\*.* /B >NUL'
  238.   END
  239.  
  240. CALL create_config_sys hpfs type scsi /* Create A:\CONFIG.SYS dynamically */
  241.  
  242. CALL saywrap('Boot Diskettes have been created.')
  243.  
  244. DriveInfo=SysDriveInfo('B:') /* Give remaining space on B: */
  245. disk_space=WORD(DriveInfo,2)
  246. CALL saywrap('Remaining disk space on B: is 'disk_space' bytes.')
  247.  
  248. DriveInfo=SysDriveInfo('A:') /* Give space on A:, too */
  249. disk_space=WORD(DriveInfo,2)
  250. CALL saywrap('Remaining disk space on A: is 'disk_space' bytes.')
  251.  
  252. EXIT
  253. /************************************************************/
  254. /************* Utility functions and procedures *************/
  255. /************************************************************/
  256. get_utils: PROCEDURE/* Add the RexxUtil functions */
  257. CALL addit 'SysOS2Ver'
  258. CALL addit 'SysCls'
  259. CALL addit 'SysCurPos'
  260. CALL addit 'SysFileTree'
  261. CALL addit 'SysDriveMap'
  262. CALL addit 'SysDriveInfo'
  263. CALL addit 'SysTextScreenRead'
  264. CALL addit 'SysMkDir'
  265. CALL addit 'SysRmDir'
  266. CALL addit 'SysTempFileName'
  267. CALL addit 'SysFileDelete'
  268. RETURN
  269. /*****/
  270. addit: PROCEDURE; ARG funcname
  271. CALL RxFuncAdd funcname, 'RexxUtil', funcname
  272. RETURN
  273. /************************************************************/
  274. parse_all_args: PROCEDURE EXPOSE ReConfig; ARG arg_string
  275.  
  276. IF (WORD(arg_string,1)='RECON') THEN
  277.   ReConfig='Y'
  278. ELSE
  279.   ReConfig='N'
  280.  
  281. RETURN
  282. /************************************************************/
  283. find_os2: PROCEDURE EXPOSE instfrom /*Find the drive where OS/2 is installed */
  284. DriveMap=SysDriveMap('C:', 'LOCAL') /* Find all attached hard drives */
  285. DO i=1 TO WORDS(DriveMap) /* Loop over the number of drives */
  286.   k=SysFileTree(WORD(DriveMap,i)'\OS2\HELP.CMD', 'file',,) /*Locate OS/2 */
  287.   IF (file.0='1') THEN instfrom=WORD(DriveMap,i) /* Define "instfrom" */
  288.   END
  289. RETURN
  290. /************************************************************/
  291. find_config: PROCEDURE EXPOSE instfrom type hpfs /* Determine configuration */
  292. rc=SysFileTree(instfrom'\OS2\KBD01.SYS', 'file',,) /* Check: ISA or MCA? */
  293. IF (file.0='1') THEN
  294.   type=1 /* ISA or EISA */
  295. ELSE
  296.   type=2 /* MCA or PS/2 */
  297.  
  298. rc=SysFileTree(instfrom'\OS2\HPFS.IFS', 'file', 'FO') /* Check: HPFS? */
  299. IF file.0=1 THEN
  300.   hpfs='Y'
  301. ELSE
  302.   hpfs='N'
  303. RETURN
  304. /************************************************************/
  305. copy_from_a: PROCEDURE; ARG temp_dir id filename file_list /* Copy files from A: */
  306. /* temp_dir  Temporary directory to which files are copied */
  307. /* id         Disk ID; 'INST', '1', or '2' */
  308. /* filename   File on OS/2 disk whose existence identifies it */
  309. /* file_list  List of files to copy */
  310. CALL get_inst_disk id filename /* Get the OS/2 2.1 disk */
  311. CALL get_files_a temp_dir id file_list /* Copy the files to the temp subdir */
  312. RETURN
  313. /************************************************************/
  314. get_inst_disk: PROCEDURE; ARG id filename /* Get OS/2 disk in A: */
  315. /* id         Disk ID; 'INST', '1', or '2' */
  316. /* filename   File on OS/2 disk whose existence identifies it */
  317. k=0
  318. DO WHILE k='0'
  319.   CALL BEEP 392, 250 /* Beep 392 Hz for 250 milliseconds */
  320.   if(id='INST') THEN
  321.     SAY 'Insert OS/2 INSTALLATION DISK in drive A:.'
  322.   ELSE
  323.     SAY 'Insert OS/2 Disk 'id' in drive A:.'
  324.   'PAUSE'
  325.   k=SysFileTree('A:\'filename, 'file',,) /* Check for filename */
  326.   k=file.0 /* Try again until filename is found */
  327.   END
  328. RETURN
  329. /************************************************************/
  330. get_files_a: PROCEDURE; ARG temp_dir id file_list
  331. /* Copy files from OS/2 disk in A: */
  332. /* temp_dir  Temporary directory to which files are copied */
  333. /* id         Disk ID; 'INST', '1', or '2' */
  334. /* file_list  List of files to copy */
  335. k=SysFileTree(temp_dir, 'file', 'DO') /* Make sure directory exists */
  336. IF file.0=0 THEN DO
  337.   SAY 'Error in "get_files," directory 'temp_dir' does not exist.'
  338.   EXIT
  339.   END
  340. k=SysCurPos() /* Find row of cursor on screen */
  341. k=WORD(k,1)
  342. IF id='INST' THEN
  343.   message='Copying files from OS/2 2.1 installation disk'
  344. ELSE
  345.   message='Copying files from OS/2 2.1 Disk 'id
  346. SAY message
  347. dot_pos=LENGTH(message)
  348. n=WORDS(file_list)
  349. DO i=1 TO n /* Loop over file names in "file_list" */
  350.   'COPY A:\'WORD( file_list, i) temp_dir' /B >NUL'
  351.   CALL SysCurPos k, dot_pos+i /* Echo a dot for each file */
  352.   SAY '.'
  353. END
  354. RETURN
  355. /************************************************************/
  356. evict_disk: PROCEDURE
  357. /* Evicts OS/2 2.1 installation disk from A: before writing to A: */
  358. /* filename  File name that identifies an installation disk */
  359. k=1
  360. DO FOREVER /* Get the OS/2 2.1 installation disks out of A: */
  361.   sdi=SysDriveInfo('A:')
  362.   IF sdi='' THEN LEAVE /* Disk not ready */
  363.   IF \(WORD(sdi,4)='DISK') THEN LEAVE /* OS/2 disk label is "DISK <n>' */
  364.   CALL BEEP 392, 250
  365.   SAY 'Insert OS/2 2.1 BOOT DISKS [To Be Created] in drives A: and B:.'
  366.   'PAUSE'
  367.   END
  368. RETURN
  369. /************************************************************/
  370. format_a_b: PROCEDURE /* Format A: and B: */
  371.  
  372. SAY 'FORMATting the boot disks ...'
  373.  
  374. tempfile=SysTempFileName('TEMP????') /* Write response file for FORMAT */
  375. CALL LINEOUT tempfile, '', 1 /* Open the file, write blank line */
  376. CALL LINEOUT tempfile, 'N'
  377. CALL LINEOUT tempfile /* Close the file */
  378.  
  379. 'FORMAT A: /V:OS21_BOOT_A <'tempfile' >NUL' /* Format and label the disks */
  380. 'FORMAT B: /V:OS21_BOOT_B <'tempfile' >NUL'
  381.  
  382. CALL SysFileDelete tempfile
  383.  
  384. RETURN
  385. /************************************************************/
  386. label_a_b: PROCEDURE /* Label A: and B: */
  387. 'LABEL A:OS21_BOOT_A'
  388. 'LABEL B:OS21_BOOT_B'
  389. RETURN
  390. /************************************************************/
  391. copy_to_boot: PROCEDURE EXPOSE source extension instfrom; ARG ab file_list
  392. /* ab         Destination drive, 'A:' or 'B:' */
  393. /* file_list  List of files to copy */
  394. /****Arguments passed as variables to allow null strings****/
  395. /* source     Source path, or blank string '' */
  396. /* extension  Extension, such as '.DLL' to be applied to all file names */
  397. /* instfrom   Hard drive where OS/2 2.1 is installed */
  398.  
  399. k=SysCurPos() /* Move the cursor to column dot_pos */
  400. k=WORD(k,1)
  401. IF k>21 THEN k=0 /* End-around, don't scroll */
  402.  
  403. message='Installing Files on new BOOT DISKETTE 'ab
  404. dot_pos=LENGTH(message)
  405. CALL saywrap(message)
  406. /* CALL SysCurPos k, dot_pos qqqq */
  407. n=WORDS(file_list)
  408. DO i=1 TO n
  409.   CALL SysCurPos k+1, 0 /* Echo file names to screen */
  410.   SAY '                                                     ' /* Erase line */
  411.   CALL SysCurPos k+1, 0 /* Echo file names to screen */
  412.   call saywrap(WORD(file_list,i)extension)
  413.  
  414.   IF source='' THEN DO
  415.     rc=SysFileTree(instfrom'\'WORD(file_list,i)extension,'file','FSO')
  416.     IF (rc>0 | file.0='0') THEN DO
  417.       SAY 'File 'WORD(file_list,i)extension' not found on C:'
  418.       EXIT
  419.       END
  420.     filespec=file.1
  421.     END
  422.   ELSE
  423.     filespec=source'\'WORD(file_list,i)extension
  424.   'COPY 'filespec ab'\*.* /B >NUL' /* System files to ab: */
  425.   CALL SysCurPos k, dot_pos+i /* Echo dots */
  426.   SAY '.'
  427.   END
  428. CALL SysCurPos k+1, 0 /* Clear last file name */
  429. SAY '                                                     '
  430. CALL SysCurPos k+1, 0 /* Leave cursor on beginning of blank line */
  431. DROP file_list
  432. RETURN
  433. /************************************************************/
  434. saywrap: PROCEDURE; PARSE ARG msg /* Erase line, then write to screen */
  435. k=WORD(SysCurPos(), 1) /* Find line number */
  436. IF k>21 THEN DO
  437.   k=0 /* End-around, don't scroll */
  438.   CALL SysCurPos 0, 0
  439.   END
  440. call syscurpos k,0 /*qqqq*/
  441. DO 3
  442.   SAY COPIES(' ', 75) /* Erase lines */
  443.   END
  444. CALL SysCurPos k, 0 /* Back up and write on blank line */
  445. SAY msg
  446. RETURN
  447. /************************************************************/
  448. y_or_n: PROCEDURE /* Get 'Y' or 'N' from console */
  449. /* Syntax:  response=y_or_n()  */
  450. resp='X'
  451. DO UNTIL (resp='Y' | resp='N')
  452.   CALL saywrap('Y or N?')
  453.   PULL resp
  454.   resp=WORD(resp,1) /* Eliminate leading & trailing blanks, etc. */
  455.   END
  456. RETURN resp
  457. /************************************************************/
  458. create_config_sys: PROCEDURE; ARG hpfs type scsi
  459. /* Create the Config.Sys dynamically...   */
  460. CALL saywrap('Creating CONFIG.SYS on drive A: ...')
  461. config_file='A:\CONFIG.SYS'
  462. IF hpfs='Y' THEN DO
  463.   CALL lineout config_file, 'ifs=a:\hpfs.ifs /c:64', 1 /* Opens the file */
  464.   CALL lineout config_file, 'protshell=sysinst1.exe'
  465.   END
  466. ELSE
  467.   CALL lineout config_file, 'protshell=sysinst1.exe', 1
  468. CALL lineout config_file, 'set os2_shell=a:\cmd.exe'
  469. CALL lineout config_file, 'libpath=.;\;b:\dll;'
  470. CALL lineout config_file, 'set path=a:\;b:\;b:\dll;c:\os2'
  471. CALL lineout config_file, 'set dpath=a:\;b:\;b:\dll'
  472. CALL lineout config_file, 'set prompt=$i[$p]'
  473. CALL lineout config_file, 'buffers=32'
  474. CALL lineout config_file, 'iopl=yes'
  475. CALL lineout config_file, 'diskcache=64,LW'
  476. CALL lineout config_file, 'memman=noswap'
  477. CALL lineout config_file, 'basedev=print01.sys'
  478. CALL lineout config_file, 'basedev=ibm1flpy.add'
  479. IF (type='1') THEN CALL lineout config_file, 'BASEDEV=IBM1S506.ADD'
  480. IF (scsi='Y') THEN CALL lineout config_file, 'BASEDEV=B:\IBMSCSI.DMD'
  481. CALL lineout config_file, 'basedev=ibmint13.i13'
  482. CALL lineout config_file, 'basedev=os2dasd.dmd'
  483. CALL lineout config_file, 'protectonly=yes'
  484. CALL lineout config_file, 'pauseonerror=yes'
  485. CALL lineout config_file, 'codepage=437,850'
  486. CALL lineout config_file, 'devinfo=kbd,us,keyboard.dcp'
  487. CALL lineout config_file, 'device=b:\dos.sys'
  488. CALL lineout config_file, 'device=mouse.sys'
  489. CALL lineout config_file, 'set keys=on'
  490. CALL lineout config_file, 'rem device=b:\os2scsi.sys'
  491. CALL lineout config_file, 'rem device=\testcfg.sys'
  492. CALL lineout config_file  /* Close the file */
  493. RETURN
  494. /************************************************************/
  495.