home *** CD-ROM | disk | FTP | other *** search
- TITLE SECRETS OF CP/M VERSION 1.4
- FILENAME SECRET14.DOC
- AUTHOR Robert A. Van Valzah 4/27/78
-
-
- M Y S T E R Y B D O S F U N C T I O N S
-
- FUNC ACTION
- ---- ------
- 28 MAKE CURRENT DRIVE READ ONLY (R/O)
-
- 29 RETURN R/O VECTOR. RETURNS A BYTE VALUE (IN REG A)
- WITH A "1" IN BIT POSITIONS OF R/O DISKS, LEAST
- SIGNIFICANT BIT CORRESPONDING TO DRIVE A.
-
- 30 SET DIRECTORY I/O DMA ADDRESS. INITIALLY SET TO 80H.
- DISK DATA I/O CONTINUES AT THE LAST ADDRESS SET BY
- FUNCTION 26.
-
-
- B O O T A N D G O M O D F O R C C P
-
- There are some dedicated CP/M applications where it
- would be nice if a cold start would load CP/M and then load a
- transient and give it control. This could be used to make a
- disk which would always power up in BASIC, for instance. This
- capability has been built into CP/M version 1.4.
-
- THEORY
- ------
- When the CCP is loaded, it checks its console input
- buffer to see if a command is waiting. As supplied by Digital
- Research, this buffer is empty and the CCP simply signs on and
- prompts the user for input. The task at hand, therefore, is to
- fill this buffer so its contents will be executed as a CCP
- command as the CCP is loaded. Assuming you have SID and desire
- a command length of <=16 characters, this is quite simple:
-
- 1) Load an image of your operating system into low memory
- (ready for SYSGEN). EX: SID CPMnn.COM
-
- 2) Type "I" followed by the command line as you like CCP
- to execute it. EX: ISTAT.COM
-
- 3) Type M80,90,987
-
- 4) Boot and SYSGEN a disk in the normal manner.
-
- The disk will now boot and execute the command typed
- in step 2 above.
-
- If you don't have SID or desire a command line longer
- than 16 characters:
-
- 1) Perform step 1 above (use DDT if needed).
-
- 2) Patch the length of your command into location 987H.
-
- 3) Patch the ASCII of the command into memory starting at
- location 988H, following it with the Digital Research
- copyright message "COPYRIGHT (C) 1978, DIGITAL
- RESEARCH ".
-
- 4) Perform step 4 above.
-