diff options
author | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
---|---|---|
committer | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
commit | af1a266670d040d2f4083ff309d732d648afba2a (patch) | |
tree | 2fc46203448ddcc6f81546d379abfaeb323575e9 /roms/SLOF/board-js2x/slof/serial.fs | |
parent | e02cda008591317b1625707ff8e115a4841aa889 (diff) |
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'roms/SLOF/board-js2x/slof/serial.fs')
-rw-r--r-- | roms/SLOF/board-js2x/slof/serial.fs | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/roms/SLOF/board-js2x/slof/serial.fs b/roms/SLOF/board-js2x/slof/serial.fs new file mode 100644 index 000000000..98b2f2939 --- /dev/null +++ b/roms/SLOF/board-js2x/slof/serial.fs @@ -0,0 +1,48 @@ +\ ***************************************************************************** +\ * 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 . |