• Aucun résultat trouvé

CCS'S CONTROLLER-UNIQUE SOFTWARE

N/A
N/A
Protected

Academic year: 2022

Partager "CCS'S CONTROLLER-UNIQUE SOFTWARE"

Copied!
41
0
0

Texte intégral

(1)CCS'S. CONTROLLER-UNIQUE SOFTWARE. COPYRIGHT. 1980. CALIFORNIA COMPUTER SYSTEMS 250 CARIBBEAN DRIVE SUNNYVALE, CA 94086 89008-02600, rev C.

(2) First printing and. September. 1980. revised january 1981 Current to revision four of the software Updated. CP/M". is. a. trademark. of. Z-80". is. a. trademark. of Ziloq,. Digital. Research,. Inc.. Inc..

(3) TABLE ofCONTENTS PREFACE. l.0. l.l. System Memory Reserved Page. 0. RAÍ!. CCBIOS. 2.1. Description of CCBIOS Diskette Compatibility System CompatUñlity Software Compatibility Error Messages. ................... .................. .................... .................. ........................... 2.3. 2.4 2.5 CCS. 3.1 3.2 3.3. 3.4 3.5 A.0. l-l .................................. Configuration ............. l-2 l-2 ...................... CCBOOT. 2.2. 3.0. i. INTRODUCTION. 1.2 1.3 2.0. ....................................... SPECIAL UTILITY CCSINIT CCSYSGEN b'iOVCPl'-i GENMOD CCCOPY. APPLICATION Note Z'Iote Note Ldote. Note Note L·lote. l. 2 3 4 5 6 7. 2-l 2-l 2-3 Z-3 2-4. PROGRAUS. .................................. ................................. ................................... ................................... .................................... 3-l. 3-3 3-5 3-5 3-6. NOTES. Adding. Peripherals Double-sided Drives. .................... Step Rates ................... ............................ Drives ílini Lion-standard System ....................... Diskettes ......... Sector Skew ........................... Building Relocatable ........... 2IPI. a. BIOS. A-l. A^ A-ll A-13 A-15 A-19 A-21.

(4) PREFACE version of CP/M 2.2 is controller-unique CP/M is contained on the diskette shirmed with this manual. be under used and Research only can moprietarv to Diqital Please read the enclosed agreement, licensing license. and the mail reqistration card, to Diqital Research. out !3eirw registered your with Digital Research also ensures CP/M enhancements from receiving CíirectW any or updates to CP/M CCS'S 2.2 Research. modifications are to Diqital copyrighted; please out and return the enclosed card. Any enhancements or modificat.ions of CP/M reaistration We suqqest 2.2 for ces Tjroduct users will be sent to you. you make backup a of the system diskette as soon as Dossible; a label for your backup diskette, cowplete with serial number and information, is included in the the recruired corjyright system diskette's envelope. Your. copy. of. CCS'S. it. fill. i. fill.

(5) CHAPTER1 INTRODUCTION. SYstem's Comouter This manual describes California modifications and additions to Digital Research's distribution The standard distribution version of version of Cp/m 2.2. CP/M PÁcroprocessor work with an Intel is desianed to \Ñe have made Development System. the necessary modifications the operating system to work with CCS's Model 2810 Z-80 tor CPU and Model 2422 Floppy Disk Controller addition, set. In we have expanded the cauabilities of the standard version of 5Ei" cp,/y 2.2 sUpr)orts sincjle-sided drives and so that double-sided drives 3s webl as 8" sinqle-sided drives. It both and also sinqlediskettes double-density supports 34 and conforminq to the IBM 3740 and System formats containincj either 128, 256, 512, or 1024 bg'tes per sector. 13". it. The extensively modified or uñicjue Dcrtions of tm" software include the svsterr lcader, the BIOS, and, to suoport the new BIOS, several of the utilitv capabilities of the Systems' system loader. CCBOOT, proqrams. CcÜifornia Comuter BIOS is described in section 1.1 below, while CCS's customized and srjecial and in rjrograTns described Charters are utilities To aid 3. the custoníi.ziW the soEtware, in further you ADDendix notes to orovi.áe includes anMication you with the system. information you need to tailor the software to your main charters and the aoplication the notes we have In both assumed that you are fami?iar with the and basic principles wish to read Íjiaital Research's terminology of CP/M. You manual "An Introduction and to CP/P! F'eatures lMcilities" if you are not familiar with CP/M. 2. Tñá\7. 1.1. CCBOOT. Durinq Sector Dl,. entry into cold-start 00 the. cp/.y, CCBOOT. systení diskette. 080h-(jFFh bv the. containeá in of is loaded into system memory ROX-resident at locations bootstraD loader. The bootstran loader actually reads in the who two sectors of Track 00, allowinq those users wish first CCBOOT be exnand able do to so without havi.nq to wodifv to to a. Track.

(6) l-2. INTRODUCTION. ROM. During a cold-start, then, the contents of 128 bytes of the second the sector will write over the TPA (OlOOh-017Fh). Once loaded, CCBOOT begins execution and (TRK 00 and Dl on an 8" the loads system tracks into memory 02 TRK 5'ií" 00, on a and diskette; diskette) Dl, of any IE3M-compatible then transfers system diskette. control to the cold-start routine in the BIOS. Please note that CCE'OOT 4 MHZ 8" read a system double-density recníires diskettes. to 5!í" diskettes in a 2 MHz system.) can read double-density Neither CC'3OOT nor the ROM-resident bootstrap loader is 8080-comoatible; you plan to use either in an 8080 svstem. the Z-80 unicníe instructions changed must be to their 8080. the. monitor. first. It. (It. if. eauiv4lents.. 1.2. SYSTEMMEMORYCONFIGURATION The. system load in memory is organized as shown in vour "CP/M 2.2 Interface Guide." Research Manual However, Diqital 2K CBASE, IOcM, base the the systern neq3tively is offset of CP/M load to allow coííwared to the normal for the enlarqed Thus while CBASE in Diaital Research's 20K distribution BIOS. is at 2COOh in CCS'S 20K version of CP/M 2.2 is at 340Oh, For each size memory confiqur2tiQn, then, the space version. 2K TPA CCS'S the version is in less than in a available for normal CP/M load. a This is true even runnim you are CCP the the address beainninq with overlaid; program transient load in this case, FBASE, is also neq?tive1y of the svstem 2K from the standard CP/M load. please note that the offset be by 2K, BIOS or 80Oh. offset entry points into the will also. it. if. 1.3. RESERVED Paqe. O. PAGEORAM. (OOh-OFFh) in CCS'S version. a. CP/M system CP/M uses CP/M. is reserved for system. uniome par¿igmeters of parameters. standard addition on the in to the parameters. Table CCS'S by the used following locations page paqe lists CP/M 2.2. version of O. some. l-l.

(7) l-3. INTRODUCTION. Contents. Address 0OOOh-O002h. These locations the warm-start. to. is stored in this value by location. is set to its default It CCBIOS and during preserved durinq cold-starts warn-starts.. Intel. The 0003h. contain a jump instruction entry point, 4203h+b.. Standard. IOBYTE. drive number is. stored in. 0004h. The. 0005h-O007h. These locations contain a jump instruction to the BDOS. The address contained in 0006-0007h is the beginning address of the BDOS and hence the lowest address in memory used }jy CP/M CCP the is overlaid.. current default this location.. if. 0008h-OOOAh 0Ol0h-O0l2h 00l8h-OOlAh 0020h-0022h 0028h-002Ah 0030h-0032h 0038h-003Ah. these Called by the Z-80 restart commands, locations contain jump vectors t'o the restart They are loaded by error routine in CCBIOS. CC!3IOS and during cold-starts can be overby Durim warmroutines. written restart Dreservea. the Locations are contents starts, 0038-003Ah into the contain a jump instruction the ddt when breakr)oints are being used in the debug. mode.. 0040h-0053h. used These locations contain disk parameters by CCBOOT, STDBIOS, and CCBIOS. Locations 0040-004Fh are defined by CP/M as user scratch 0050-0053h pad locations; are held reserved, but are not used by present versions of CP/M. 3 See Chapter for of your 2422 Owner's Manual a description of these locations' contents.. 005Ch-007Ch. The. CCP. control 007Dh-007Fh. these locations as a default block for the tremsient proqrarn. uses. locations are record position.. The.se qoip. Locations 080h-OFFh are when is loaded Track of sector first. default. ran-. temporarv buff>r for into memory frorn the 00 of the system disk. Since the 2422's POM-resident bootstrém loader reads in the two of Track ClO, sectors first OlOOh-017Fh locations into. are also written. 'table. a. it. CCBOOT. 0080h-OOFFh {0080h-017Fh). optional. the. file. l-l. Page 0"Parameters.

(8) CHAPTER2 CCBIOS. 2.1. DESCRIPTIONOFCCBIOS. Systems' Computer California customized, expanded BIOS. Designed to work with the Model 2810 Z-80 CPU CCBIOS 2422 and Model Disk Controller, Floppy contains the drivers and primitive disk routines for a necessarv console CP/M implements the Intel MDS IOBYTE system. basic as Manual and described in Chapter in of the 2422 Owner's "CP/M 2.2 Research's Álteration Guide." addition, In Digital CCBIOS of varyinq supports both maxi and mini diskettes formats by using a modified version of CP/M'S DEBLOCK sector CCBIOS'S buffering increased algorithms. capabilities, however, bought are at the expense of mace; CCBIOS is too system tracks of a standard diskette on the large to Since single-density in l28-byte, formatted sectors. medium diskettes of this format are the accepted for data CP/M decided exchange, ces standard on a to distribute which diskette and to locate CCBIOS in the file RLOCBIOS.COM, and a CCBIOS. consists of an executable relocator program, BIOS, bitmap. The system tracks contain a limited called STDBIOS works STDBIOS. is a "standard" CP/M BIOS in that only with diskettes formatted in l28-byte sinqle-density CP/M When is loaded into system memory from sectors. diskette. control is transferred to STDBIOS, which outputs the CP/M signori message and transfers The control to the CCP. CCP automatically RLOCBIOS.COM into the transient buffer loads and area control transfers to it. The relocator finds the location of the STDBIOS and lays CCBIOS the over it, usingCCBIOS bitmap to add the correct bias to the jump vectors. then transfers which control to the CCP, outputs the CP/M prompt. CCBIOS. is. 3. It. fit. it. 2.2. DISKETTE COMPATIBILITY CCBIOS. is designed with 5Z" and 8" to be compatÁble IBM conform the 3740 and soft-sectored blank diskettes that to 35 SYstem 34 standards for diskette format and that have and 77 diskette, tracks per respectively. supports Table double-sided 8" disket.tes as well. 2-l It shows the compatible diskette formats..

(9) 2-2. CCBIOS. BYTES PER SECTOR. DENSITY. Single. 1. Single. 256. Single. 5. 1pío. 1 2. Double. 256. Double. 5. disk capacity. of mini diskettes,. 18. 8". 26. 249,600. 5.25". 10. 81,920. 8". 15. 288,000. 5.25". 5. 81,920. 8". 8. 307,200. 2. 6 5,536. 8". 4. 307,200. 5.25". 29. 118,784. 8". 48. 460,800. 5.25". 18. 147,456. 8". 26. 499,200. 5.25". 10. 163,840. 8". 15. 576,000. 5. 163,840. 8. 614,400. 5.25". 8. 12. 5-25". 1024. 8". DISK. CAPACITY'. 73,728. bytes. in the case are based on single- sided diskettes , with 35 tracks tracks). minus the system and reflect user capacity (the total disk caµacity. figures. TABLE. O O. 5.25". 12. Double. Double. SECTORS PER TRACK. 28. 1024. Single. DISKETTE SIZE. 2-1. COMPATIBLE DISKETTE FORMATS. formatted in 128-bvte, IBM format to the stemdards. routine, CCSINIT. initialization 00 automatically in 128-byte, sinqle-density and should be used to initialize your blank diskettes sectors to ensure their conwatibility. Note that unless you modifv the software as described in Application Note 5, the system single-density diskette must also be format,ted i n l28-byte, sectors. Track. of sinqle-density. diskette as sectors, ces 's diskette formats Track any. mu. st. be. conforms. to be able to read recorded single-density, diskettes of standard l28-bvte sector. We cannot however, single-siáed thzt it format. guarantee, recorded read on diskettes formats other of different can CCBIOS. systems. .. has the. been. designed.

(10) 2-3. CCBIOS. 2.3. SYSTEM. COMPATIBILITY. to work in a system using the 2810 Controller set. The basic I/O routines, I/O byte handlers, and primitive disk routines are essentially same the of vour 2422 in Chapter routines as described MOSS As with the 2.2 Disk 2422'S Owner's .Manual. Monitor, CCBIOS the 28ló's I/O for routines only driver contains serial wish to add Should you I/O nort as console interface. see Ápglication perir)herals or change the console interface, the AUTO BOOT jumper on the 2422 is set to ON, so Note l. If that CP/M is automatically booted on reset, STDBIOS and CCBIOS Note that initialize the 2810'S serial port to 9600 baud. CCBOOT, and CCBIOS, unlike is 808D-comztible can read and write double-density diskettes in a 2 MHz system. CCBIOS. Z-80. CPU/2422. i.s. desiqned. Disk. 3. single-sided or software is designed to control SA800/850 8" Shugart the tjme or double-siáed drives of SA400 For tvDe. sÚ"iqle-sided 5.25" drives of the Shugart information on configuring your drives. see the 2422 Owner's Manual. Should you wish to use double-sided mini drives, contair"tinq mini more than 35 faster drives or step rate, tracks, see the aDproDriate Moplication Notes. The. a. 2.4. SOFTWARECOMPATIBILITY. add considerable deblockinq cawíbilities of CCBIOS mode deblocki.na the when However, system. yoÁjr f1exibilit\' to CP/M the last write to disk may Droarams, is used with certain be complete These riroqrams their action by writincj to lost. the disk and then "warm-booting" the system to return control Normally this causes no r)rob1en1, since in the to CP/M. non-deblock mode CUta is transferred directly to the disk. But in the deblockinq mode. data is transferred first to a such memory buffer which holds the data until an event as a subseouent read or write or directory oñeration uMate forces An the contents of the buffer to be out written to disk. a this occasional result of holdirW operation is that reboot beinq operation can be initiated without the memory buffer emptied Thus the data nevet qet final writes of To first. transferred from memory to disk and are lost. ensure yot.ír software is conwatible with the deblockinq mode. vou can do one of the followirW: The. l.. software, ensure that the final disk write CP/M urkiates. oDerations are directorv is set up to the immediately urkíate directorv on the disk everv time For. new.

(11) 2-4. CCBlOS. 128 bytes. of. sector) are buffer before 2.. directory transferred. a. warm boot. CP/l'! (one information loqic3l This effectively emties the is initiated.. read after the final disk write in a routine, any other physical This will purqe the buffer and sector. ensure that the written data is transferred to the disk.. Or,. is not a good idea It modifying the boot routine. try to solve sq that clears it Because a start. to. doir"íq the warm actually usual technique for error recovery, you by attempting further error condition bad the potenti31ly data onto diskette.. 2.5. problem the by the buffer before warm start is the could aqqravate the. to write additional. ERRORMESSAGES. CCBIOS Not contains four built-in error messages: Device Readju Restart Error, I/O Ássignment Error, and Cannot Boot. The Restart Error and I/O Assiomment are Error messages same the essentiallv es the MOSS 2.2 Monitor error messages. DEVICE. NOT. which. drive nonexistent. you try an ooeration with is not readyIf {i.e., the door is open) or you will receive the error message READY:. éj. DRIVE where. N. NOT. .. READY. is the drive unit. To get out of the error ready the drive (insert a diskette, condition, shut console and hit any key on vour the door) device. Your system will pick up from where left off. If the Droblem is a nonexistent drive, you will have to reboot your system. N. it. RESTART. ERROR:. the. ERR. RST. error restart a. occurs. when. a. location without restart to restart jüTMj loaded The during vectors CPU jump the cause to to initialization CCBIOS which. proQram. does a code.. haíÚling cold-start the restart. A. error routine. message. and. in returns control. to. outputs. CP/M.. can use the CP/M STAT manual described in the Diqital Research CP/M and Features "An Introduction to Facilities" to and thus change the alter the contents I/Oof IOBYTE assicmments. CCBIOS physical-to-loqÍcal device. I/O. ASSIGNMENT command as. contains. driver. ERROR:. routines. You. only. for. the. teletwpe.

(12) CCBIOS. 2-5. rMysical device; assigninq any other ohvsical device to a logical cateqorv forces a jurrm to the I/O Assiqnment Error routine when an I/O operation is performed involving that logical categorv. The I/O ERROR ASGT is output, the I/O assignments message default to the teletp'ne for each logical cateqorv. CP/M. and For more information control returns to about the IOBYTE and the I/O Assiqnment see Error, 3 Owner's 2422 Chapter Manual. For of your information perirMeral drivers on patchinq to CCBIOS, BOOT. see. Mrñication. Note. l.. During a warm boot routine outputs the message. ERROR:. warm-boot. CANNOT. of. CP/M,. the. BOOT. and rings the console bell system after ten tries. return key, the routine will read in the systeni.. the if ityou cannot the read carriage If ten hit times more to. tn'.

(13) CHAPTER3 CCS FLEXIBLE. 3.1. UTILITIES. CCSINIT. allows you to initialize unformatted diskettes or reformat already-formatted diskettes so that they conforrn to 34 IBM 3740 and System the standards and can be read by the 1793 disk controller chirn This routine formats diskettes in 128, 256, 512 and 1024 bytes per sector and inserts the needed ID field information for each sector. Once the initialized, be read by the l79x family of disk controller diskettes can chips and the 1771 disk controller chim Armendix b of your 2422 Owner's Manual shows the format used by CCSINIT. CCSINIT. To be able to insert the proper ID field information, about the disk CCSINIT a,"ks you cruestions to be initialized and the resoonse promDts you enter is you for a reoonse. the CCSINIT a reDeats Entering a question. valid one, not carriage in rerxmse return to a auesticm kicks you out of CCSINIT and returns you to CP/M.. If. The console Shuqart a following dialog initializes SÁ400-comt»tible 5.25" sinUe-sided diskette in 128-Ewte, (The user's entries are underlined.) single-density sectors.. In. n>ccsinit. =. the. ccsdisk formatter program which drive (A-D)? b single or double sided (o single or double density track number (0-4C or *)? sector size (0-3)? 0 a mini (y/N)?"Y is 28, number of tracks (23. it. After the diskette. standard. last auestion. If. vou. l28-byte,. unit]. drive 2.0. or I)?. (S/D)? *. 0. s". " or 46)? 23[space]. is answered, specifY a diskette single-densitv. CCSINIT. formats the format other than the CCSINIT sectors..

(14) 3"2. CCSUTILITY. automatically single-density. PROGRAMS. first track in 129-byte, with the IRFI forK?t standard. CCSTNIT asks is complete, DRIVE (A-D)?. to allow you to diskettes. If you want to re·ttIrn t-o c2rriaqe return.. refQrTn?ts the sect-ors to coiimlv procedure Once the initialization aaai.n the au.estion, WHICH. first. continue initializinq CP/M, simrly enter a. Should CCSINIT be unable to find track 00. with a Seek Error message, specifying drive, examrAe, For track. sector. and 1793 status. a shows seek on message sector error error O side of the diskette in drive B: SEEK. DRIVE B; SIDE. ERROR:. DO;. TRACK. 00;. SECTOR. it. will return diskette side, the foilowinq OOh. tt>ck OÜh, DO;. STATUS-FO. a an CCSINIT be unable to initialize track, returns the same information as the containing message, SEEK messaqe. In the case of either type error, CCSINIT niaintainm control zná returns to the beqinniriq quee\tion.. Should INIT. it. ERROR ERROR. The. following. questions need further. elaboration:. you choose double-sided l)? CCSINIT formats both sides of-- the diskette. This oDtion a supr>orts double-sided drive of the Shuqart SA850 or SA450 does not type. The distribution version of CCBIOS support own Note thzt double-sided mini drives. revision A of you 2422 the Disk Flormy may Controller, selectinq cause a diskette in a Per Sci drive to eject. SINGLE. OR. DOUBLE. SIDED. (U. (l),. OR. If. if. TRACK. NUMBER. (0-4C. OR. *)?. it. l. One of the important facilities -allows one track of a diskette to be. of CCSINIT is that Thus formatted. if vou have a diskette with one bad track you the can reformat the one track without losing the contents of Or you in can reformat TRK rest of the diskette. and the you do so, CC'3IOS. CCBOOT, non-standard format. (If MOSS 2.2 read the diskette.) To format one Monitor cannot track, enter the track number in hex followed by a space. 77 Since tracks (4Ch) are the maximum number of tracks on an 8" diskette. CCSINIT orompts for a number within the ranqe of 4Ch. However, you can soecify up to FFh. the tuck to If of tracks number you sr}ecify is greater than the actual number on your when diskette. you wi.ll receive a SEEK ERROR messMé The * CCSIK'IT symbol, wildcard format that track. to tries allows the entire diskette to be initialized. O(J. ¿g. O. V. SIZE (0-3)? an this question. CCSINIT rjrompts for the -- In the sector size code in the form of contained in U 128 bytes, eauals equal 256 bvtes, 2 ID sector 512 field: 3 1024. eqtíals and eouals by'tes. CCSINIT does not acceDt each density format; the IBM 3740 all four sector sizes for. SECTOR. answer. l.

(15) PROGRAMS. CCSUTILITY. 3-3. and System 34 formats do not allow sin¿Le-densiU' l024-byte, you choose double-density sectors. sectors or l28-byte, CCSINIT these either of outputs the error sector formats, message. If. BAD. after. OR. SECTOR. SIZE/DENSITY. SELECTION:. instead of formatting last auestion the SINGLE OR DOUBLE. the. will It to qive. TRACK. auestion chance to change your. return to you. a. the. diskette.. DENSITY). (S/D)?. selections.. IS IT a MINI (Y/N)? CCSINIT assumes all 8" drives are set -77 However, mini drives differ for up tracks per diskette. N(o) in the number of tracks cer diskette. you answer to CCSINIT skir)s the next cjuestion and proceeds to this question, format the diskette. yotj answer Y(es), CCSINIT asks you to smecify the number of t'racks on your mini diskette. Drompts for some of the common values: 23h for Shugart SA400 91 and drives, 28h for MPI 51 and 52 drives, and 46h for MPI 92 however, drives. accept any one or two diqit hex value and try to format the number of tracks specified. your response to the auestion TRACK NUMBER (0-4C OR *)? is NUMBER than eaual to your reponse to the cruestion or greater OF TRACKS (23, 28, or 46)?, vou will receive the error message. If. If. It. It will,. BAD. TRACK. OR. If. SECTOR. SIZE/DENSITY. SELECTION:. and CCSINIT with the cwestion SINGLE OR DOUBLE will start (S/D)? DENSITY again. Please note that you must accurateW describe the diskette in your answer to IS IT A MINI (Y/N)?; the software uses the answer to the auestion to condition the 2422 for either 8" or 5.25" disk operations.. 3.2. CCSYSGEN The. with Digital Research's only with 8" diskettes CCSYSGEN sinqle-density formatted in l28-byte, sectors. be and qenereted the system diskettes on 5.25" allows to same the CCBIOS. Note diskette as formats that supports if a non-standard system diskette for CCS's you wish to use version of CP/M, you must modify the software as described in CCSYSGEN works Note 5. with the 2422 Ámlication directlv Disk board does work not Controller through CCBIOS) and (it recuires the CP/M load be confiqinred for 24K or cjreater. Research's standard SYSGEN is cLIso avziL=ble on the Dicjital distribution diskette. SYGGEN. routine. distribution version of. CP/M. supplied works.

(16) CCSUTILITYPROGRAMS. 3-4. The essentially the same wa'j as SYSGEN. following dialog generates the systerrí residi.nq on the diskette in drive A (source) onto the system tracks of the (destination). diskette in drive works console. CCSYSGEN. B. N>CCSYSGEN CCS SYSTEM COPYRIGHT SOURCE SOURCE. GENERATION. DRIVE: A,. ON. A TÁEN. l.0. PROGRAM COMPUTER. 1980 CALIFORNIA TYPE. DESTINATION DRIVE: B DESTINATION ON B, TiiEN. RETURN. TYPE. SYSTEMS. [cr] RETURN. ICQ. you specify the wrong source or destination drive, hit any other than the carriage return key when CCSYSGEN asks for You You be returned to CP/M. may drive confirmation. will SOURCE carri¿3qe respond the a DRIVE: with also to request Should your the system is already in memory. return CP/M be 24K, a svstem version of confiqured for smaller than the smcifyinq receive following the you messaqe after will source drive:. If. key. if. INSUFFICIENT. MEMORY. SPACE--NEED. 24K. After you have entered a carriaqe return to confirm the CCSYSGEN destination drive, on the generate" the system CCSYSGEN the destination drive. automaticallv diskette in When has determines drive size and diskette format. warninq the gives you finished formatinq the diskette,. it. messmje WARNING:. if. POSSIBLE. LOST. DATA. more capacity format of the source diskette qives the destination diskette and oútrjúts the prompt. it. the. than. it. DESTINATION DRIVE: Should to allow you to continue to qenerate svstem diskettes. wish CP/M, a you carriage to return to enter return. If CCSYSGEN is unable te cornríLete the system qeneration, Y'ou will receive the error message DISK I/O ERROR ON N. where. N. equals. the. drive unit A, B, C, or D.. ..

(17) PROGRAMS. CCSUTILITY 3.3. 3-5. MOVCPM. mentioned in Chapter 1, CCS'S distribution version allocates 2K more of system memory for the BIOS than Thus CCS had to modify standard Diqital Research version. MOVCPM would place Research version so that of Digital base of the system load 2K lower for each memory size. use the command As. CP/M. it. N>MOVCPP1. 64 *,[.qr.].. (cr. =. If. of the the the you. carriage return). to reconfigure the system load for a memory capacity locates CBASE at the same address used for standard Digital Research system configured flor 62K.. MOVCPM. of. CBASE. 64K, by a. find a description in of the MOVCPM program section 6.9 of the Digital Research manual "An Introduction to CP/M Please Features and Facilities." note, however, that CCS;s version of MOVCPNÍ does not support the first two commands listed in this section (commands MOVCPM! cr and MOVCPM n cr) and will print out the message "SAVE 36 CPM.XX.COM' instead of the message "SAVE 32 CPÉ'Íxx.COM." But in all other MOVCPM. functions the same as Digital Research's respects You can. it. GENMOD. 3.4. Research's GENMOD proqram is usually included Digital MP/M with Research's multi-user operating system) and (Digital CP/M.. not with bitmap for. a since is used to construct such in bitmap as relocatable the file, has obtained RLOCBIOS.CCN, permission to distribute with CP/M. Most users will not have any reason to use GENMOD; a'" described a may wish few experienced programmers to use in Appl: Ícation Note 7.. However,. a CCS. it. it. it. create two hex files, one with of the other with an oriqin of l(j0h. Concatenate using PIP. Enter 0,. To use. GENMOD,. N>GENP!C)D. file.hex. an. the. origin files. file.hex file.comGcr]. hex file and file.com is is the concatenated GFNPJOI" wish the of the relocatable file you to create. COM leaves in rnemory the containing the reiative-Q hex file, by the hitmap. file followed. where. name.

(18) 3-6. 3.5. CCS. UTILITY. PROGRAMS. CCCOPY. CCCOPY copies the contents of a diskette recorded by a disk controller chip of the meínber of the 17QX family oríto a reads CCBíOS. another diskette in format compatible with It a a copies one track at time, reading the track on the source diskette, formating the corresponding track on the destinatLon diskette, and then writing the data to the fortaatted track ÉJl, and closely the first: three track3 (Tracks It examines and on the diskette source density for data bytes per sector, dupli-cating their formats on the corresporíding tracks CCCOPY of the destination diskettes. assumes that the rest of the tracks have the same format as Track C2 .. íjñij. ,. O 2 ). .. specify the same as diskette the source and i f you diskette, CCCO"Y destinatLon reformats diskette, the uceEul 'í'hís be preserving can data the for facility t-o Howcver recovering data on áiskettes with soft errorn. against data loss, make a backup copy of the cLi-skette ensure before you attempt to reformat with CCCOPY .. ,. it. .. ************************************************************** * NOTE CCS assumes no * for any data loss liability CCCOPY. * from :. *. resulting. the use of. * * * *. ************************************************************** recorded by a 1771 di sk requires systems containing controller 32K makes since of memory and CCS' s disk controller board and Both s board' source registers. the the direct calls to destination drives rctust be the same size and the diskettes CCCOPY be either níust both single-s: t.ded or double-sided. and automatically áetermines what size drives are being used, in the case of mini drives asks you to specify whether the diskettes are single or double-sided and the number of tracks they have per side. CCCOPY. cannot. chip.. read diskettes To function,. it. it. a The following example of console dialog causes the contents of the single-sided mini diskette in drive B to be copied onto the single-sided mini diskette i.n drive C:.

(19) CCS. UTILITY. 3-. PROGRAMS. 7. N> CCCOPY CCS. COPY. DISK. PROGRAM. l.0. V£RS. B DRIVE (OR CONTROL C TO ABORT) C C ABORT) (OR TO IJRIVE CONTROL DESTINATION [i'hese lines iS IT DOUBLE-SIDED? N TO 35 TRACKS. GÍINI DRIVES WILL DEFAULT appear f or OTHERWISE, minis IF THIS V: LQUEítsER O.k., TYPE A CARRIAGE RETURN. OF TRACKS: 40 [cr] only] enter 'THE WARNING CONTENTS OF DESTINATION DISKETTE WILL BE LOST. SOURCE. DO YOU COPYING SOURCE. TO CONTINUE? WISH TRACK nn. Ítrack. (OR. DRIVE. COIATROL. Y. number C. TO. in decimal] ECor]trol-C]. ABORT). of the questions, CCCOPY accepts only reasonable answer, receives a clearly inappropriate responses; The only returns to the first question in the dialog. asks exception is when in for the number of tracks decimal) on a mini diskette; receives any character prompt for a other than a number or a carriage return, will A of the Control-C in reponse correct response. to either cp/jy¡. two questions control to returns first For. each. it. if it. (. it. ERROR. if it. it. FiEssAgEs. drive of you specify a a destination size than the source drive, CCCOPY displays this error message and returns to the first question in the dialog.. BAD a. DRIVE COF·lblNATION--If. different. if. AGAIN--'i'his you error message is displayed number of tracks query with any character other gives you the than a number or a carriage return . should you opportunity an erroneous response; to correct key number, accidently enter the wrong simply hit any other You than a number key or a carriage return. then get the opportunity to enter the number correctly. BAD. ÑUHBLR. TRY. to -the. respond. It. will. DRIVE ready. NOT (. READY. -the. Ifdrivethe. source door. destination or open). drive is not. is message i supports this displayed and the terminal feature, your this ready To allow CCCOPY to continue, terminal bell willif ring. the drive and then hit any key on the keyboard except CP/!'l. e. .. g. .. ,. s. ,. Control-C. .. Control-C returns you to. ,.

(20) 3-8. UTILITY. CCS. PROGRAMS. COU'2'INUZ--'x'his IS NRI'I'E message displayed if! destination drive is write protected. iyou wish CCCOPY tothecontinue, If unprotect- the diskette, return Any other to the drive, and hit the carriage return key response you returns to the first question in the dialog. DRIVE s. PROTECTED. 'í'YPE. CR. TO. it. .. READ "OURCF--If flor some reason CCCOPY cannot read the and diskette, displays this error message returns to for thi s the first question in the dialog. Possible causes art unformatted diskette or one formatted error message include by a 1771 disk controller chip. CAiÑNO'I'. it. source. - IGNoRE?--If CCCOPY cannot read a sector displays this error on the source diskette after ten t-r: i-es, in which nn is the physical sector number, and asks message , whether or not you wish CCCOPY to continue. f you type Y, CCCOPY wílL transfer whatever was Lil the sector and continue Data i.ntegrity copying the disk. in this case can not be asssured. the error was a soft error, the data is probably good was a hard the result: i-ng data is error, If unpredictable. If you enter any character other than a y CCCOPY ceases its copy attempt and returns to the first query Since CCCOPY attempts to read a j-ñ the dialog. sector ten responds times before with the error message, is would be any more unlikely that successful in subsequent attempts sector is in error on If you discover thatís the same that several contiguous tracks, your diskette has likely been scratched or otherwise damaged. DALL. SOURCL. SECTOR. nri. it. L. If. .. it. ,. it it. .. it. it. try ten tiíaes to will a successfully format a write the sector on or áestinatíon diskette. time, After tenth the fails displays this inessage and asks j.f you wish to continue. if you type Y, CCCOPY goes to the next sector or track and continues wrítíng the rest of the diskette, thus effectively you skipping over the bad area of the disk enter any CCCOPY other character, returns to the first question in the has Sínce CCCOPY dialog. already attempted to write the would be successful in any is unlikely sector ten timies, subsequent attempt. WRITE. ERROR. -. IGNORL?. CCCOPY. --track. it. it. .. it .. it. If. it.

(21) APPLICATION NOTE 1 CUSTOMIZINGCCBIOS PURPOSE:. As mentioned in Chapter Two, CCBIOS contains drivers only 2810,'S you wish for addthe serial port as console interface. a such change peripherals, to as the line printer, or CCBIOS. have This console interface, you to modify Application Note describes how to do so. assumes that CPU, do 2810 Z-80 have Model you you have a host the not computer modifications on which to to make the necessary STDBIOS and CCBIOS console drive interface. to your particular have to read the you do not have a host computer, you system tracks into your system, modify STDBIOS, and write the tracks back out onto disk using GETSYS and PUTSYS routines as The primitive described in the CP/M 2.2 Alteration Guide. MOSS 2.2 disk routines in the Disk Monitor can be used as a GETSYS PUTSYS accessed and be guide for writing or can CCBIOS have STDBIOS, can be themselves. modified After you customized below. as described. If. will. It. if. will. If. METHOD: Whenever CCBIOS is entered through a call to a basic I/O CONOUT, CONST, PUNCH, READER, (CONIN, LIST, routine or (CO, IOBYTE LISTST), jumps to one of the handling routines PO, The IOBYTE LO, RI, LSTAT). handler examines CI, CSTS, the IOBYTE to determine which of the four allowable physical devices is assigned to the logical category involved in the I/O operation. for that then jumps to the driver routine. it. particular. It. physical device. Currently, only the teletype TTYOUT, and TTST TTYIN, TTOST, device routines physical CCBIOS contain driver code. source listing At the end of the the rest of the physical device routines are equated to the I/O Error routine, with the exception of TTYRDR and TTPNCH, TTYOUT, To add which are equated to TTYIN and respectively. a peripheral device, then, you must replace the appropriate wÍth driver equates routines, keeping the routine label the wish For example, same. you to add a line printer, equates eliminate. if. LPRT: LPRTS:. EQU EQU. IOER IOER.

(22) A-2. application. note i: customizing ccbios. Note that any List output routines LPRT and LPRST. a and corresponding list status routine routine require tha t console inputCP/M routine also recnñres a console status every See Guide 2.2 Alteration For routine. the C" Im your calling conventions and. add. .. assignments the physical default are teletype each logical Currently, the for cateqorv teletype device routines contain device-unique driver code for Should you not have a 28IGl CPU, you the 28l0's serial port. code TTOST, and TTST must modify the TTYIN, TTYOIJT, in both CCBIOS and STDBIOS so that the routines drive your particmlar console interface. In addition, you need to change the ROO¶' code and STDBIOS routine in both CCBIOS to i-ni.tialize the console interface. The assiqnments. .. and steps following allow you to mod i f v CCRIOS customized CCBIOS. replace the original with your and modify CCBIOS.ASM using ET). In addition to addinq l. LoadmodifYing I/O routines, you may wish to modify the basic or equates the following at the beginning of the source listings in CCBIOS: The. a.. MSIZE 2(3K,. size in kilobytes.. memory b.. 20. you have a larger system memory than -- should If be modified to reflect your sYstem this line EQU. 12. If. you wish baud a. to use the Auto Boot mode you can rate other than 9600 baud. Before the SBATJD line is a table giving the values of SBAUD Note that you do . for common baud rates change SBAUD in CCBIOS in STDBIOS you should change as well. SBAUD. EQU. -specify. ,. it. if. MAXI EQU TRUE you have only one c. MINI EQU TRUE; code size drive, you can save space-- by eliminating To do so, change pertaining to the other size drive. the TRUE statement to FALSF for the size drive you do STDBIOS be can not possess. similarly modif i.ed.. If. regarding step also make any modifications that you require. etc rates, double-sided mini drives, See AFTER ASSEMBLY, notes application the appropriate !!t!ODIFIED 2k exceep your ccbios should not bytes in. You. shoulá. .. .. ñ'iachine-executable. 2. Assemble 3. .. CCBIOS. Using. DRT,. dialog. loads. code. .. .ASM. load in RLOCBIOS in RLOCBIOS:. .. COP!. .. The. following. console.

(23) APPLICATION. NOTE. A-3. I:CUSTOMIZINGCCBIOS. N>DDT RLOCBIOS.COM[cr} ñDT VERS 2.2 NEXT PC. ". """. 0B00 0100 4.. Next. load. CCBIOS.HEX in the BIOS portian is as follows: memory map of RLOCBIOS. you must. RLOCBIOS.COM.. of. A. GJl00-0lCFh 0lD0-09CFh (J9D0-0ACFh. Relocator proqram. (Do. BIOS. not modify!). Relocator bitmap. The DDT Read command loads hex files into memory at their addresses, To assembled unless an offset is specified. 01D0h, CCBIOS.HEX, must location you load then, into calculate the necessary offset by subtracting the origin of CCBIOS.HEX from 01D0h. In the case of a 64K version of CP/M, The for example, the offset would be 0FD0h. following ccmsole dialog calculates the offset by usinq the DDT H command (undocumented in the DPT manual) which gives sum and hex addresses. then two difference of any the loads CCBIOS.HEX into RLOCBIOS.. first. It. -HCJID0. nnnnlcr]. (ssss ssss clcld.d -ICCBIOS.HEXÉcr]. -RddddÍcrj 5.. (nnnn equals the oriqin of CCBIOS.HEX) and dddd equal the sum and difference). (difference. eauals. the. offset). Since you have out the bitmap and save RLOCBIOS.COM. modified CCBIOS, the bitmap is no longer accurate, nor is needed, since CCBIOS.17EX contains absolute addresses. The following console dialog performs these tasks: Zero. it. -F9D0,ACF,0[cr] -G0[cr] —. —. (zero out bitmap). ·. N>SAVE. 10. RLOCBIOS.COM[cr]. have a modified version of CCBIOS, configured for memory size. your system memory is larger than 20K, you now need to configure the operating system for vour Assuming size mem-orY. that you have no need to modifr' STñBIOS, you can use the MOVCPM command followed by CCSYSGEN CP/M, corifimured for your size memory, on to place a copy of Please not.e diskette. the system tracks of an initialized that your version of cp/jq is fixed for a particular memorY be easily size and cannot reconfiqured. you are an and wish experienced proqrammer the relocatina to retain Note 7. see Application capability of RI,OCBIOS, You. a. now. specific. If. If.

(24) A-4. APPLICATION. NOTE. I: CUSTOMIZING. CCBIOS. must you patch your I f you have moáified STDBIOS, CP/M STDBIOS image modified into the of created bv the ?AO\/CP?i command, as described in section of vour CP/l'l 2 2 Alteration (The image created by Movcpf'j contains Guide. ces s SThñ ton f,·ií sh j..;r!aCle "Újit77 y': ":u"c ST7BTOS y iRicu Id to replace tite version of CP/M modified STDRÍOS, allowing your custcmized to memo be easily reconfigured sizes, see ry for different Application Note 7. 3. t. .. '. .. CCA.. C)Ct. ).

(25) APPLICATION NOTE 2 DOUBLE-SIDEDDRIVES PURPOSE:. The 2422 Floppy Disk Controller supports double-sided the current CCS distribution However, mini and maxi drives. version of CP/M 2.2 does not support double-sided mini drives, since they do not provide a status signal to identify when a Thus any general software is mounted. double-sided diskette developed implement by CCS would have to singleeither or operations, but not both. Since double-sided mini diskette single-sided drives are more common, CCS decided to implement single—sided operation. There. drive A.. are. two. capabilities:. basic methods. of implementing double-sided. be treated as an can reverse side of each diskette extension of the obverse side. In its easiest form, this method treats each track on side l as an extension of the corresponding track on side O; these associated tracks are a track on a l28-byte For example, often called cylinders. would 8" single-density diskette logically per sector, consist of sectors l-26 on side 0 and sectors 27-52 on side The. I;. side. of the diskette can be treated as a separate assignment; that is, each physical drive is logical unit of treated as two logical drives.. B. Each. current version of CCBIOS uses method A to support 8" Those who wish double-sided drives. only to implement want double-sided mini drives will also to use method A, since CCBIOS code already carries the for it. However, there may be implement method some users who wish to for double-sided 8" and 5.25" drives. The. B.

(26) A-6. APPLICATION. METHOD. ii t?. T :J. implement. m r ' * L —·. ' -F (J* -LS A:,. c'oil'Lc.?(ia Le. j;cjT'. method ,. Á. ;--1" "' , 's^t,. irícl:. t"?v±. 7\ 1. values flor these DISKDEF macro to suit the following suagested. "' f,j ,.,. \ { 'm"r> C A , -, ,-. A .· · i, i ' . " :· ,. . ,. . . · Oi.?: "j7-[? }' :" '/. SI. Sectors Per Track Block Shift Factor Block Mask Extent Mask Blocks Per Disk No. Dir Entries. 36 3 7 0. 40. 0. Vector Size Offset. SYstem Track :. A.-l. Table. TABLES S 3. 9... Dl. D2. 58 3 7 0. 72 4 15. 80. 3 7 0. 2 3 7 0. 143. 159. 127. 231. 143. 159. 63. 63. 63. 63. 63. 192. 192. 192. 192. 0 16 3. 0 16 3. 0. 0 16 3. 63 12R 0 16 3. 3. ';"?":. DP5XX DO. For disks formatted sectors and in l024-byte, software uses Tables DP5Sl. Note. 7 "". s: c'a.¿>ác o i of tables can be ¿efiried by usin? the CP,/'; your individual desires or yon can us e values:. SO. l Check. on. m ,— 7 "' ' - . É: : - ·.- m. '. X _..- : Q:.ri"-/"c7 ) Áteé, ... J . ._ -.. .. Parameters. Dir. DOUBLE-SIDED DRIVES. for A(7ubFE·--si(ied mini- Ari-vns,. , !" ". 'eaz3e'¿7. new. ALLOC ALLOC. 2:. A. Tc' I." L. iac:. NOTE. 16 3. l. 4 15. l. 128 0 16 3. in 5l2-hvte, single-density double-density sectors, the and dp5B2, respectively.. Double-sided Mini Parameters. these values by using the DISKDEF Macro and instance, we chose the block size (CP/M's logical allocation data size increment) so that every block on could be defined by 3-bit value. Similarly, we the diskette entries selected a number for directory sufficient for the diskette capacity.. We. arrived. judgement.. at. For. METHOD B The following implementation applies you desire. can be similarly modified. if. requires that the routine perform the follovjing translation: Method. B. to CCBIOS.. SELDSK. be. STDBIOS. modified. to.

(27) APPLICATION. NOTE. Value C. 2:. A-7. DOUBLE-SIDED DRIVES. of Register Entry. Drive Select. on. 00. Dl 02 03 04 05 06 07. Table. A-2. Side. Select. 00 00. 00. Dl Dl. 00. 02 02 03 03. OG. SELDSK. Dl Dl oí. 00. Dl. Translations. SELDSK. This of routine WBOOT has a ripple effect: and Tables Routine PRMTBL and DPBASE must be modified to allow for 8, instead of DPBASE 4, disks. in turn requires more scratch RAM to be These modifications dedicated to are also shown below. This implementation of Method B adds 93 bytes of initialized RAM 280 and bytes of uninitialized RAM to the RIOS requirements.. is modification Below. a. modified. version. it.. Routine SELDSK:. SELDSKI:. CKSET:. SELDSK. Modifications: MOV. H,0 A.C. CPI. 8. LXI RNC MOV DAD DAD DAD. L,A H H. li. DAD XCHG. FI. LXI. H,DPBASE D H. DAD PUSH MOV ADD. LXI MOV DAD llOV ORA STA JNZ XCHG. A,C A. H,PRMTBL+1 E,A D. A,. M. A SEKSEL SET4A. INR. I,. SHLD. LUNIT.

(28) A-8. APPLICATION LHLD X'I'HL PUSH LFILD XTHL PUSH HOV RAR STA STA MVI JNC MVI STA PUSH PUSH CALL POP DCX LDA MOV. CKSETI:. INX LIJA STA MOV. LXI LXI MOV ANT. JZ LXI SETUPI:. MOV. ANI JZ SETUP2. SET3:. :. RISKNO H. SECTOR El. A,. C. DISKNO SEKDSK A, 0D0H. CKSETI A, 090H SIDE B. rIDRD H H STPRAT M, A H. CUNIT SEKSEL, M, A D, 4 H, MSELTBL B ,A. I0H SETUPI H, SELTRL A, B 40H SETUP2. DAD DAD LDA. R D. CPI. 2 SET3. ,JC DAD XCHG POP XTHL PUSH LDAX MOV. INX INX LDAX MOV. INX. IDSV+3 D. H H D. M, A D H T). M, A D. NOTE. 2:. DOUBLE-SIDED DRIVES.

(29) APPLICATION. NOTE. 2: PUSH. LXI DAD POP LDAX. mv. INX INX. LDAX MOV POP POP XTHL sFILñ POP XTHL SHLD. SET4:. Warm. Boot. n D, 9 D D D. M, A D. H D. FLA H B SECTOR H DISKNO. POP MOV RAR. H. STA 14VI JNC. SEKDSK. PTVI STA MOV RET. SET5:. A-9. DOUBLE-SIDED DRIVES. A, A,. C. 0DQJH. SET5. A, 090H SF.KSID. A,. C. Modifications: LXI. WBOOT :. SP, TBUF. O k. MVI. LXI LOAL?1A:. MOV. B, 16 H, PRMTBL M, A. 0. Table. DPBASE. Modifications:. DPBASE. DW. 0,. a. 0 0. ;DISK. PARAMETER. HEADER Did nw DW DW. DISK 04 0, 0 0, 0 DIRBF, 0 cEtK04 ,ALL04. FOR. :ZERO. OUT. PPMTBL.

(30) APPLICATION. A-lO ;DISK. PARAMETER. HEADER nvj KW DW. ;DISK. PARAMETER. HEADER DH DW DW. 'U\RAP1ETER. HEADER DW DW DW DW. Table. PRMTBL. PRMTBL:. Additional ALL04: ALL05: ALL06 : ALL07 : CHK04: CHK05: CHK06: CHK07:. 2:. DOUBLE-SIDED DRIVES. 05. 0. 0, 0 DIRBF, 0 CHK05,ALL05 FOR DISK 06 0. ,. 0 0. 0, DIRBF,. DW. ;DISK. DISK. FQR CJ,. DW. NOTE. 0 CHK06 ,ALL06 FOR DISK 07 0, 0 0, 0 PIRBF, 0 CHK07 ,ALLQ7. Modifications: (J, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0 ,0 0 ,0. DB DB DB DB DB DB ñB DB. Scratch DS DS DS DS DS DS DS T)S. Ram. for 38 38 38 38 32 32 32 32. DPBASE:. ;DRIVE. 0. ; ; ; ; ; ; ;. l2 3 4 5 6 7. STEP. RATE,SELECT. BYTE.

(31) APPLICATION NOTE 3 STEPRATES PURPOSE:. step rate of a drive's read/write head differs from SA800 drives have an 8 Shugart For example, drive to drive. ms step rate, 850 a ms have and drives Shugart step rate, CCBIOS 550 drives have a 6 ms step rates. implements Memorex step rates of 6 ms for 8" single-sided drives and 30 ms for both sizes 5.25" drives. Although these rates work with may make drives, almost all they for noisy operation your Note This Application drive can support faster rates. modifications to CCBIOS to alter the identifies the neces«ary CCBIOS Note that also implements 3 ms step rates step rates. for 8" double-sided drives, but that rate should work with all There is no easy way of altering the 8" double-sided drives. double—sided step rate. The. 3. if. METHOD: step pulses to the drive are issued by the 1793 disk chip at the rate specified by the last two bits in controller command. head These bits must be altered to movement any a To make alteration specify easier, step rate. different command CCBIOS head by adding the step each movement builds up rate bits to the basic command. The hex values of these step bits correspond to the following step rates: The. STEP. STEP. RATE. EITS. 8". 5M". OOh. 3ms 6ms. l2ms. lOms l5ms. 2Ótt!s 30ms. 0lh. 02h 03h Table. RATE. A-3. Step. 6ms. .Rate Values.

(32) APPLICATION. A-12. NOTE. 3:. RATES. STEP. change modifying the CCBIOS source code, you can STEP5 changing by and STEP8 the value of the the step rates equates at the beginning of the source code. IE you are. wish code,. to change the step rates in the "mchine load The in file RLOCBIOS.COM, usinq DDT. actual locations you will have to change depend Qñ the serial The follo\qinq console number of your distribution diskette. dialog will change the step rates in the current version of. If you executable. CCBIOS:. RLOCBIOS.COFQ[CR] N>DDT DDT VERS 2.2 PC NEXT. 0B00 0100 -S65F[CR] 065F 03 nrÚCR] 0660 D2 .[cr] -S671[CR] 0671 Dl nn[CR] 0672 2B .[cr]. (nn (nn. =. =. desired mini step rate desired maxi step rate. bits) bits). -GO. N>SAVE. Since STDBIOS to be done.. 10. RLOCBIOS.COM. is. transitory,. (DO. not rename the. no change. to. file!). its step rates. needs. \.

(33) APPLICATION NOTE 4 EXTENDED-TRACKMINIDRIVES PURPOSE:. version of CCBIOS supports 8" drives However, with tracks and 5.25" diskettes with 35 tracks. some mini drives have more than 35 tracks available: the MPI B-51/52, Tandon TM 100, and QUME Data Track 5 have 40 tracks, This application note while the MPI B-9l/92 have 80 tracks. CCBIOS changes of necessary the take advantage to identifies the these drivesf added capacity. The 77. distribution. METHOD: In the case of single-sided drives, only the disk need parameter be changed and, tables in CCBIOS to you changes to the tables are shown wish, STDBIOS. The necessary below. In the case of the double-sided drives, the changes identified in Method A of Application Note 2 for installing double-sided drives also need to be made. In addition, some of the drives can support a faster step rate; see Application Note 3.. if. Drives: Tracks: DP5S0:. DW. DB DB DB DW DW. DB DB DW DW. SINGLE-SIDED 80 40 18 3 7 0 82 63. 18. DOUBLE-SIDED 80 40. 3 7 0. 36 3 7 0. 4 15. 172. 165. 172. 36. l. 63. 63. 63. 192. 192. 192. 128. 0 16 3. 0. 16. 0 16 3. 0 16. 3. 3.

(34) A-14 DP5Sl:. APPLICATION DW. DB DB DB DW. 40. 40. 3 7 0. 4 15. 192. 184. 192. 63. 63. 128. 0 16 3 16 3. 0 16 3 16 3. 0 16 3 32 3. 7. 0 73 63. 7 0. 0 16 3 3 2 4 15. 0. 153. 147. 63. 63. 63. 192. 192. 192. 128. DW. 0 16. DW. 3. DW. 29. 0 16 3 29 4 15. 0 16 3 58 4 15. 0 16 3 58 5 31 3. JJW. DB DB DB DW DW. DB DB. 3. DB DB DB. 7 O. l. 7. l. 133. 138. 133. 63. 63. 63. 192. 128. 128. DW. 0 16. DW. 3. DW. 36 3 7 0. 0 16 3 36 4 15. 0 16 3 72 4 15. l. DW DW. DB DB. DB DB DB DW DYJ. DB DB DW DW DVJ. L)t/ DB DB DW DPT. l. 153. 138 127 128 0 32 3 7. 2 5 31 3. 165. 172. 165. 63. 63. 63. 192. 128. 128. kj. Ó. 16 3. 0 16 3. 16 3. 0 32 3. 40. 40. 80. 80. 3 7 0. 4 15. 4 15. 5 31. l 184. 3. 184. l 192. 63. 63. 63. 92 l127. 192. 128. 128. 128. 0 16 3. 0 16 3. 0 16. 0 32. 3. 3. DB DB DB DW. l. DRIVES. l. 192. DW. DP5D2:. 20 3 7 0 63. D\·V. DP5DI:. EXTENDED-TRACK MINI. 192. DB DB. DP5D0:. 4:. 192. DW. DP5S3:. 20 3 7 0 91 63. NOTE. 172 127 128. tables DP5Sl and DP5D2 are also used and single-density l0"24-byte double-density for 5l2-byte, respectively. diskettes,. Note:. The disk-. parameter.

(35) APPLICATION NOTE 5 NON-STANDARDSYSTEMDISKETTES PURPOSE:. mentioned in Chapter 2, the standard BIOS, STñRIOS, located on the system tracks can handle diskettes fornatteá i-n Since the only l28-byte, single-density loading of sectors. RLOCBIOS reauires routines in "TDBIOS, the disk the is useless on the system distribution version of STDBIOS The solution is to put tracks of a non—standard diskette. CCBIOS, which contains the code necessary to read non-stanáard diskettes, on the system tracks, replacing STDBIOS. As. METHOD:. l.. load in from the system diskette and modifv You must CCBIOS.ASM, using ED, for any system uniaue features you See wish to install, such drivers, etc. as peripheral CCRIOS Note Application for information Beon how to modify sure the MSIZE line the features you want. to support code in the source reflects your memory size in kilobytes {'Qecimal). Please note that your modified BIOS should not (3584) E00h exceed work bytes, including uninitialized space.. first. l. file.. 2.. Assemble. 3.. and output listing for the start address RIOS code data (uninitialized or or for last RAM workspace Subtract the two addresses is not included). and compare the result to the value in the following table showing the space available to the BIOS for your chosen diskette format: Scan. the. the. the assembled address.

(36) APPLICATION. A-16. NOTE. BYTES PER SECTOR. DENSITY. Single. Double. NON-STANDARD. 5:. MAXIMUM. BIOS. SYSTEM DISKETTES (BYTES)'. LENGTH. 8". DISK. 5.25". 128. 38Oh. (896). 256. 58Oh. 5 1 2. 68Oh. 48Oh(1152) 68C)h (1664) 68Oh (1664). 256. 108Oh. 12. 148Oh. 1024. 168Oh. 5. (1408) (1664) (4224) (5248) (5760). 168Oh 1A8Oh 1A8Oh. DISK. (5760) (6784) (6784). Ghe. above values that two tracks (TRK CO and 01) are assume dr"dicated to system three use on 8" diskettes and that tracks (TRK to system use on 5.25" 00-02) are dedicated diskettes. They also that the system loader requires assume only gné CCBOOT (already sector. installed on the 3j/stém tracks) meets this requirement and will load above. any of the diskette formats. Table. A-4. Allowable BIOS Lengths. BTOS Ifí your customized is greater than the BIOS space available on the system tracks, you will have to reduce its size. Since CCBIOS was devised to work with a wide variety is undoubtedly carrying of systems and applications ye. need example, code do For are not usinq you not mini drives, you can eliminate code used by mini drives BIOS is equal to or less than Once your customized only. BIOS space available, the then you can move CCBIOS onto the The system tracks sc) that remainder replaces STDBIOS. do how note explains so. application of this to ,. .. it. if. '. it. 4.. Initialize. by 5. .. the using CCSINIT.. Create. interim. an. (note that a. .. Run. creating b.. Save. this. FÍOVCPM * .. system load on system cannot be n. * where. n. to the selected format. the new booted!). equals. diskette. system. the system. size you are. .. the resultant. N>SAVE. 6.. diskette. system. new. 36. system. on. the diskette:. CPlln.COMCcr]. Unless an offset by using PDT. is Install the new CCBIOScominand CCBIOS .HEX load specified, the at its will the thus you must calculate necessary to offset origin; CCBIOS .HEX load into position at 1F80h by subtractina the console ori4n of CCRIOS.HEX frorn 1F80h. by The followirw command using the DDT dialog calculates the offset DDT manual) (undocumented which and sum .R. El. in the. gives. the.

(37) application. note. non-standard. 5:. numbers. hex. of any two CCBIOS.HEX into position. difference. a-17. system diskettes. It. .. loads. then. n>ddt CPF1n.COM[cr] mfF" verS 2 .2 next pc 2900 0100 (nnnn equals CCBI(JS nnnMcr] origin) ss@dddáa""Ksss and dddd are the sum and difference) -iccbios .HEX[cr] -HIF80. -R"c{adarc"r7""rd"rEference 7. While. .. still. in. PDT,. ecjuais. suppress. the. offset). RLOCBIOS. autoloaá feature:. -S987[crj. OS9T"6S"5Mcr] ": 0988 52 8.. Also, while. mr in. the BIOS end address in is over 6t30h bytes. your CCBOOT 900 resides at locations through 97F; the Location The parameter end address parameter of the BIOS is 929h. hex address end BIOS two is the first digits of the BIOS be changed can lenqth of up to F00h in to reflect a 256 byte increments. example, For i f you have BIOSa 64K Im 90Ah a cp end BIOS version of with of bytes, the address FB0Ah Rounded the be up to should nearest 256-byte boundary, the end address becomes FC0l3h. Chanqe the end address parameter, then, from F8 to FC: DDT, you CCBOOT. parameter. should. change. if. BIOS. It. .. .. -s_929[eRl 0929 f8 092a 78. If to. FCC_crÁ .. Ccrj. you plan to modify change the 60C4H in. the source the Line. code. for. CCBOOT,. to reflect your BIOS length in 256-byte blocks. to round up. .. Get copy. .. li.. Write using Cold. Remembe. r. command and then save your of ddt with a G0Ecr] out CP/M of reference further alterations. or for 41. li>savf.. l0. sure. d, (BIOS+600H)+2. lxi 9. be. the. completed. CCSYSGEN,. boot. cr!'irlr).cop1 system. skippina the. load source. onto the new system drive remiest.. the disk and you a.re on your waY.. disk.

(38) APPLICATION NOTE 6 SECTORSKEW PURPOSE:. may wish users to modify the sector skew values to speed with increase disk access or to qain compatibility To do so, you must diskettes recorded on different systems. Tn modify the sector skew tables in CCBIOS. the current CC.BIOS, skew version of the sector tables are generated by using an algorithm which may not be immediately obvious to a wishinC to modify the tables. This Application Note user how describes to modify the tables. Some. METHOD: To change the sector skew values in the skew table for and format. The current sector. Table. A-5. Sector Skew Values. values, you need to chaíme two a diskette of a particular size skew tahles are as follows:. T848 T826 T8l5 T88 T84. DB DR ñB DB DB. 48,48,1 26,13,6 15,15,4 8,8,3 4,2,2. T529. DB DB DB PB DB. 29,29,7 18,9,4 lCj,l0,3. T5l3 T510 T55. T52. .5,5,2. 2,2,1. is the number of and remains The constant. and be skew modified can is factor value the sector to third number and the between value. The second number any is the result of the value divided by the greatest (GCD) áenominator common and third values. of the new skew must be changed factor results in a different the GCD. For example, you wanted to change the skew factor in table T5l0 to 5, the second value must change to 2 (GCD=5; and 10/5=2). of course, CCBIOS must be reassembled installed (see Ápplication Note l for procedure). value in each sector skew first per track (one side only) sectors. The. l. if. if. first. table. first first. It.

(39) APPLICATION NOTE 7 BUILDINGARELOCATABLEBIOS PURPOSE. FOR. EXPERIENCED. PROGRAMMERS. RLOCBIOS.COM. contains,. ONLY.. as. described. in section 2.1,. a. bitmap used by the relocator relocator program, program. you as described in Appl: ícati.on Note and thus bitmap the no longer be accurate RLOCBIOS CCBIOS loses its ability at any even to relocate MOVCPM.COM a page. In addition, contains relocator program, an image of CP/M (containing STDBIOS), and a bitmap. Unless MOVCPM is modified, contain the original CCS STRBIOS. Thus have STDRIOS, modified you you may wish to patch vour STDBIOS MOVCPM and modified into so that rebuild the bitmap CP/Pl you can easily reconfigure for different memory sizes. CCBIOS, customize. If. l,. and. a CCBIOS. will. it will. if. Note identifies how to rebuild the bit This Application STDBIOS CCRIOS BIOS and and to patch the modified for or GENMOD is bitmap into their respective relocating program. used to build the bitmap; please review its in description section 3.4. map. METHOIF STDBIOS. l.. BUILD. STDBIOS(J.AS\1 and two source of STDBIOS: files CCP STDBIOSI.ASM. Set the origin of the in STDBIOSO.ASM eaual to 0000h; set in STDBIOSI.ASM to 019i0h.. Create. it. 2.. Assemble. 3. Concatenate N>P,I.P. 4.. Now. use. contains. the. files. the hex. files, using. PIP:. STDBIOS.HEX=STDBIOS0.HEX,STDBIOS1.R.FX GENMOD STDBIOS. to. and. create a new the bitmap.. file,. sTnRIos.coM,. which.

(40) A-22. APPLICATIONNQTE7: BUILDJNGA N>GENP1OD. STPBIOS.KEX. RELOCATABLEBIOS. STDBIOS.COlYl. which To be consistent with the MOVCPM prograrn loads the CP/M 90C'h GENMOD TPA image 900h, addresv': in the uses of at Since leaves in memory. as the origin for the the l600h from BIOS beginning of the is offset the beginning oí now the CCP, STDBIOS.COM resides in memory at 1F00h.. file it. 5.. Save. STDRIOS.CONI 37. N>SAVE. 6.. Using. in MOVCPM.COM in preparation bitmap into place:. DDT, load RIOS and. N>DDT. MOVCPM.COM. the. MOVCPM.COM. beginning. now resides at 2000h and. at l00h, with CCS's its bitmap at 27FGh.. in the new STDBIOS.COM, specifying into uncontested memory:. Read. load. disk:. STDBIOS.COM. new. the. 7.. on. a. it. for movinq. original bias of. STDRIOS. 400Cjh. to. -IsTñBIos.coM -R4000. sTnBIos.coM 8.. now. resides at 5F00h (1F00h. +. 4000h).. beginning of the bitmap; vary according to will Each the BIOS. the length of your bitmap represents bit of one byte of the BIOS; a bit is set to l only its and corresponding byte differed in relative-O the versions of the hex file. Since STDBIOS begins relative-l a series of jump targets, the beginning of the bitmap with bitmap show a repeating bit pattern of two zeros will (Since a by followed the two hex files were offset by l. l00h, only the high order address byte of a jump vector differ between the files.) In a hex dump, this pattern will repeating at appear as the following three byte sequence, 24h-92h-49h. have found Once you twice: the least beginning of the bitmap, move STDBIOS and the bitmap into The following position at 2000h and 27ECJ, respectively. exanple assumes that bitmap is located at 6518h and ends at Find. it. the. if. 6587h:. -M5F00 627F 2000 -M65l8 6587 27E0.. (move STDBIDS (move bitmap. -GO. 9.. Save. your. ri>sAvE. new 40. MOVCPM.COM:. movcpm.cof4. into position) into position).

(41) -'%. NOTE. APPLICATION. 2. Read. .. Create. of. CCBIOSÓ.ASM. N>PIP Create. file using. into the. CCBIOS.COM. and then. save. it. CCBIOS. on. and. DDT. the. load. CCBIOS.COM:. .COM. resides at 1F00h.. now. in RLOCBIOS load safely under. Read. No .COM. CCBIOS.COPI.. bias is necessary. since. it. will. .COM. of. map. RLOCE!IOS.COM. 0l00-CjlCFh 0lD0-09CFh 09D0-0ACFh. is as follows:. Relocator program Unmodified. Relocator. CCBIOS. bitmap. To do so, you into position. will bitmap the using beginning of the to f ind the procedure áescribed in step 8 above. In the following example, the bitmap is located at 29CAh: and bitmap. CCBIOS. Move. have. 8.. and. disk:. CCBIOS.COM. -IRLOCBIOS -R. 7.. containing. .COM,. l. ccbios .Hex ccbios .cori. 42. N>CCBIOS —. CCBIOS GENMOD. an. described in step. .HEX=CCBIOS0.HF.X,CCBIOSI.ASM. the. memory. as. f or. STDBIOS. CCBIOS. N>SAVE. A. A-23. then concatentate then using PIP:. n>genmod. .. BIOS. them;. bitmap, by. 5. Get. and CCBIOSI.ASM. build.. STDBIOS. 3. Assemble. 6. RELOCATABLE. A. for building the instructions understanding of the general procedure.. .. 4.. BUILDING. BUILD:. CCBIOS. l. 7:. -MIFCJCJ. 26FF. =ZZ. ?.g.c?__Q?N.. Save. your new. N>SAVE. ID. U-HP. _. (move CCBIOS (nove bitmap. RLOCBIOS.COM: RLOCRIOS.COM. into position) into position).

(42)

Références

Documents relatifs

International development partners and sponsors can, in turn, provide financial service companies with economic, legal, and technical assistance to allow them to grow and

Never try to erase information written on the write-on label as the eraser debris could get into the diskette and could lead to diskette and/or drive

(6) The Eight-Inch Drive I/O Cable is connected between each Drive Electronics pc edge connector, PI, and the FULL SIZE DRIVE INTERFACE Receptacle on the

When an error occurs, always suspect operator error first (is the diskette properly inserted in the drive, has the diskette been formatted for use with

The drive controller provides the electronics necessary to interface the diskette drive to the LSI-11 data bus (Q bus) plus record and recover information under the IBM format.. 3

-134- DIAGNOSTICS - FESN/RVM, Licensed Program Guidelines, Memory Card Configuration LOAO PROGRAM FUNCTION The diskette drive problems identified are head align- The

The CLEF 2003 Interactive Track (iCLEF) was the third year of a shared experi- ment design to compare strategies for cross-language search assistance. Two kinds of experiments

German and English are the two languages for which a) there were available pools from CLEF 2001, and b) participants run end-to-end interactive cross-language sessions to contribute