;
; Copyright (c) 2011, Hewlett-Packard Company. All rights reserved.<BR>
; 
; SPDX-License-Identifier: BSD-2-Clause-Patent
; 

; Copy this to your C:\T32 directory
;Default startup program for TRACE32
;
;This startup program can be modified according to your needs.

; update this path to reflect YOUR current working dir
GLOBAL &wcdir
&wcdir="D:\bios"

;choose hex mode for input
 radix hex

;Add some extra buttons to the toolbar

 menu.rp
 (
  add
  toolbar
  (
   separator
   toolitem "Source/List"      ":list"     "Data.List"
   toolitem "Memory Dump"      ":dump"     "Data.dump"
   toolitem "Register"         ":reg"      "Register"
   separator
   toolitem "Watch"            ":varwatch" "Var.Watch"
   toolitem "Stack"            ":varframe" "Var.Frame /l /c"
   toolitem "Automatic Watch"  ":varref"   "Var.Ref"
   separator
   toolitem "List Breakpoints" ":break"    "Break.List"
   toolitem "List Symbols"     ":symbols"  "sYmbol.Browse"
   toolitem "System Settings"  ":config"   "SYStem"
   separator
  )
 )

 if language()!=""
 (
  local &menuname
  &menuname="~~/t32"+language()+".men"
  if os.file(&menuname)
     menu.rp &menuname
 )

;Recall and Define History File
 autostore , history bookmark
  
; Execute EFI setup script
  chdir &wcdir\Platform\T32_Scripts
  do EFI

enddo


