;********************************************************************** Title 'Cold Boot Loader Rev_E4 27_Jan_83 Copyright_1983 Morrow Designs' ;********************************************************************** ; ;The following Cold Boot Loader Programs are included in this module ;------------------------------------------------------------------- ; DJDMA Disk Jockey DMA controller with 8" Drives ; DJDMA Disk Jockey DMA controller with 5 1/4" Drives ; DJ2DB Disk Jockey 2D Rev_B (8" floppy) controller ; HDDMA Hard Disk DMA controller ; HDC3 Hard Disk Controller rev_3 ; ;Note: ;----- ; Provisions have been made for a Micronix boot loader for use with ; the DJDMA Controller. This loader always gets loaded to 0100h. ; ;System Memroy Maps ;================== ; 1) The following table gives a general idea as to where the ; various parts of of the operating system are in memory. ; 2) The amount of code and table space that can actually be ; loaded from the disk is fixed by the amount of space available ; on the system tracks. ; 3) Our most restrictive (smallest) drive is the 5 1/4 inch ; 'minnie floppy'. This drive has 20 512 byte sectors for ; a total of 10k bytes on the system tracks. The 8 inch ; floppy disk drive is also very close to being filled up. ; 4) Since 512 bytes are reserved for the cold boot loader we ; have a total of 9.5k bytes for the operating system. Out ; of this 5.5k bytes are used by the (CCP + BDOS) leaving ; us with a total of 4k bytes of loaded code and data space ; to play with. Right now we are using all of this space ; so any major additions will have to result in a little ; (lot?) of code shuffeling or in the creation of a Cbios ; that simply will not fit on a small disk drive. ; 5) The BIOS can take up as much as 6.4k bytes of space; However, ; only 4k bytes are actually on the disk. The remaining space is ; used for uninitialized storage. ; ; sysgen 48k 56k 60k 62k 64k ; image CP/M CP/M CP/M CP/M CP/M ; ; 900 ~~~~ ~~~~ ~~~~ ~~~~ ~~~~ Loader ; B00 9100 B100 C100 C900 D100 CCP ; 1300 9900 B900 C900 D100 D900 BDOS ; 2100 A700 C700 D700 EF00 E700 Cbios ; 3100 B700 D700 E700 FF00 F700 Tables (approx.) ; 35FF BFFF DFFF EFFF F7FF FFFF End of Memory ; ; ~~~~ 8900 A900 B900 C100 C900 DDT page ;***************************** ;Begin User Configuration Area ;***************************** ; ;Define TRUE and FALSE ;--------------------- ; TRUE equ 1 FALSE equ 0 ;Set the Memory Size ;------------------- ; msize equ 48 ;Memory size of target CP/M ;Boot Controller Selection ;------------------------- ; Only one of the following equates should be set to TRUE. The ; others sould be set to FALSE. These equates define the boot loader ; that is to be used. ; dmorder equ FALSE ;Set to boot a DJDMA controller 8" Drives) mforder equ TRUE ;Set to boot a DJDMA controller (5 1/4" Drives) fdorder equ FALSE ;Set to boot a DJ2D/B controller mworder equ FALSE ;Set to boot a HDDMA controller hdorder equ FALSE ;Set to boot an HDC3 controller ;Misc Equates ;------------ ; micron equ FALSE ;Set for Micronix boot loader (only DJDMA) absasm equ false ;set for MAC retries equ 10 ;Maximum # of disk retries page ;***************************** ;Begin Internal System Equates ;***************************** ; ;Sizes ;----- ; biosln equ 13h ;BIOS length in pages ccpln equ 800h ;Length of the CCP bdosln equ 0e00h ;Length of the BDOS size equ (msize*1024) ;Memory size in Kilo-bytes ;Starting addresses ;------------------ ; ccp equ size-(biosln*100h+ccpln+bdosln) bdos equ ccp+ccpln bios equ ccp+ccpln+bdosln