Aucbvax.1863 fa.info-cpm utzoo!duke!decvax!ucbvax!MARON@LLL-MFE Tue Jun 23 03:18:36 1981 A safe public USER 0 for .COM files patch for CP/M 2.2 This patch is an addition to an existing patch to look on drive A: if your .COM file isn't on the logged in drive. I consider it safer than the "BDOS22.PAT" which makes "USER 0" public but also may have certain bad side effects. This of course is tested and is up in my system. This is for CP/M 2.2 . patchfile>>> ;n.maron 19jun81 ;patch to look on A: for .COM file then look on USER 0 ; or look on USER 0 if d: given explicitly in command. msize equ 60 ;CP/M system size in kilobytes ; ;set for your system delta equ 200h ;offset from standard CP/M size (probably 0 in ; your case bias equ (msize-20)*1024-delta ; offset from 20k CP/M ccp equ 3400h+bias coa equ ccp+8ch ;CCP console output routine from A gtusr equ CCP+113h ;CCP get user number routine stusr equ CCP+115h ;CCP set user number routine ocpmfcb equ ccp+0d0h ;CCP open file @ cpmfcb$ routine cpmtype$ equ ccp+7d6h ;type field in cpmfcb$ cmdsk$ equ ccp+7f0h ;loc of disk given in command cmderr equ ccp+76bh ;loc to type error in command win equ ccp+6deh ;go here if we get file open patcharea equ ????? ;patch area in your CBIOS (not in CCP or BDOS) ; org ccp+6dbh jz patch ;replace "jz cpm+76bh"=jz cmderr ; org ccp+7f2h ;replaces an unused area of NOP's patch: lxi h,cmdsk$ ;get dirve from current command ora m ;A=0 on entry, so fetches drive jnz patch1 ;this is new for NM ;if explicit drive given go try USER 0 ;this will be escape even if we force A: inr m ;force explicit reference to drive A lxi d,cpmtype$ ;need DE set up to this on entry to CCP jmp ccp+6cdh ;now go reenter CCP ; ;this is the addition to the above patch org patcharea ;patch area in memory ;arrive here because explicit drive set or cant find file on A: patch1 call gtusr ;get user code ora a ;set flags jz cmderr ;already user 0 so lose mov e,a ;get old value into E for later push d ;save it mov e,0 ;set USER=0 call stusr call ocpmfcb ;try open again pop d ;get old user code back before we save flags push psw ;now save flags from call call stusr ;now go set back to old user number pop psw ;get flags back from OPEN call jnz win ;go to win if we won jmp cmderr ;too bad we lose ; end <<<
This Usenet Oldnews Archive article may be copied and distributed freely, provided:

1. There is no money collected for the text(s) of the articles.
2. The following notice remains appended to each copy:

The Usenet Oldnews Archive: Compilation Copyright© 1981, 1996
Bruce Jones, Henry Spencer, David Wiseman.


Goto NEXT article in FA.info-cpm Newsgroup
Return to FA.info-cpm index
Return to the Usenet Oldnews Archive index ----------------------------------------------------------------- gopher://quux.org/ conversion by John Goerzen of http://communication.ucsd.edu/A-News/ This Usenet Oldnews Archive article may be copied and distributed freely, provided: 1. There is no money collected for the text(s) of the articles. 2. The following notice remains appended to each copy: The Usenet Oldnews Archive: Compilation Copyright (C) 1981, 1996 Bruce Jones, Henry Spencer, David Wiseman.