| Note! This procedure is NOT necessary for a Model 4! It is only of use for Model 4P owners! |
|
| You who own Model 4P's probably know by now that you are missing something that a Model 4 owner finds very handy - THE MODEL 3 ROM! Without that ROM, you cannot directly boot several other popular operating systems. To boot them, you must first boot using a disk that contains a file called MODELx/III. Most systems came with MODELA/III. Then you must reboot using the operating system of your choice. MODELA/III is a copy of the Model 3 ROM, and is loaded down in low memory, making it appear to the machine exactly as it would if there really WAS a ROM down there as there is on a Mod 3. By doing this, operating systems other than LDOS and CPM have the ROM routines available as needed for operation. |
| |
| SO... HOW to get a 4P to boot NEWDOS directly without first having to boot LDOS, load MODELA/III, and boot again? Easy.. fool the system (what else?) The following procedure creates a pseudo-directory on a NEWDOS disk. This directory will be properly located on track 20 so that it can be found by the bootstrap routine in the 4P. Immediately following the pseudo-directory will be a copy of MODELA/III. Both will be saved together as a single file. This file will also be entered into the REAL NEWDOS directory (so we don't accidently overwrite it with other files) and just so that you know what it is, it'll be called MODELA/III. |
|
| So what happens? When LDOS tries to boot the disk, it finds an entry for MODELA/III in the area of the disk where LDOS looks for the directory. This dummy directory points a little further down into the file where MODELA/III actually exists! Confused? What can I say. Trust me on this one folks; it works. |
|
| Boot the system as follows using LDOS6.2 This technique is the norm for booting foreign systems on the 4P. |
| a) | Install any LDOS6.2 disk that contains the program MODELA/III, assuming you have one so prepared. If so, you will be prompted to install the disk containing the foreign system (NEWDOS, in this case) and you may skip the next step. If not, use your MODELA/III disk to boot, following step b) instead. |
| b) | Insert your MODELA/III and press the reset button. IMMEDIATELY press and hold down the F3 and P keys. You will then receive the prompt to switch disks. |
| c) | Install a VIRGIN copy of NEWDOS80 V2 in Drive 0. It should contain the NEWDOS program called SUPERZAP/CMD and ALL /SYS files should be present. |
| d) | Set the PDRIVE for Drive 1 as follows: |
|
PDRIVE 0,1,DDSL=29,A
|
| e) | Format and copy the disk on 0 to 1 as follows, using whatever you like for the current date: |
|
COPY 0,1,11/25/87,CBF,/SYS,FMT
|
| f) | Remove the virgin disk and install the newly created NEWDOS disk into Drive 0. Put the virgin disk into Drive 1 so you'll have use of the SUPERZAP program. |
| g) | Create a file entry called MODELA/III as follows: |
|
CREATE MODELA/III:0
|
| h) | Use SUPERZAP to modify the directory entry for MODELA/III on the disk in Drive 1 as noted below. If you have used a virgin disk, you will find the directory entry for MODELA/III at disk sector 299. |
|
FROM: 1000 0000 004D 4F44 454C 4120 2049 4949
9642 9642 0000 FFFF FFFF FFFF FFFF FFFF
TO: 1000 0000 004D 4F44 454C 4120 2049 4949
9642 9642 0000 3600 FFFF FFFF FFFF FFFF
|
| The only actual change is the 4th pair on the second line of the entry from FFFF to 3600. |
| i) | Remove the virgin disk from Drive 1 and install the disk that came with your Model 4P system called MODELA/III. (Yeah, I know it's an LDOS disk. Be cool..) |
| j) | Check to make sure your PDRIVE setting is as noted below on Drive 0, entry for Drive 4 (it will be if you're using a virgin disk like I told you to!) | |
|
TI=AM,TD=E,TC=40,SPT=18,TSR=3,GPL=6,DDSL=17,DDGA=2
|
| k) | If not, fix it! |
| l) | Copy the program MODELA/III to the NEWDOS disk with the following command: |
|
COPY MODELA/III:1 :0 SPDN=4
|
| m) | Remove the MODELA/III disk from Drive 1 and reinstall the disk containing SUPERZAP. |
| n) | Using SUPERZAP, Copy Disk Sectors (CDS) on Drive 0. You want to copy 10 sectors from 290 to 522. This makes a duplicate directory up in an unused region. |
| o) | Using SUPERZAP, modify the entry for MODELA/III in the "fake" directory as follows. You should find the entry in drive relative sector 531. |
|
FROM: 1020 0000 004D 4F44 454C 4120 2049 4949
9642 9642 3900 360B FFFF FFFF FFFF FFFF
TO: 1000 0000 004D 4F44 454C 4120 2049 4949
9642 9642 3900 1E09 FFFF FFFF FFFF FFFF
|
| Note that the only actual changes were from 1020 to 1000 in the top line, and from 360B to 1E09 in the second line. |
| p) | Using SUPERZAP, modify the entry for MODELA/III in the REAL directory as follows. The entry will be at drive relative sector 299 like it was the first time you diddled with it: |
|
FROM: 1020 0000 004D 4F44 454C 4120 2049 4949
9642 9642 3900 360B FFFF FFFF FFFF FFFF
TO: 1000 0000 004D 4F44 454C 4120 2049 4949
9642 9642 4D00 340F FFFF FFFF FFFF FFFF
|
| Note that the changes here are from 1020 to 1000 in the first line, and from 3900 to 4D00 and from 360B to 340F in the second line. |
| q) | Since you have a virgin copy of NEWDOS in Drive 1 (right?) you should have DIRCHECK/CMD on it as it came from Apparat. Execute DIRCHECK, specifying Drive 0 as the target drive. Everything being the way it ought to be, you should get the following error messages at the end of the program: |
|
34,0 ***** GRANULE FREE, BUT ASSIGNED TO FILE(S)...
34,1 ***** "
35,0 ***** " (Each should be shown as assigned
35,1 ***** " to FILE(S) 67 MODELA/III.)
36,0 ***** "
|
| r) | Using SUPERZAP, go to the GAT sector (drive relative sector 290) and correct the errors caught by running DIRCHECK: |
|
Change relative byte 34 from FC to FF
Change relative byte 35 from FC to FF
Change relative byte 36 from FE to FF
|
|
|
| ALL DONE! You now have a bootable NEWDOS disk. When you remember what life is like without the PDRIVE command, you'll believe it was worth it! |
Another Method by Russ McElroy, CIS 72235,615
| You will need two SS 40 track disk drives, NEWDOS80 (and SUPERZAP), and a TRSDOS 6.x system disk (with MODELA/III). What we will do is create a new system file 'SYS22/SYS' which will consist of the MODELA/III file preceeded by a mock TRSDOS 1.3 FPDE positioned so the 4P will find it on bootup. The 4P will use this mock directory entry to locate the ROM image and will then proceed to load it, thereby booting without the use of a TRSDOS 1.3 diskette! |
| One caveat: I tried using the MODELA/III file supplied with LSDOS 6.3, but found it would not work correctly. Using the original version I got with my 4P solved the problem. If, upon booting your zapped NEWDOS80 system, you find yourself with no repeat keys (ie. hold down a key and see if it repeats), it is likely you'll need to use an older version of MODELA/III. |
| 1. | Boot up a NEWDOS80 system and set up the PDRIVE table to copy the system: PDRIVE 0,1=0. Press reset to load the new pdrive info. |
| 2. | Make a backup of the NEWDOS80 system onto a disk in drive 1 using: |
|
COPY,0,1,,CBF,FMT,/SYS,NDMW
|
| This copies only /SYS files onto the new system disk. |
| 3. | Put the mock TRSDOS 1.3 FPDE on the new system disk using SUPERZAP. At DRS 308, starting at byte 00 enter the following bytes: |
|
100A 5400 004D 4F44 454C 4120 2049 4949
9642 9642 3900 1133 FFFF FFFF FFFF FFFF
|
| 4. | Update the GAT to reflect the space to be occupied by the SYS22/SYS file. At DRS 170, starting at byte 1EH enter the following bytes: |
|
FEFF FFFF FFFF FF
|
| This lets the system know that this space is occupied. |
| 5. | Add the HIT entry for the SYS22/SYS file. At DRS 171, byte 60H enter the following byte |
|
25
|
| This is the hash code for 'SYS22/SYS' in the proper position so the system can locate the FPDE. |
| 6. | Use the CDS function of SUPERZAP to copy the 57 sectors of the MODELA/III file from a TRSDOS 6.x system disk to the new system disk. To do this, mount the TRSDOS disk in drive 0 and copy 57 sectors from DRS 660 of the TRSDOS disk to DRS 312 of the new NEWDOS80 system disk in drive 1. |
|
| That's all there is to it! |
|
The MODELA/III file must be loaded from a diskette in the TRSDOS 1.x, LDOS 5 or LS-DOS 6.x format. The 4P Boot ROM doesn't understand any of the other directory/filesystem layouts, and by default the NEWDOS disk format is quite different.*
|
|
The normal process for booting an "alien" format diskette is:
|
1. Insert the diskette with MODELA/III on it and press reset.
2. If that diskette is LS-DOS 6, press the [3] or [F3] key within three
seconds.
3. Press the [P] key to indicate that you want to swap diskettes.
You must also do this within the three seconds after pressing RESET.
(You can press the F3, 3 and P keys in any order or all at once.)
4. The system prompts to change diskettes. Insert NEWDOS, MultiDOS
or whatever non-TRSDOS/non-LDOS format OS this is.
5. Press [ENTER] to boot the other operating system when the new diskette
is in place.
|
Once loaded, if you press RESET or otherwise reboot, the MODELA/III image will still be there and you can boot directly onto the NEWDOS or other Model III OS without having to swap diskettes again or pressing any other keys. If you cycle power, you will have to repeat the first procedure.
|
|
Optional keys related to Model III-mode booting are [L], which means says to load the Model III image even if it doesn't appear to be needed, and [N], which says to NOT load the ROM-image even if it does appear to be needed.
|
|
* Implied in that is if you make a NEWDOS diskette with a directory cylinder pointer in the boot sector that points to a cylinder that "looks" like a LDOS/LS-DOS diskette directory track, and it contains a LDOS/LS-DOS/TRSDOS-style directory entry that points to a cylinder/sector position containing the MODELA/III file data, *then* you could load from a non-TRSDOS/LDOS/LSDOS OS, and someone has done this, but you have to make a very strange looking disk layout to make it occur and it wastes a lot of space. This exercise is left to those with lots of spare time.
|
For the more adventuresome ...Another Method
|
Build a diskette with a boot sector that doesn't look like a Model III-mode boot sector. This means the ROM won't try to load MODELA/III at all, assuming it's a Model 4-mode diskette. Then when the boot sector is loaded and control is transferred to it, it can do anything it wants to. You could write a boot sector that knows where to load the MODELA/III file from on this alien disk format and load it yourself before loading the rest of the OS, or you could concatenate the BOOT/SYS or SYS0/SYS modules of the operating system onto the contents of a MODELA/III file, which loaded everything as though it was one big file. Typically the MODEL%/III contents needs to be loaded first, so that later stages of the boot process will have the old Model III ROM functions available for use, such as to print those boot-up screens.
|
|
In theory, you could do the latter (build a blob file containing both MODELA/III and BOOT/SYS contents) and let the boot ROM do the work (ie load MODELA/III contents and BOOT/SYS that have been combined in one file), but it would be much easier to simply not let the boot ROM try to load a MODEL%/III file and take over things from there. You can't make the 4P-ROM know about any new disk formats, so the best choice is to not rely on it at all for that function.
|
|
To decide if the MODELA/III file is needed, the 4P ROM scans sector 1 on the floppy diskette looking for the CD XX 00 (CALL 00XXH) instruction sequences and other clues. If it finds any, it knows the boot sector is expecting the Model III ROM image to be there, so the 4P-ROM loads the ROM image first before turning control over to the boot sector. Frequently, the only reference to the "A" ROM address range in the boot sector would be to display a message like "DISK ERROR", but that one hit was enough to make the determination automatic. I recall that during development back in 1983, Frank Durda IV tested several dozen alien diskette formats, including all the Kim Watt stuff, looking for signatures like this.
|
Another solution, by Tony Domigan and Northern Bytes, Vol.5, #7, Page 14
|
MODELA/III can be copied to LDOS 5.x and TRSDOS 1.3B diskettes so that they can Cold Start on the Model 4P. If, however, you wish to use NEWDOS/80 version 2.0 the only option is to load MODELA/Ill with 'pause' and then enter your NEWDOS disk - two operations not very convenient. Furthermore, the Model 4P hardware seems to check the boot sector (sector 1) in a way which excludes any DOS other than TRSDOS or LDOS.
|
|
The method I have used relocates the NEWDOS directory to lump 36 i.e. track 20; the same track on which the LDOS directory resides,
|
|
The FPDE for MODELA/III is created and the directory entry modified so that when the file is copied from the TRSDOS MODELA/Ill disk it will be copied to a true track. I have used track 30 as it is not allocated in a standard NEWDOS diskette,
|
|
The ROM file is then modified on the NEWDOS diskette so that the bootstrap loader will select sector 0 to boot the diskette.
|
|
Using Superzap the MODELA/III FPDE is again modified to read Track lEH or 30 decimal and the total granules changed to 09H. The normal boot sector (sector 1) is modified with 3 bytes located by the hardware in checking for a TRSDOS or LDOS disk.
|
|
The diskette is now configured such that the hardware assumes it is an LDOS diskette with the ROM starting on track 30 decimal, Once loaded the ROM bootstrap boots NEWDOS from sector 0.
|
|
1. | Construct a new system diskette with a directory on lump 36 - e.g.
|
PDRIVE,0,1,DDSL=36,A
COPY,0,1,00/00/00,CBF,FMT,NDP=NEWDOS4P,DPDN=1
|
|
2. | Boot the new system diskette,
|
|
3. | Create a file called MODELA/III - e.g.
|
CREATE MODELA/III:0
|
|
4. | Using Superzap, page through the directory, from relative sector 360, till the FPDE for MODELA/Ill is located, Modify Bytes 21-24 in FPDE i.e.
|
0000 FFFF to 3900 36DB
|
|
5. | From 'NEWDOS READY" copy MODELA/Ill from the TRSDOS 1.3B boot disk to the new NEWDOS disk - e.g.
|
COPY MODELA/III:1 :0 SPDN=4
|
|
6. | Using Superzap locate the MODELA/III FPDE and modify bytes 20-24 i.e.
|
Find 3900 360B Change to 3900 1E09
|
|
7. | Using Superzap 'DFS' modify MODELA/Ill at FRS 53 Relative Byte 39 i.e.
|
Find 3E01 D3F2 Change to 3E00 D3F2
|
|
8. | Using Superzap modify the first sector (360) of the directory (GAT). Change relative bytes 36H to 3BH inclusive to FF (i.e. lump(s) allocated),
|
|
9. | Modify Disk Relative Sector 1 at relative byte 0: Do a 'ZTFF' to zero the sector and modify:
|
Relative Byte 02 ==> 14
Relative Byte 14 ==> 28
Relative Byte SA ==> CD
|
|
10. | Now the easy part, RESET the 4P holding the 'P' and 'L' keys, If the ROM fails to load successfully then recheck the FPDE entry and the Sector 1 bytes. If the ROM loads successfully but NEWDOS fails, either partly or completely, then recheck the patch to MODELA/Ill (or perhaps you have accidentaliy written to the wrong part of the system!).
|
|