ÿõÍ¥$ñáãõ}!+¾Ä„þAPZCPR INSZCPRBT ASMAPZCPR2 INS)ÿõ>  ÂÀnñÉ~ÍÕnÈ#Íâ·Éþ.Èþ:Èþ*Èÿ?Èþ пÉÍ~#~+þ:Âþn~ÍØÒþnÖ@##·Éÿv7ÉÍ%:8·Ä—oÒoÍÂ$[:Ã'o:8·Ä�ÿÒ:oÍÂ$]:ÍÕ0Ín ıÍ,':8·Â*oÍÂ$.ÿÍEoÃÕ0Í·0l!¨6ÍåÃÊ$Í·*lÍioå!†ÿ¾Êeo#~áÃ¥ÍÊ$ͱÍ,'ÃÕÕ*9ë*‘9Íÿ!)ÍhÑ?Ð!ñ9"8Éå!9Ûoå!\ÕÅÿ= Í\ÁÑá7È?Éÿ› INSTALLATION OF ZCPR2 on APPLE ][ Version 1.0 W.F.McGee (613-828-9130) March 29, 1983 Purposeº tï aiä iî thå installatioî oæ ZCPR² oî Applå ]Û personaì � microcomputer. 1. Customize ZCPRHDR.LIB I made the following equate choices CPRLOC EQU 0c400H SUBON EQU TRUE DRVPREFIX EQU TRUE DRVPFATT EQU 1 USERON EQU TRUE DIRON EQU TRUE LTON EQU TRUE GOON EQU TRUE ERAON EQU TRUE SAVEON EQU TRUE RENON EQU TRUE GETON EQU TRUE JUMPON EQU TRUE INTPATH EQU TRUE IPATH MACRO db '$',0 db 'A'-'@','$' db 'A'-'@',0 db 0 ENDM ERAOK EQU TRUE ERAV EQU FALSE DUPRMPT EQU TRUE MULTCMD EQU TRUE CLBASE EQU 0F500H BUFLEN EQU 77H WERA EQU FALSE WREN EQU FALSE WLT EQU FALSE WGO EQU FALSE WSAVE EQU FALSE WGET EQU FALSE WJUMP EQU FALSE WDU EQU FALSE WHEEL EQU FALSE INTSTACK EQU FALSE STKBASE EQU 0F580H EXTFCB EQU TRUE FCBADR EQU 0F600H CMDRUN EQU TRUE Š NOTESº  Thió  seô  oæ equateó ió usinç thå Applå ]Û texô pagå  tï � store the required ZCPR buffers. The allocation is as follows. F400-F477 lower case driver (APPATCH2.MAC) F500-F577 CLBASE F580-F5F7 STKBASE F600-F677 FCBADR F680-F6F7 NDBASE F780-F7F7 IOBASE 2. Patch the file ZCPR22.ASM as follows: after the line CMDLIN EQU CHRCNT+1 insert the following text: BUFLEN0 EQU 77H CHRCNT0 DB 6 CMDLIN0 DB 'ZCPRBT' DB 0 NXTCHR0 DW CLBASE+4 DB BUFLEN0 and then should be an ELSE. Further patch ZCPR22.ASM after the lines CPR: LXI SP,STACK insert the lines LXI H,CHRCNT0 LXI D,CHRCNT LXI B,8 LDIR LXI H,NXTCHR0 LXI D,NXTCHR LXI B,3 LDIR after which should appear IF NOT MULTCMD 3. Assemble using MAC into the file ZCPR22.HEX 4. Patch this hex file into CPM56.COM using DDT as follows DDT CPM56.COM -H0E00,0C400 -IZCPR22.HEX -R4A00 ŠAlsï replacå thå bytes aô locatioî 24FE¬  24FF¬  anä 250° bù NOP® � Thus -S24FE 24FE 32 00 24FF b2 00 2500 c8 00 2501 xx . ^C SAVE 42 APZCPM56.COM 4®  Thå  prograí APZCPM56.COM wilì rewritå thå systeí trackó oæ á � disk when it is run. 5®  Assemblå thå filå ZCPRBT.ASÍ intï ZCPRBT.COÍ anä placå iô  oî � thå  systeí  disk®  Thió initializeó thå system¬  anä  ió  calleä � automatically when the disk is booted. 6®  Thå lasô stagå ió tï ruî thå prograí GENINÓ anä customizå thå � utilitieó  foò  youò  ZCPR² system®  É finä  thaô  thå  followinç � utilities are useful for the Apple CD COMPARE CRC DIFF DU4 LD LDIRZ LRUNZ MKCHECK MCOPY MENU MKDIR PATH PROTECT PWD RENAME SUB XDIR ZEX These also fill one Apple diskette (126k). ;cold boot for Apple ][ with CPM56 FALSE EQU 0 TRUE EQU NOT FALSE apcout equ 0db43h apcin equ 0db12h apconst equ 0db08h changer equ 0BBBBh ndir EQU TRUE iobase equ 0f780h ndbase equ 0f680h ;W McGee 15 Feb 1983 ;Version 1W1 maclib zcprhdr ;ZCPR2 is set up with a command line to execute this file on cold boot ;and by patching the ZCPR2 code to point to the command line ;The purpose of this code is to initialize the buffers needed for ZCPR2 ;in the Apple ][ screen area. Thus, this will not work with the ;40-column screen!!! $-macro @GENDD MACRO ?DD IF (?DD GT 7FH) AND (?DD LT 0FF80H) DB 100H ELSE DB ?DD ENDIF ENDM jr MACRO ?N DB 18H @GENDD ?N-$-1 ENDM org 100h ;Initialize Multiple command line if multcmd lxi h,clbase shld changer lxi d,cmdset lxi h,clbase call mover endif ;Initialize named directory if ndir lxi d,ndvals lxi h,ndbase call mover endif ;Initialize Default Command Search Path lxi d,path lxi h,pathbase mvi b,9 call movlop ;go back ;initialize IOBYTE and redirectable I/O drivers lxi d,iodrivers lxi h,iobase call mover jmp 0000h ;mover arbitrary 119 bytes from de to hl mover: mvi b,119 movlop: ldax d mov m,a inx h inx d dcr b jnz movlop ret ; ;initial external path pathbase equ 40h path: db '$$' db '$',0 db 1,'$' db 1,0 db 0 ;initialize command line if multcmd buflen equ 119 cmdset: dw clbase+4 db buflen db 0 db 0 endif iodrivers: jr ioerror db 0 jr ioerror db 0 jr ioerror db 0 ret db 0,0 jmp APCONST jmp apcin jmp apcout jmp apcout jmp apcin mvi a,0ffh ora a ret ioerror: xra a ret if ndir ndvals: db 50 db 0 db 0 db 0 db 0 endif end