; 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 Poke,pokeon 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