REM>stationset REM REM Copyright (c) 1995 Ben Harris REM All rights reserved. REM REM Redistribution and use in source and binary forms, with or without REM modification, are permitted provided that the following conditions REM are met: REM 1. Redistributions of source code must retain the above copyright REM notice, this list of conditions and the following disclaimer. REM 2. Redistributions in binary form must reproduce the above copyright REM notice, this list of conditions and the following disclaimer in the REM documentation and/or other materials provided with the distribution. REM 3. The name of the author may not be used to endorse or promote products REM derived from this software without specific prior written permission. REM REM THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR REM IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES REM OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. REM IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, REM INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT REM NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, REM DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY REM THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT REM (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF REM THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. oldstation% = FNcmos_read(&40) PRINT "Current station number: ";oldstation% INPUT "New station number: "station% checksum% = FNcmos_read(&3F) checksum% += station% - oldstation% checksum% = checksum% AND &ff PROCcmos_write(&40, station%) PROCcmos_write(&39, checksum%) END DEF FNcmos_read(addr%) PROCIIC_write_byte(&A0, addr%) =FNIIC_read_byte(&A0) DEF PROCcmos_write(addr%, byte%) DIM q% 1 q%?0 = addr% q%?1 = byte% PROCIIC_write_block(&A0, q%, 2) ENDPROC DEF FNIIC_read_byte(address%) LOCAL result$ SYS "IIC_Control",address% OR 1," ",1 TO ,result$ IF result$="" THEN =0 =ASC(result$) DEF PROCIIC_read_block(iicaddr%,blkaddr%,size%) SYS "IIC_Control",iicaddr% OR 1,blkaddr%,size% ENDPROC DEF PROCIIC_write_block(iicaddr%,blkaddr%,size%) SYS "IIC_Control",iicaddr% AND &FE,blkaddr%,size% ENDPROC DEF PROCIIC_write_byte(address%,byte%) SYS "IIC_Control",address% AND &FE,CHR$(byte%),1 ENDPROC