; SETUP file for MP/M II 580 series ; As distributed on the MASTER MP/M disk ; Will Be altered by INSTALL according system configuration ; ; This file is (200h) long ,4 logical 128 byte sectors ; To change number of logical drives and drive sizes ; replace disk parameter blocks for the hard disks, and ; number of logical drive paramters, and assign appropriate ; names. ; ; ; This file is read in at initialization time. ; The allocation vectors vectors for the ; hard disk logical drives will be assigned automatically ; at MP/M initialization time, as ; specified in the disk parameter blocks ; This file can be assembled using the RMAC assembler ; The number of logical drives and size of the logical ; drives can be changed. For details on the disk parameter ; blocks, refer to MP/M SYSTEM GUIDE ; Do not change floppy disk paramters, These are not copied ; at system initialization time. This might be changed in ; future versions page ; Some equates ; Buad rates for serial channels (Low byte, Bits 0-3 ) B110 equ 0 ;Baud rate values, 110 B300 equ 1 ;.. 300 B600 equ 2 ;.. 600 B1200 equ 3 ;.. 1200 B2400 equ 4 ;.. 2400 B4800 equ 5 ;.. 4800 B9600 equ 6 ;.. 9600 ; Number of bits per/character (Low byte, Bits 4-5) BITS5 equ (0 SHL 4) ;5 bits /char BITS6 equ (2 SHL 4) ;6 bits /char BITS7 equ (1 SHL 4) ;7 bits /char BITS8 equ (3 SHL 4) ;8 bits /char ; Stop bits (High byte, Bits 2-3) STOP1 equ (1 SHL 2) ;1 stop bit STOP12 equ (2 SHL 2) ;1-1/2 stop bits STOP2 equ (3 SHL 2) ;2 stop bits ; Parity bits (High byte, Bits 0-1) PDIABLE equ 0 ;Disable parity PENABLE equ 1 ;Enable parity PODD equ 0+PENABLE ;Parity Odd PEVEN equ 2+PENABLE ;Parity Even ; Interrupt flag (High byte, Bit 6) INTEN equ (0 SHL 6) ;Enable interrupts POLLEN equ (1 SHL 6) ;Disable interrupts (poll) ; Default values ( bits/char, 1 stop bit, 8 bits/char, no parity, interrupt mode) DEFLOW equ ( BITS8 + B9600) DEFHIGH equ (INTEN + STOP1 + PDIABLE ) page ; SETUP TABLE ; ----------- ptbl: db 01h ;Parameter bits ;bit 0, 0 = one sided floppy ; 1 = two sided floppy ;bit 1, 0 = serial port printer ; 1 = parallel port printer ;bit 2-7 reserved db 0 ;reserved for future parameter bits db 0 ;reserved for future use db 0 ;number for the parallel port printer ; The SIO's will be programmed according to the following values db DEFLOW,DEFHIGH ;Console 0 db DEFLOW,DEFHIGH ;Console 1 db DEFLOW,DEFHIGH ;Console 2 db DEFLOW,DEFHIGH ;Console 3 (Not supported, Series-5) db DEFLOW,DEFHIGH ;Printer 1 ; db DEFLOW,DEFHIGH ;Printer 2 (Not supported, Series-5) ; The following values will be adjusted in setup.fil by the ; INSTALL program, depending on the system configuration ;floppy drive logical names (default A:,B:) ;.. Maximum 4 drives ; 02,03,0ffh,0ffh will assign C: to floppy 1 and D: to floopy 2 db 00,01,0ffh,0ffh ;Hard disk #1 logical names (default C:) ;.. Maximum 5 logical drives ; 00,0ffh,0ffh,0ffh,0ffh will assign A: to first logical drive db 02h,0ffh,0ffh,0ffh,0ffh ;Hard disk #2 logical names ;.. Maximum 5 logical drives db 0ffh,0ffh,0ffh,0ffh,0ffh ;Virtual disk logical name, default is M: ; 00h will assign A: to the virtual disk db 0ch db 0ffh ;reserved db 32h ;number of floppy drives ;.. Default 2 drives db 31h ;Hard disk #1 type ;.. Default 5Mb ;0=none, 1=5mb, 2=10mb, 3=20mb ;4=30mb, 5=40mb etc (up to 8) db 30h ;Hard disk #2 type ;.. Default None db 31h ;number of logical drives ;for first hard disk drive ;.. Default 1 db 30h ;number of logical drives ;for second hard disk drive ;.. Default None dw 153 ;Number of cylinders/device db 4 ;Number of heads/cylinder db 17 ;Number of 512 byte sectors/track dw 153 ;Number of cylinders/device db 4 ;Number of heads/cylinder db 17 ;Number of 512 byte sectors/track page org 80h ;Must start here ;Disk parameter blocks for floppy drives ;Floppy # 1 ;Double sided, double density, 512 byte sectors dw 36 ;sectors per track, 9, 512 byte sectors ;.. 36, 128 byte sectors/track db 5 ;Block shift (4k block size) db 31 ;Block mask (4k block size) db 3 ;Extent mask dw 176 ;(Disk size) - 1 ;Total capacity of disk in bytes/block size - 1 ;Total number of tracks = 160 ;Bytes/track = 512*9 ;Capacity = 512*9*160 = 737280 bytes ;Two reserved tracks = 512*9*2 = 9216 bytes ;Actual capacity = 737280-9216 = 728064 ;Disk size in 4k blocks = 728064/4096 = 177 dw 176 ;(Directory max) - 1 = disk size in blocks db 0c0h ;Alloc0 (2 4k blocks for directory space) db 0 ;Alloc1 dw 44 ;Check size (Directory max/4) dw 2 ;Offset (reserved tracks) ;Disk parameter blocks for floppy drives ;Floppy # 2 ;Double sided, double density, 512 byte sectors dw 36 ;sectors per track, 9, 512 byte sectors ;.. 36, 128 byte sectors/track db 5 ;Block shift (4k block size) db 31 ;Block mask (4k block size) db 3 ;Extent mask dw 176 ;(Disk size) - 1 ;Total capacity of disk in bytes/block size - 1 ;Total number of tracks = 160 ;Bytes/track = 512*9 ;Capacity = 512*9*160 = 737280 bytes ;Two reserved tracks = 512*9*2 = 9216 bytes ;Actual capacity = 737280-9216 = 728064 ;Disk size in 4k blocks = 728064/4096 = 177 dw 176 ;(Directory max) - 1 = disk size in blocks db 0c0h ;Alloc0 (2 4k blocks for directory space) db 0 ;Alloc1 dw 44 ;Check size (Directory max/4) dw 2 ;Offset (reserved tracks) page org 100h ;Must start here ; Disk parameter blocks for Hard disk #1 logical drives ; Default = 5Mb drive (153 Cylinders, 4 Heads, 17 Sectors) ; Install will adjust the following disk parameter blocks ; according types of hard disks in the system. ; Total capacity of disk in bytes/block size - 1 ; Total number of tracks = (Cylinders * Number of heads/cylinder ; .. = 153*4 = 612 ; Bytes/track = 512*17 ; Capacity = 512*17*612 = 5326848 bytes ; Four reserved tracks = 512*17*4 = 34816 bytes ; Actual capacity = 5326848-34816 = 5292032 ; Disk size in 4k blocks = 5292032/4096 = 1292 ; Can be replaced by up to five logical drive parameter blocks ; ******* CAUTION ****** ; The mpm loder can load mpm.sys, and setup.fil only if ; both files are within the first 8 megabytes of first logical disk. ; Also the block size for the loader is currently 4k. If you want ; to change this, patch mpmhdldr.com disk paramter block and reinstall ; using the new mpmhdldr.com fil ; The patch address under ddt for parameter block starts at 01CCEH Hd1lg1: ;Hard disk 1, logical drive 1 ;5,326,848 bytes dw 68 ;17 , 512 bytes /Sec per track ;68, 128 byte logical sectors db 5 ;Block shift (4k block size) db 31 ;Block mask (4k block size) db 1 ;Extent mask dw 1291 ;(disk size) - 1 dw 1291 ;(Directory max) - 1 db 0ffh ;Alloc0 (8 4k blocks) db 224 ;Alloc1 (2 4k blocks) dw 08000h ;Check size (permanent disk) dw 4 ;Offset (reserved) page org 180h ;Must start here ds 128 ;room for disk parameter blocks ; Disk parameter blocks for Hard disk #2 logical drives ; Default none ; Can be replaced by up to five logical drive parameter blocks page ; DEFAULTS for other Hard disk types, as set up install ; 10Mb hard disk with two logical drives ; 306 Cylinders, 4 Heads/cylinder, 17 Sectors ; Total capacity in bytes = (306*4*17*512) = 10653696 ; Total resrevd capacity = (8*17*512) = 69632 ; Actual capacity = Total - Resreved = 10584064 ; Capacity/logical drive = Actual/2 = 5292032 ; Total number of bytes/track = (512*17) = 8704 ; Total number of tracks/logical drive = 5292032/8704 ; = 608 ;Logical drive 1 (5,292,032 bytes) ; dw 68 ;Sec per track ; db 5 ;Block shift ; db 31 ;Block mask ; db 1 ;Extent mask ; dw 1291 ;(disk size) - 1 ; dw 1291 ;(Directory max) - 1 ; db 0ffh ;Alloc0 ; db 224 ;Alloc1 ; dw 08000h ;Check size (permanent disk) ; dw 4 ;Offset ; ;Logical drive 2 (5,292,032 bytes) ; dw 68 ;Sec per track ; db 5 ;Block shift ; db 31 ;Block mask ; db 1 ;Extent mask ; dw 1291 ;(disk size) - 1 ; dw 1291 ;(Directory max) - 1 ; db 0ffh ;Alloc0 ; db 224 ;Alloc1 ; dw 08000h ;Check size (permanent disk) ; dw 616 ;Offset = 4 + 608 + 4 page ; DEFAULTS for other Hard disk types ; 10Mb hard disk with one logical drive ; 306 Cylinders, 4 Heads/cylinder, 17 Sectors ; Total capacity in bytes = (306*4*17*512) = 10653696 ; Total resrevd capacity = (4*17*512) = 34816 ; Actual capacity = Total - Resreved = 10618880 ;10,618,880 bytes ; dw 68 ;Sec per track ; db 5 ;Block shift ; db 31 ;Block mask ; db 1 ;Extent mask ; dw 2591 ;(disk size) - 1 ; dw 1291 ;(Directory max) - 1 ; db 0ffh ;Alloc0 ; db 224 ;Alloc1 ; dw 08000h ;Check size (permanent disk) ; dw 4 ;Offset page ; DEFAULTS for other Hard disk types ; 20Mb hard disk with two logical drives ; 306 Cylinders, 6 Heads/cylinder, 17 Sectors ; Total capacity in bytes = (306*6*17*512) = 15980544 ; Total resrevd capacity = (6*17*512) = 52224 ; Actual capacity = Total - Resreved = 15928320 ; Capacity of first logical drive = 8,388,608 ; Capacity of second logical drive = 7,539,712 ; Total number of bytes/track = (512*17) = 8704 ; Total number of tracks/first drive = 8388608/8704 ; = 964 ; Offset for second logical drive = 6 + 964 ; 8,388,608 bytes ; dw 68 ;Sec per track ; db 5 ;Block shift ; db 31 ;Block mask ; db 1 ;Extent mask ; dw 2047 ;(disk size) - 1 ; dw 1291 ;(Directory max) - 1 ; db 0ffh ;Alloc0 ; db 224 ;Alloc1 ; dw 08000h ;Check size (permanent disk) ; dw 6 ;Offset ; 7,536,640 bytes (Rounded off to multiple of 4096) ; dw 68 ;Sec per track ; db 5 ;Block shift ; db 31 ;Block mask ; db 1 ;Extent mask ; dw 1839 ;(disk size) - 1 ; dw 1291 ;(Directory max) - 1 ; db 0ffh ;Alloc0 ; db 224 ;Alloc1 ; dw 08000h ;Check size (permanent disk) ; dw 970 ;Offset page ;DEFAULTS for other Hard disk types ; 30Mb hard disk with three logical drives ; 512 Cylinders, 6 Heads/cylinder, 17 Sectors ; Total capacity in bytes = (512*6*17*512) = 26738688 ; Total resrevd capacity = (6*17*512) = 52224 ; Actual capacity = Total - Resreved = 26686464 ; Capacity of first logical drive = 8,388,608 ; Capacity of second logical drive = 8,388,608 ; Capacity of third logical drive = 8,388,608 ; Capacity of fourth logical drive = 1,520,640 ; Total number of bytes/track = (512*17) = 8704 ; Total number of tracks/first drive = 8388608/8704 ; = 964 ; Offset for second logical drive = 6 + 964 ; Offset for third logical drive = 6 + 964 + 964 ; Offset for fourth logical drive = 6 + 964 + 964 + 964 ; ; 8,388,608 bytes ; dw 68 ;Sec per track ; db 5 ;Block shift ; db 31 ;Block mask ; db 1 ;Extent mask ; dw 2047 ;(disk size) - 1 ; dw 1291 ;(Directory max) - 1 ; db 0ffh ;Alloc0 ; db 224 ;Alloc1 ; dw 08000h ;Check size (permanent disk) ; dw 6 ;Offset ; ; 8,388,608 bytes ; dw 68 ;Sec per track ; db 5 ;Block shift ; db 31 ;Block mask ; db 1 ;Extent mask ; dw 2047 ;(disk size) - 1 ; dw 1291 ;(Directory max) - 1 ; db 0ffh ;Alloc0 ; db 224 ;Alloc1 ; dw 08000h ;Check size (permanent disk) ; dw 970 ;Offset ; ; 8,388,608 bytes ; dw 68 ;Sec per track ; db 5 ;Block shift ; db 31 ;Block mask ; db 1 ;Extent mask ; dw 2047 ;(disk size) - 1 ; dw 1291 ;(Directory max) - 1 ; db 0ffh ;Alloc0 ; db 224 ;Alloc1 ; dw 08000h ;Check size (permanent disk) ; dw 1934 ;Offset ; ; 1,520,640 bytes ; dw 68 ;Sec per track ; db 5 ;Block shift ; db 31 ;Block mask ; db 1 ;Extent mask ; dw 370 ;(disk size) - 1 ; dw 370 ;(Directory max) - 1 ; db 0ffh ;Alloc0 ; db 224 ;Alloc1 ; dw 08000h ;Check size (permanent disk) ; dw 2904 ;Offset ;DEFAULTS for other Hard disk types ; 40Mb hard disk with three logical drives ; 512 Cylinders, 8 Heads/cylinder, 17 Sectors ; Total capacity in bytes = (512*8*17*512) = 35,651,584 ; Total resrevd capacity = (8*17*512) = 69632 ; Actual capacity = Total - Resreved = 35,581,952 ; Capacity of first logical drive = 8,388,608 ; Capacity of second logical drive = 8,388,608 ; Capacity of third logical drive = 8,388,608 ; Capacity of fourth logical drive = 8,388,608 ; Capacity of fifth logical drive = 1,949,696 ; Total number of bytes/track = (512*17) = 8704 ; Total number of tracks/first drive = 8388608/8704 ; = 964 ; Offset for second logical drive = 8 + 964 ; Offset for third logical drive = 8 + 964 + 964 ; Offset for fourth logical drive = 8 + 964 + 964 + 964 ; Offset for fifth logical drive = 8 + 964 + 964 + 964 +964 ; 8,388,608 bytes ;dpb40: ; dw 68 ;Sec per track ; db 5 ;Block shift ; db 31 ;Block mask ; db 1 ;Extent mask ; dw 2047 ;(disk size) - 1 ; dw 1291 ;(Directory max) - 1 ; db 0ffh ;Alloc0 ; db 224 ;Alloc1 ; dw 08000h ;Check size (permanent disk) ; dw 8 ;Offset ; ; 8,388,608 bytes ; dw 68 ;Sec per track ; db 5 ;Block shift ; db 31 ;Block mask ; db 1 ;Extent mask ; dw 2047 ;(disk size) - 1 ; dw 1291 ;(Directory max) - 1 ; db 0ffh ;Alloc0 ; db 224 ;Alloc1 ; dw 08000h ;Check size (permanent disk) ; dw 972 ;Offset ; ; 8,388,608 bytes ; dw 68 ;Sec per track ; db 5 ;Block shift ; db 31 ;Block mask ; db 1 ;Extent mask ; dw 2047 ;(disk size) - 1 ; dw 1291 ;(Directory max) - 1 ; db 0ffh ;Alloc0 ; db 224 ;Alloc1 ; dw 08000h ;Check size (permanent disk) ; dw 1936 ;Offset ; ; 8,388,608 bytes ; dw 68 ;Sec per track ; db 5 ;Block shift ; db 31 ;Block mask ; db 1 ;Extent mask ; dw 2047 ;(disk size) - 1 ; dw 1291 ;(Directory max) - 1 ; db 0ffh ;Alloc0 ; db 224 ;Alloc1 ; dw 08000h ;Check size (permanent disk) ; dw 2900 ;Offset ; ; 1,949,696 bytes ; dw 68 ;Sec per track ; db 5 ;Block shift ; db 31 ;Block mask ; db 1 ;Extent mask ; dw 475 ;(disk size) - 1 ; dw 475 ;(Directory max) - 1 ; db 0f0h ;Alloc0 ; db 000h ;Alloc1 ; dw 08000h ;Check size (permanent disk) ; dw 3864 ;Offset end