; Program: Z34RCP ; Description: Resident Command Package (RCP) for ZCPR34 ; Version: 1.3 ; Author: Carson Wilson ; Date: September 13, 1989 ; Changes: Added CLED (command line editor shell) command. ; To save space, JetLDR ID section no longer pads end of each ; line. (JetLDR allows only 256 bytes maximum in its ; description field). ; Version: 1.2 ; Author: Carson Wilson ; Date: July 9, 1989 ; Changes: Uses spaces instead of tabs in JetLDR displays. ; Copyright now ZSA. ; Version: 1.1 ; Author: Carson Wilson ; Date: September 14, 1988 ; Changes: RCPID macro called from RCPID.LIB so that the final INCLUDE ; macro call gives total size of the RCP, including the ID ; string, with SLR assemblers. ; Label WHLQ changed to WHLQUIET in Option macro to match ; Z34HDR.LIB equate. ; Version: 1.0 ; Author: Carson Wilson ; Date: June 15, 1988 ; Derivation: SYSRCP (Richard Conn) ; Z34RCP is copyright 1989 by Z Systems Associates. All rights reserved. ; End-user distribution and duplication permitted for non-commercial purposes ; only. Any commercial use of Z34RCP, defined as any situation where the ; duplicator recieves revenue by duplicating or distributing Z34RCP by itself ; or in conjunction with any hardware or software product, is expressly ; prohibited unless authorized in writing by Z Systems Associates. ;============================================================================= ; ; D E F I N I T I O N S S E C T I O N ; ;============================================================================= maclib sysdef.lib ; Common logic, sys, ascii defines maclib z34defn.lib ; Defines offsets in Z34 command processor maclib z34mac.lib ; Macros maclib z34rcp.lib ; Defines command options if ZRL maclib z34cmn.lib ; Defines universal ZCPR named common blocks else maclib rcpbase.lib ; Defines addresses for one system endif name RCP11 ; Declare module name ; ============================================================================ ; M A C R O S S E C T I O N ; ============================================================================ ; Macros to include module file and print module length. ; Under SLR and compatible assemblers, a running account of current RCP ; size and bytes added will be given for each module. ; ; For other assemblers you may have to either modify the non-SLR include ; macro or use a text editor to read in the actual contents of each file ; in place of the include statement. if SLR ; ; General purpose macro to display decimal values and messages ; prtdec macro m1,m2,m3,m4,m5 .radix 10 ; Decimal output .printx m1 m2 m3 m4 m5 ; Print to screen endm ; ; Macro to include modules and display lengths. ; include macro filename before defl $ $include filename&.lib after defl $ modlen defl after - before ; Module length rcplen defl after - RCPbegin ; RCP length recs defl rcplen / 128 ; ..in records bytes defl rcplen mod 128 ; ..and additional bytes prtdec %modlen, prtdec ,%recs,,%bytes, prtdec ; Trailing CRLF endm else ; Non-SLR assemblers include macro filename $include filename&.lib endm endif ; SLR if ZRL ; ============================================================================= ; J e t L D R I D S E C T I O N ; ============================================================================= ; Macro to build ID block message for JetLDR. Max. length is ~256 chars. optcnt defl 0 ; Options counter option macro string1,enable1,string2,enable2 if enable1 ;; Skip if command not present if [optcnt mod 4] eq 0 db cr,lf ;; New line every four options endif optcnt defl optcnt + 1 ;; Increment options counter count defl 0 ;; Initialize character count irpc char,string1 ;; Count and define characters count defl count + 1 db '&char' endm ; irpc if not nul enable2 ;; Sub-option label present if enable2 ;; Sub-option enabled db ' (' ;; Begin sub-opt description irpc char,string2 ;; Count and define characters count defl count + 1 db '&char' endm ; irpc db ')' ;; End sub-opt description count defl count + 3 ;; For ' ()' endif ; enable2 endif ; not nul enable2 if [optcnt mod 4] ne 0 count defl 11 - count rept count db ' ' ;; Pad to 11 spaces endm ; rept endif ; [optcnt mod 4] ne 0 endif ; enable1 endm ; option macro ; --------------------------------------------------------- COM /_ID_/ ; JetLDR ID block db 'Copr. 1989 ZSA. Enabled Commands:' option Cled,cledon option Cls,clson,TC,clstcap option Cp,cpon,stp,stpcall option Dir,diron,sp, option Echo,echoon,lst,echolst option Era,eraon,sp, option Help,true option List,liston option Note,noteon option Peek,peekon,hdr,peekhdr option Poke,pokeon,q,pokeq option Port,porton option Protect,proton option Quiet,quieton option Register,regon option Rename,renon option Reset,reson,sp, option Space,spaceon option Spop,cledon option Type,lton,cls, option Wheel,whlon,q,whlquiet db 0 ; ID string terminator ;============================================================================= ; ; E N T R Y C O D E S E C T I O N ; ;============================================================================= cseg else org z3rcp endif ; ZRL RCPbegin: db 'Z3RCP' ; Package ID include RCPcmd ; Command table and custom commands include RCPsubs ; File of subroutines include RCPh ; 'H' help (command list) command ; Include only selected code sections. if cledon ; 'CLED' and 'SPOP' commands include RCPcled endif ;cledon if clson include RCPcls ; 'CLS' clear screen command endif ;clson if reson include RCPr ; 'R' disk reset command endif ;reson if spaceon include RCPsp ; 'SP' space on disk command endif ;spaceon if diron include RCPdir ; 'DIR' directory command endif ;diron if eraon include RCPera ; 'ERA' erase command endif ;eraon if renon include RCPren ; 'REN' rename command endif ;renon if cpon include RCPcp ; 'CP' file copying command endif ;cpon if echoon include RCPecho ; 'ECHO' command endif ;echoon if quieton include RCPquiet ; 'Q' quiet flag endif ;quieton if lton include RCPlt ; 'LIST' and 'TYPE' commands endif ;lton if proton include RCPprot ; 'PROT' file attribute setting command endif ;proton if peekon or pokeon or porton include RCPiom ; 'PEEK', 'POKE', 'PORT' commands endif ;peekon or pokeon or porton if regon include RCPreg ; 'REG' register operation commands endif ;regon if whlon include RCPwhl ; 'WHL' command endif ;whlon include RCPid ; Add ID string (must come last) RCPend: ; Used to calculate length end ; End of Z34RCP.Z80