home *** CD-ROM | disk | FTP | other *** search
-
- -[ From Seattle's 'downspout' - 206-325-1325 ]-
-
- This code documents a method of modifing ZCPR3 to recognise that it has
- loaded a ZCPR3 installable utility and "auto-install" it by loading the
- environment address at the correct place in the TPA.
-
- Search the ZCPR3 source file for the label "EXECADR:" and insert the code
- shewn below. Note that all additional code is commented thus ";+ "...
-
- ; RUN LOADED TRANSIENT PROGRAM
- CALL DEFDMA ; SET DMA TO 0080
-
- ;
- ; attempt to install z3env utilities...
- ld hl,0100h ;+ point to position of z3env id.
- ld de,idstring ;+ point to z3env descriptor string.
- ld b,idlength ;+ reg b will count bytes
- z3test: ld a,(de) ;+ get a byte for compare...
- cp (hl) ;+ ...match against code...
- jr nz,noz3env ;+ ...branch if not installable.
- inc hl ;+ bump pointers...
- inc de ;+ ...
- djnz z3test ;+ branch until all bytes match.
- ; tpa contains an installable utility...
- ld (hl),low z3env ;+ load environment address...
- inc hl ;+ ...
- ld (hl),high z3env ;+ ...
- ;
- ; EXECUTION (CALL) OF PROGRAM (SUBROUTINE) OCCOURS HERE
- EXECADR: EQU $+1 ; CHANGE ADDRESS FOR IN-LINE CODE MODIFICATION
- noz3env: CALL 0100H ; CALL TRANSIENT
- ; zcpr3 code continues....
-
-
- ; Insert z3 environment id string in any convenient place.
- idstring: defb "Z3ENV",01 ;+ z3 environment id.
- idlength equ $-idstring ;+
-
- <eof>
-