ZNOS BDOS Function Calls ======================== On entry: C=function, DE=parameters On exit: All registers changed except IX, IY, A=L and B=H If call unsupported, A=0, HL=0 Some standard CP/M calls are modified to indicate that ZNOS is the BDOS. Filenames are translated back and foreward between CP/M "filename.ext" and NetFS "ext.filename". That is, CP/M files are stored on the host filing system in subdirectories of the CP/M extension. The CP/M file attributes are [not yet investigated]. ZNOS BDOS Function Call Summary =============================== HEX DEC FUNCTION ENTRY RETURNED ------------------------------------------------------------------------------------------- &40 64 Network Transmit IX=>... &41 65 Poll Transmit &42 66 Open Receive Block &43 67 Poll Receive &44 68 Delete Receive Block &45 69 Read Argument Block &46 70 Read/Write NetFS Info &47 71 Make Net_FSOp call &48 72 OSCLI DE=>command line A=0 ok, A<>0 error, HL=>error string &49 73 ROFF - &4A 74 Return ZNOS version string - HL=>version string &4B 75 Delete all receive blocks E=action A=status &4C 76 Unsupported - A=0, HL=0 &4D 77 Unsupported - A=0, HL=0 &4E 78 Unsupported - A=0, HL=0 &4F 79 Unsupported - A=0, HL=0 &50 80 Unsupported - A=0, HL=0 &51 81 Unsupported - A=0, HL=0 &52 82 Unsupported - A=0, HL=0 &53 83 Unsupported - A=0, HL=0 &54 84 Unsupported - A=0, HL=0 &55 85 Unsupported - A=0, HL=0 &56 86 Unsupported - A=0, HL=0 &57 87 Unsupported - A=0, HL=0 &58 88 Something with a FCB IX=>... &59 89 Save whole file DE=>FCB, DMA=addr A=0 ok, A<0 error IX=length/128 HL=end addr &5A 90 Load whole file DE=>FCB, DMA=addr A=0 ok, A<0 error ------------------------------------------------------------------------------------------- ZNOS BDOS Function Call Details =============================== ZNOS call &40 - Network transmit ZNOS call &41 - Poll Transmit ZNOS call &42 - Open Receive Block ZNOS call &43 - Poll Receive ZNOS call &44 - Delete Receive Block ZNOS call &45 - Read Argument Block ZNOS call &46 - Read/Write NetFS Info ZNOS call &47 - Make Net_FSOp call ---------------------------------- This sends a FSOp command to the current file server. ZNOS call &48 - Make non-intercepted OSCLI call ----------------------------------------------- On entry, DE =>command line On exit, A =&00 ok, <>&00 error, HL=>error string, terminated with This ensures NetFS is selected, sets up an error handler, and passes the command line at DE to OSCLI. If no error occurs, A is returns holding &00; if an error occurs, A is returned holding the error number, and HL points to the CR=terminated error string. ZNOS call &49 - Disconnect remote connection -------------------------------------------- This disconnects any remote connection by calling OSBYTE &33, the same as *ROFF. ZNOS call &4A - Return ZNOS version string ------------------------------------------ On exit, A = &00 HL=>version string, terminated with '$' ZNOS call &4B - Delete all receive blocks ----------------------------------------- ZNOS call &58 ------------- ZNOS call &59 - Save whole file ------------------------------- On entry, DE =>FCB DMA=address to save from IX =number of 128-byte blocks Flags in FCB: On exit, A =&00 loaded ok HL =address after end of file A =&FF file not found This attempts to save the whole file specified in the FCB from memory starting at the DMA address, with the length in 128-byte blocks specified in IX. Errors are trapped and returned. ZNOS call &5A - Load whole file ------------------------------- On entry, DE =>FCB DMA=address to load to Flags in FCB: On exit, A =&00 loaded ok HL =address after end of file A =&FF file not found This attempts to load the whole file specified in the FCB into memory at the DMA address. Errors are trapped and returned. ZNOS-Specific CP/M Function Call Details ======================================== Select Drive Open Close Search First Search Next Delete Read Sequential Write Sequential Make File Rename File Get Allocation Vector Set File Attributes Get Disk Parameter Block Read Random Write Random Compute File Size Set Random Record Write Random with Zero Fill