home *** CD-ROM | disk | FTP | other *** search
- Forming a Pascal System Booter
- ------------------------------
-
-
-
- To create an UCSD Pascal system booter you must have the following:
-
- 1) A short boot loader that will read in track 0 sectors 2 - 13
-
- 2) A copy of PINIT.ASM
-
- 3) A hex version of your current BIOS
-
- 4) A copy of PGEN.COM
-
-
- The short boot loader of 1) can be generated from your current system
- boot loader if either a source or listing of it is available. This trans-
- formation process is simply the reduction of a two track bootstrap into a
- single track one. Two programs BOOT.ASM and PBOOT.ASM are provided as inspir-
- ation for this proceedure.
-
-
- NOTE: PBOOT loads its sectors to location (MSIZE-48)*1024+0BA00H
- and then jumps to that same point.
-
-
- If you have no inkling of how your current system boot either loads or
- works, you will have to prevail on your system supplier for that information.
-
-
- PINIT.ASM is the source for the code that boots in and starts
- SYSTEM.MICRO, the P-Machine interpreter. A quick edit of PINIT.ASM is needed
- to modify the MSIZE equate to match the memory size (in kilobytes) of the
- current system BIOS. Once this has been done each of the modules PBOOT, PINIT
- and BIOS must be assembled to produce the .HEX files which will be overlayed
- into PGEN's data area as follows:
-
- NOTE: In the following we assume a 48k system
-
-
-
- A>DDT PGEN.COM ;Read PGEN code into memory
-
- DDT VERS 1.3 ;We will be overlaying PBOOT,
- NEXT PC ; PINIT, and BIOS into PGEN's
- 0300 0100 ; data area, and finally saving
- ; the memory image.
- -IPBOOT.HEX ;Set 'PBOOT.HEX' as the input file
- -H900 0 ;PBOOT starts at location 0, we want
- 0900 0900 ; to compute a bias to read it to loc 900
- -R900 ;Using this bias we read PBOOT to PGEN's
- NEXT PC ; data area
- 0980 0000
- -IPINIT.HEX ;We will now do the same proceedure with
- -H980 BA00 ;PINIT. This object code will go to
- C380 4F80 ; location 980, notice PINIT starts at
- -R4F80 ; BA00 (HEX) in a 48k system.
- NEXT PC
- 0A7D BA00 ;The value below NEXT will vary with the release
- -IBIOS.HEX ;Last we read BIOS to location D80
- -HD80 BE00
- C380 4F80 ;This should be the same bias value as last time
- -R4F80
- NEXT PC
- 0F76 0000 ;The value below NEXT is dependant on BIOS
- -^C ;We now leave ddt to save our work
-
- A>SAVE 16 PGEN48.COM ;Our boot writer will be called PGEN48
- A>PGEN48 ;The booter may now be put out to Pascal
-
- PGEN VERSION 1.0 ; system disks by executing PGEN48
-
- GET BOOTER?(Y/N)N ; as shown
-
- PUT BOOTER?(Y/N)Y
- WRITING BOOTER TO DRIVE A, TYPE RETURN
- AGAIN?(Y/N)N
-
- REBOOTING CP/M, TYPE RETURN
-