"Loading VERSION" $PRINT CRLF ; ; VERSION - displays and optionally changes sign-on message ; mod 3/5/06 to space-pad to 16 chars, no griping ; requires extra.ipl ; OCTAL DEFINE VERSION ;loc 463 contains address of BM2 463 GET DEC ;get address of label BM1 - length 13 ;contents of BM1, change if kernal changes OVER GET OVER SUB IFNZ "Wrong kernal" $PRINT DROP DROP ;len and BM1 address ELSE SWAP INC SWAP ;increment address to point to string OVER GET 6412 SUB IFZ ;if 1st double char CRLF DEC ;then decrement length SWAP INC SWAP ;and increment string address again ENDIF S>Y ;move string length to Y DUP ;save address for next step after this.. S>Z ;move string address to Z #0 Y>S DUP S>Y DEC +DO ;0 to length - 1 DUP GET PWRD INC ;print current version +LOOP DROP CRLF "Change? " $PRINT CHRIN "Y" $HEAD $DROP SUB IFZ ;if "Y" was pressed then... CRLF $IN Y>S DUP S>Y ASL 40 $CREATE $CAT ;get string, append spaces #0 Y>S DUP S>Y ASL DEC $SLICE $SWAP $DROP ;make string req'd length Z>S DUP S>Z ;get kernal string address #0 Y>S DUP S>Y DEC +DO ;0 to word length - 1 DUP ;address to write to $HEAD 400 MUL ;1st byte high $HEAD ADD ;next byte low PUT ;write to kernal INC ;next address +LOOP DROP ;drop address $DROP ;drop now empty string ENDIF Z>S DROP Y>S DROP ;get rid of address and length ENDIF END ;--------------------------------------------------- CONSOLE