summaryrefslogtreecommitdiffstats
path: root/qemu/roms/SLOF/slof/fs/scsi-loader.fs
blob: fec1f78dc2af402cfb17051c58aaa1335c6da109 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
\ *****************************************************************************
\ * 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
\ ****************************************************************************/

\ **************************************
\ Last change: MiR 13.11.2007 10:55:57
\ **************************************

: .ansi-attr-off 1b emit ." [0m"  ;    \ ESC Sequence: all terminal attributes off
: .ansi-blue     1b emit ." [34m" ;    \ ESC Sequence: foreground-color = blue
: .ansi-green    1b emit ." [32m" ;    \ ESC Sequence: foreground-color = green
: .ansi-red      1b emit ." [31m" ;    \ ESC Sequence: foreground-color = green
: .ansi-bold     1b emit ." [1m"  ;    \ ESC Sequence: foreground-color bold

false VALUE scsi-supp-present?

: scsi-xt-err ." SCSI-ERROR (Intern) " ;
' scsi-xt-err VALUE scsi-open-xt        \ preset with an invalid token

\ *************************************
\ utility to show all active word-lists
\ *************************************
: .wordlists      ( -- )
   .ansi-red
   get-order      ( -- wid1 .. widn n )
   dup space 28 emit .d ." word lists : "
   0 DO
      . 08 emit 2c emit
   LOOP
   08 emit                 \ 'bs'
   29 emit                 \ ')'
   cr space 28 emit
   ." Context: " context dup .
   @ 5b emit . 8 emit 5d emit
   space
   ." / Current: " current .
   .ansi-attr-off
   cr
;

\ *************************************
\ utility to show first word-lists
\ *************************************
: .context  ( num -- )
   .ansi-red
    space
   5b emit
   23 emit . 3a emit
   context @
   . 8 emit 5d emit space
   .ansi-attr-off
;

\ ****************************************************************************
\ open scsi-support by adding a new word list on top of search path
\ first check if scsi-support.fs must be included (first call)
\ when open use execution pointer to access version in new word list
\ ****************************************************************************
: scsi-open  ( -- )
   scsi-supp-present? NOT
   IF
      s" scsi-support.fs" included  ( xt-open )
      to scsi-open-xt               (  )
      true to scsi-supp-present?
   THEN
   scsi-open-xt execute
;