home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / bootd2.zip / BOOTD210.CMD next >
OS/2 REXX Batch file  |  1994-03-13  |  19KB  |  489 lines

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