Disabling the Econet on a BBC B or B+ - Net.DOCS.EcoOff ======================================================= Update 0.01, Author J.G.Harston, Date 21-08-1997 There are some programs, usually games, that do not work properly with Econet active. Most of these problems appear when using a machine on an active Econet, but some of them occur in a machine not even plugged into a network at all. This short document gives advice on how to work around some of these problems. Problems with an active Econet ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Every time an Econet packet passes down the network NMI interrupts occur. Consequently if the game has trampled over the NMI workspace at &0D00 the machine is likely to crash. The following are i) Unplug the Econet lead. Drastic and not recommended as you can forget to plug it back in again, and constant plugging and unplugging will wear the connections out. ii) Disable the Econet NMI by reading NMIOFF: off%=?&FE18 iii) Claim the NMI yourself: *FX143,12,255 This is by far the best solution as it will work on all machines and also from the second processor. Note that if the program requests any Econet activity at all, such as trying to transit or loading a file from NFS then the NMI will be reclaimed. This is not usually a problem with games as they take over the machine anyway. Problems with an inactive Econet ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If you are having problems with a machine that isn't even connected to a network, then you will have to remove the Econet system from the machine's sight. The most drastic way of doing this is to remove the Rom. However, if you have a DNFS rom fitted this solution is not possible. The DNFS keeps two bits of its workspace pointer in &DFx to indicate whether the DFS or NFS portions are disabled. On a reset, the rom looks to see if the hardware it needs is present and if not disables the relevant portion. To set the bit yourself you need to know the rom number. If you knew that DNFS was in rom number 12 you could use: ?&DFC=&80 Press Break However, the following bit of code can be used in a program that can continue to do other things: A%=0:Y%=0:fs%=(USR&FFDA)AND&FF Find current filing system A%=143:X%=18:Y%=5:CALL&FFF4 Select network without error rom%=?&DBC Find which rom Net is in Y%=fs%:CALL&FFF4 Reselect filing system rom%?&DF0=rom%?&DF0 OR &80 Disable NFS *FX143,12,255 Claim NMIs The above will work whether NFS is in a dual DNFS rom or a single NFS rom. If you change the &80 to &40 you disable the DFS. Using &C0 will disable both DFS and NFS in a dual rom! On pressing Break, the memory that had been claimed will disappear and PAGE will be lower. The only way to get NFS back is to remember the rom number and use: rom%?&DF0=rom%?&DF0 AND &7F However, you will then need to press Break to reset the memory.