title 'BDOS patch for CP/M 2.2 to make USER 0 public' ; ;5/15/80 ; ;patch courtesy of Andy Johnson-Laird ; ;******************************CAUTION****************************** ; ;This patch is for grown-ups who know what they are doing. ;Note that if files of the same name are present on both USER 0 and ;the logged-in USER number, the OPEN, SEARCH for FIRST, SEARCH for NEXT ;and READ SEQUENTIAL functions will match directory entries on a first-come ;first-served basis. This will cause exciting results if multiple extent ;files of the same name are present on both USER 0 and logged-in USER. ; ;Recommended use: ; ; 1) Keep on USER 0 only commonly used programs (Files.COM) ; 2) Set these programs to $SYS to reduce directory clutter. ; 3) Set these programs to $R/O to avoid accidental erasure of ; invisible programs. ; 4) NEVER place on any other USER number programs of the same name. ; 5) Have turn-key applications cold-boot directly into the assigned ; USER number. The USER number is the high nibble of address 4. ; ; msize equ 20 ;set your memory size here ; bdos equ (msize-20)*1024+3C00h ; patch$area equ ?????? ;this will depend on YOUR system, and ;should probably be in your BIOS area ; org bdos+075eh jmp patch ;overlays: mov a,b ; cpi 0dh ; ; org patch$area patch: mov a,b ora a jnz patch2 ldax d cpi 0e5h jz patch2 mov a,m ora a jz bdos+077ch patch2: mov a,b cpi 0dh jmp bdos+0761h ; end