\ ***************************************************************************** \ * Copyright (c) 2004, 2008 IBM Corporation \ * All rights reserved. \ * This program and the accompanying materials \ * are made available under the terms of the BSD License \ * which accompanies this distribution, and is available at \ * http://www.opensource.org/licenses/bsd-license.php \ * \ * Contributors: \ * IBM Corporation - initial implementation \ ****************************************************************************/ \ Serial console. Enabled very early. \ remember last console used CREATE lastser 4 allot 0 lastser l! \ On JS21, use serial port 2. Detect Maui by looking at the SIO version. 20 siocfg@ f2 = IF 2f8 ELSE 3f8 THEN : >serial LITERAL + ; : js21? -2f8 >serial 0= ; : serial! js21? IF 2dup 2f8 + io-c! THEN 3f8 + io-c! ; : serial1@ 3f8 + io-c@ ; : serial2@ 2f8 + io-c@ ; : serial-init 0 1 serial! 0 2 serial! 80 3 serial! d# 115200 swap / 0 serial! 0 1 serial! 3 3 serial! 3 4 serial! ; : serial-emit BEGIN 5 serial1@ 20 and UNTIL js21? IF BEGIN 5 serial2@ 20 and UNTIL THEN 0 serial! ; : serial1-key? 5 serial1@ 1 and 0<> ; : serial2-key? 5 serial2@ 1 and 0<> ; : serial1-key serial1-key? dup IF 0 serial1@ swap 0 lastser l! THEN ; : serial2-key serial2-key? dup IF 0 serial2@ swap 1 lastser l! THEN ; : serial-key BEGIN serial1-key dup IF ELSE js21? IF drop serial2-key THEN THEN UNTIL ; : serial-key? serial1-key? js21? IF serial2-key? or THEN ; \ : serial-key BEGIN 5 serial2@ 1 and UNTIL 0 serial2@ ; \ : serial-key? 5 serial2@ 1 and 0<> ; d# 19200 serial-init ' serial-emit to emit ' serial-key to key ' serial-key? to key? ( .( SLOF) \ .( has started execution, serial console @ ) 0 >serial .