2021/12 CF-Card eingebunden wie bei P180x und P181X Assemblieren mit GENSYS.SUB ## Quelldateien assemblieren: GENSYS.SUB (was ASM.SUB): rmac bioskrnl sz pz ; Z means zero output rmac boot sz pz rmac drvtbl sz pz ; hier CF-card rmac move sz pz rmac fdprofbk sz pz ; hier CF-Card Treiber ;rmac harddisk sz pz rmac ramdisk sz pz rmac scb sz pz rmac chario sz pz m80 =hdsyside ## BNKBIOS erstellen - REL -Dateien linken (zusammenfuegen) Steht in GENSYS.SUB (WAS LINK.SUB:) link bnkbios3[b,nr]=bioskrnl,boot,drvtbl,move,fdprofbk,scb,chario,hdsyside ## CPM.SYS generieren: GENCOM AUTO (eine PROFILE.DAT wird benötigt) >gencpm auto CP/M 3.0 System Generation Copyright (C) 1982, Digital Research *** CP/M 3.0 SYSTEM GENERATION DONE *** ######################################## ## CPMLADER erstellen: ## ldrbios.asm ist hier nicht vorhanden ;MLDR.SUB: ;rmac ldrbios sz pz ;link cpmldr[l100]=cpmldr,ldrbios ;ren cpmldr.hxc=cpmldr.com ###################################################################### RMAC Syntax: RMAC filespec toptions) Purpose: RMAC, a relocatable macro assembler, assembles ASM files into REL files that you can link to create COM files. RMAC options specify the destination of the output files. Replace d with the destination drive letter for the output files. RMAC Options (d=output option parameter): Rd drive for REL file (A-0, Z) Sd drive for SYM file (A-0, X, P, Z) Pd drive for PRN file (A-0, X, P, Z) The d parameter can have the following values: A-0 specifies drive A-0 X means output to the console P means output to the printer Z means zero output Example: A>RMAC TEST $PX SB RB Assembles the file TEST.ASM from drive A, sends the listing file (TEST.PRN) to the console, puts the symbol file (TEST.SYM) on drive B and puts the relocatable object file (TEST.REL) on drive B. ####################################################################### Generieren unter YAZE: F>gensys.sub F>rmac bioskrnl sz pz CP/M RMAC ASSEM 1.1 023C 00BH USE FACTOR END OF ASSEMBLY F>rmac boot sz pz CP/M RMAC ASSEM 1.1 00FD 02BH USE FACTOR END OF ASSEMBLY F>rmac drvtbl sz pz CP/M RMAC ASSEM 1.1 0020 000H USE FACTOR END OF ASSEMBLY F>rmac move sz pz CP/M RMAC ASSEM 1.1 00FB 023H USE FACTOR END OF ASSEMBLY F>rmac fdprofbk sz pz CP/M RMAC ASSEM 1.1 U03CC 0000 dw hd$write U03CE 0000 dw hd$read U03D0 0000 dw hd$login U03D2 0000 dw hd$init U03EF 0000 dw hd$write U03F1 0000 dw hd$read U03F3 0000 dw hd$login U03F5 0000 dw hd$init U0412 0000 dw hd$write U0414 0000 dw hd$read U0416 0000 dw hd$login U0418 0000 dw hd$init U0435 0000 dw hd$write U0437 0000 dw hd$read U0439 0000 dw hd$login U043B 0000 dw hd$init 06B1 044H USE FACTOR END OF ASSEMBLY #### kann raus F>rmac ramdisk sz pz CP/M RMAC ASSEM 1.1 U if RAMDISK ; logical, isn't it ? 0000 003H USE FACTOR END OF ASSEMBLY #### F>rmac scb sz pz CP/M RMAC ASSEM 1.1 0000 001H USE FACTOR END OF ASSEMBLY F>rmac chario sz pz CP/M RMAC ASSEM 1.1 0202 02AH USE FACTOR END OF ASSEMBLY F>m80 =hdsyside No Fatal error(s) F>f:link.com bnkbios3[b,nr]=bioskrnl,boot,drvtbl,move,fdprofbk,scb,chario,hdsyside LINK 1.31 @ADRV 08F0 @RDRV 08F1 @TRK 08F2 @SECT 08F4 @DMA 08F6 @DBNK 08F9 @CNT 08F8 @CBNK 023B @COVEC FE24 @CIVEC FE22 @AOVEC FE28 @AIVEC FE26 @LOVEC FE2A @MXTPA FE62 @BNKBF FE35 BINIT 0A17 @CTBL 067E @DTBL 0339 @DATE FE58 @HOUR FE5A @MIN FE5B @SEC FE5C MONON 06AF MONOFF 06E1 INTSER 070C FDSD0 0B73 FDSD1 0C66 FDSD2 0D59 FDSD3 0E4C FDSD4 0F3F FDSD5 0F62 FDSD6 0F85 FDSD7 0FA8 @ERMDE FE4B @CRDMA FE3C @CRDSK FE3E @VINFO FE3F @RESEL FE41 @FX FE43 @USRCD FE44 @MLTIO FE4A @ERDSK FE51 @MEDIA FE54 @BFLGS FE57 HDINIT 121B HDLOGI 121A HDREAD 12A3 HDWRIT 12C4 ABSOLUTE 0000 CODE SIZE 07F7 (0000-07F6) DATA SIZE 0C0D (0800-140C) COMMON SIZE 0000 USE FACTOR 25 F> F>f:gencpm.com CP/M 3.0 System Generation Copyright (C) 1982, Digital Research Default entries are shown in (parens). Default base is Hex, precede entry with # for decimal Use GENCPM.DAT for defaults (Y) ? Create a new GENCPM.DAT file (N) ? y Display Load Map at Cold Boot (Y) ? Number of console columns (#80) ? Number of lines in console page (#24) ? Backspace echoes erased character (N) ? Rubout echoes erased character (N) ? Initial default drive (A:) ? Top page of memory (FE) ? Bank switched memory (Y) ? Common memory base page (F0) ? Long error messages (Y) ? Accept new system definition (Y) ? Setting up Allocation vector for drive F: Setting up Checksum vector for drive F: Setting up Allocation vector for drive G: Setting up Checksum vector for drive G: Setting up Allocation vector for drive H: Setting up Checksum vector for drive H: Setting up Allocation vector for drive I: Setting up Checksum vector for drive I: *** Bank 1 and Common are not included *** *** in the memory segment table. *** Number of memory segments (#1) ? CP/M 3 Base,size,bank (95,5B,00) Enter memory segment table: Base,size,bank (01,94,00) ? 01,ff,00 ERROR: Memory conflict - segment trimmed. Base,size,bank (01,EF,00) ? ERROR: Memory conflict - segment trimmed. Base,size,bank (01,94,00) ? CP/M 3 Sys 9500H 5B00H Bank 00 Memseg No. 00 0100H 9400H Bank 00 Accept new memory segment table entries (Y) ? Setting up directory hash tables: Enable hashing for drive A: (Y) ? Enable hashing for drive B: (Y) ? Enable hashing for drive C: (N) ? Enable hashing for drive D: (N) ? Enable hashing for drive F: (N) ? Enable hashing for drive G: (N) ? Enable hashing for drive H: (N) ? Enable hashing for drive I: (Y) ? Setting up Blocking/Deblocking buffers: The physical record size is 0400H: Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 004CH, Other banks = 0000H Number of directory buffers for drive A: (#8) ? Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 002BH, Other banks = 0000H Number of data buffers for drive A: (#4) ? 8 Allocate buffers outside of Common (Y) ? Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 000BH, Other banks = 0000H Number of directory buffers for drive B: (#0) ? Share buffer(s) with which drive (A:) ? Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 000BH, Other banks = 0000H Number of data buffers for drive B: (#0) ? Share buffer(s) with which drive (A:) ? Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 000BH, Other banks = 0000H Number of directory buffers for drive C: (#0) ? Share buffer(s) with which drive (A:) ? Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 000BH, Other banks = 0000H Number of data buffers for drive C: (#0) ? Share buffer(s) with which drive (A:) ? Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 000BH, Other banks = 0000H Number of directory buffers for drive D: (#0) ? Share buffer(s) with which drive (A:) ? Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 000BH, Other banks = 0000H Number of data buffers for drive D: (#0) ? Share buffer(s) with which drive (A:) ? The physical record size is 0200H: Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 000BH, Other banks = 0000H Number of directory buffers for drive F: (#8) ? 4 Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 0002H, Other banks = 0000H Number of data buffers for drive F: (#0) ? 8 Allocate buffers outside of Common (N) ? y ERROR: Unable to allocate Data deblocking buffer space. Setting up Blocking/Deblocking buffers: The physical record size is 0400H: Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 004CH, Other banks = 0000H Number of directory buffers for drive A: (#8) ? 6 Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 0033H, Other banks = 0000H Number of data buffers for drive A: (#8) ? 4 Allocate buffers outside of Common (Y) ? Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 0023H, Other banks = 0000H Number of directory buffers for drive B: (#0) ? Share buffer(s) with which drive (A:) ? Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 0023H, Other banks = 0000H Number of data buffers for drive B: (#0) ? Share buffer(s) with which drive (A:) ? Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 0023H, Other banks = 0000H Number of directory buffers for drive C: (#0) ? Share buffer(s) with which drive (A:) ? Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 0023H, Other banks = 0000H Number of data buffers for drive C: (#0) ? Share buffer(s) with which drive (A:) ? Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 0023H, Other banks = 0000H Number of directory buffers for drive D: (#0) ? Share buffer(s) with which drive (A:) ? Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 0023H, Other banks = 0000H Number of data buffers for drive D: (#0) ? Share buffer(s) with which drive (A:) ? The physical record size is 0200H: Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 0023H, Other banks = 0000H Number of directory buffers for drive F: (#4) ? Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 001BH, Other banks = 0000H Number of data buffers for drive F: (#8) ? Allocate buffers outside of Common (Y) ? Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 000AH, Other banks = 0000H Number of directory buffers for drive G: (#0) ? 4 Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 0002H, Other banks = 0000H Number of data buffers for drive G: (#0) ? Share buffer(s) with which drive (E:) ? f Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 0002H, Other banks = 0000H Number of directory buffers for drive H: (#0) ? Share buffer(s) with which drive (E:) ? f Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 0002H, Other banks = 0000H Number of data buffers for drive H: (#0) ? Share buffer(s) with which drive (E:) ? f Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 0002H, Other banks = 0000H Number of directory buffers for drive I: (#1) ? 0 Share buffer(s) with which drive (A:) ? f Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 0002H, Other banks = 0000H Number of data buffers for drive I: (#1) ? 0 Share buffer(s) with which drive (A:) ? f Available space in 256 byte pages: TPA = 00F1H, Bank 0 = 0002H, Other banks = 0000H Accept new buffer definitions (Y) ? BNKBIOS3 SPR F700H 0800H BNKBIOS3 SPR C200H 2E00H RESBDOS3 SPR F100H 0600H BNKBDOS3 SPR 9400H 2E00H *** CP/M 3.0 SYSTEM GENERATION DONE ***