Scor­pio News

  

July–September 1987 – Volume 1. Issue 3.

Page 30 of 67
RAM Start
Address
V
Function

V
Image File Start
Address
      V
0FFD0H >Z3 CCP Stack042D0H < Set to All 00’s^
0FF00H >Z3 Cmd Buff04200H < Startup Command, then 00’s
0FED0H >Z3 Ext FCB041D0H < Set All 00’s
0PES0H >Z3 Msg Buffs04180H < Set All 00’sZCPR3
0FE00H >Z3 Shl Stack04100H < Set All 00’sBuffers
0FD00H >Z3 SYS.NDR04000H < Overlay with SYS.NDRand
0FC00H >Z3 SYS.ENV03F00H < Overlay with SYS.ENVSegments
0FA00H >Z3 SYS.FCP03D00H < Overlay with SYS.FCP
0F200H >Z3 SYS.RCP03500H < Overlay with SYS.RCPv
0DE00H >CBIOS02100H < BIOS (Possibly Overlaid)^
0D0C0H >BDOS/​BDOSZ01300H < BDOS (Possibly Overlaid)Normal
0C800H >ZCPR3 CCP00B00H < Z3 CCP OverlayMOVCPM
N/A >Cold Boot Ldr.00900H < System Cold Boot LoaderImage
N/A >MOVCPM00100H < MOVCPM relocation modulev

Fig 1. Setting up an entire Z3 System Track Image.

The starting point for this operation is MOVCPM.COM. The first step is to generate a CP/M with CCP starting at 0C800H. This can be achieved by setting the byte at 023DH in MOVCPM to 18h to reserve 24 extra pages, and then issuing the command MOVCPM 64 *. Once MOVCPM has completed its task, the system image in the TPA is saved to a file – SAVE 42 CPMC8.COM. We now have a CP/M system that should run at 0C800H. This can be checked by SYSGENing it, booting and running one of the CPM address display utilities described above. Note that the byte at 023DH in MOVCPM reserves extra memory for a larger or smaller BIOS in 256 byte units. Add 1 for each extra ‘page’ of memory required.

If you are using Gemini BIOS 3, then MOVCPM is not used. You can still generate your system, CPM64W for example, reserving sufficient workspace pages in the SYSTEMW.CFG file to get CP/M down to the target area.

The important thing to remember is that the system that is being constructed is to boot from a Winchester, so the Cold Boot Loader sector must be suitable for this purpose. The loader in CPM64W is O.K. but those in CPM64F and CPM64FW are not. If it is intended to create a completely new system, (i.e. Z3 CCP, BDOSZ, and a modified or non Gemini BIOS, the Winchester cold boot loader can be transported from a CPM64W file, or the new parts of CP/M can be overlaid on the CPM64W file.

CPMC8.COM or CPM64W can be loaded into memory with a DEBUG program. At this stage, all that will exist in RAM will be that shown in the diagram from 100H to about 3000H. The top address is vague because the exact address will depend on the BIOS present, and there may be other bit map data present. The cold boot loader that loads the rest of CP/M off of the disk into memory will be present at 900H, CCP at B00H, BDOS at 1300H, and BIOS at 2100H. The MOVCPM relocator will occupy the area from 100H to 8FFH.

Page 30 of 67