# $Id: cpucons.tcl 512 2013-04-28 07:44:02Z mueller $
|
# $Id: cpucons.tcl 512 2013-04-28 07:44:02Z mueller $
|
#
|
#
|
# Copyright 2013- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
# Copyright 2013- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
|
#
|
#
|
# This program is free software; you may redistribute and/or modify it under
|
# This program is free software; you may redistribute and/or modify it under
|
# the terms of the GNU General Public License as published by the Free
|
# the terms of the GNU General Public License as published by the Free
|
# Software Foundation, either version 2, or at your option any later version.
|
# Software Foundation, either version 2, or at your option any later version.
|
#
|
#
|
# This program is distributed in the hope that it will be useful, but
|
# This program is distributed in the hope that it will be useful, but
|
# WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY
|
# WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
# for complete details.
|
# for complete details.
|
#
|
#
|
# Revision History:
|
# Revision History:
|
# Date Rev Version Comment
|
# Date Rev Version Comment
|
# 2013-04-26 510 1.0 Initial version
|
# 2013-04-26 510 1.0 Initial version
|
#
|
#
|
|
|
package provide rw11 1.0
|
package provide rw11 1.0
|
|
|
package require rlink
|
package require rlink
|
package require rwxxtpp
|
package require rwxxtpp
|
|
|
namespace eval rw11 {
|
namespace eval rw11 {
|
|
|
#
|
#
|
# cpumon: special command environment while cpu is running
|
# cpumon: special command environment while cpu is running
|
#
|
#
|
|
|
variable cpucons_done 0
|
variable cpucons_done 0
|
|
|
#
|
#
|
# cpucons: setup special console shortcut commands
|
# cpucons: setup special console shortcut commands
|
#
|
#
|
proc cpucons {} {
|
proc cpucons {} {
|
variable cpucons_done
|
variable cpucons_done
|
|
|
# quit if cpucons already done
|
# quit if cpucons already done
|
if {$cpucons_done} {
|
if {$cpucons_done} {
|
return ""
|
return ""
|
}
|
}
|
|
|
namespace eval :: {
|
namespace eval :: {
|
|
|
#
|
#
|
# '.' show current PC and PS
|
# '.' show current PC and PS
|
#
|
#
|
proc "." {} {
|
proc "." {} {
|
return [cpu0 show -pcps]
|
return [cpu0 show -pcps]
|
}
|
}
|
|
|
#
|
#
|
# '?' show current PC and PS and R0-R6
|
# '?' show current PC and PS and R0-R6
|
#
|
#
|
proc "?" {} {
|
proc "?" {} {
|
return [cpu0 show -r0ps]
|
return [cpu0 show -r0ps]
|
}
|
}
|
|
|
#
|
#
|
# '(' type some chars (no cr at end)
|
# '(' type some chars (no cr at end)
|
#
|
#
|
proc "(" {args} {
|
proc "(" {args} {
|
set str [join $args " "]
|
set str [join $args " "]
|
cpu0tta0 type $str
|
cpu0tta0 type $str
|
return ""
|
return ""
|
}
|
}
|
|
|
#
|
#
|
# '<' type some chars (with cr at end)
|
# '<' type some chars (with cr at end)
|
#
|
#
|
proc "<" {args} {
|
proc "<" {args} {
|
set str [join $args " "]
|
set str [join $args " "]
|
append str "\n"
|
append str "\n"
|
cpu0tta0 type $str
|
cpu0tta0 type $str
|
return ""
|
return ""
|
}
|
}
|
|
|
}
|
}
|
|
|
set cpucons_done 1
|
set cpucons_done 1
|
return ""
|
return ""
|
}
|
}
|
|
|
}
|
}
|
|
|