Image; GIF 4K

FileStore CMOS RAM

 

 

  The FileStore CMOS RAM:

  Byte(s)     Function
  ----------------------------------------------------
  0 - 13      Real time clock

  14          The server station number

  15          255 - server station number (used as a check)

  16 - 19     -

  20          If error: Error code

  21          If error: X register

  22          If error: Y register

  23          If error: Address MSB \
                                     >-  addr = ?23 + &100 + ?24
  24          If error: Address LSB /

  25 - 27     If error: 24bit SIN

  28          Maximum users allowed to log on

  29          Configured drives + 1

  30 - 35     Printer server name (disabled if 30 = 0)

  36 - 46     Username set by *FSUser

  47          Check byte for FSuser name 

  48          Printer page feeds

  49          If = 0 then copyright check is on

  50 - 63     -

The code to perform the reading is:

  LDA #5
  LDX #(address MOD &100)
  LDY #(address DIV &100)
  JSR &FFF1
  RTS
Where address is where you want the result to be stored to (which should not be the same place you decide to poke your code into the server memory). As a BASIC function to prebuild this code segment, it appears as:
  buffy%?0 = &A9
  buffy%?1 = 5
  buffy%?2 = &A2
  buffy%?3 = address% MOD 256
  buffy%?4 = &A0
  buffy%?5 = address% DIV 256
  buffy%?6 = &20
  buffy%?7 = &FFF1 MOD 256
  buffy%?8 = &FFF1 DIV 256
  buffy%?9 = &60
This code is poked into the FileStore at the address you have decided (with *FSProt off!). You should then Remote_JSR to your code. Finally, peek the address that you have specified to store the result to. The result is at offset +4; so read back 6 bytes, the result it buffy%?4.

If this all looks a bit of a hassle - remember that !FSutil can do this all for you, and write data back to CMOS if necessary.


Return to econet index


Copyright © 1999 Richard Murray