Overview
SN
Systems' product ProDG for PSP® consists of an advanced
toolchain for building and debugging console games. Continuous
development based on customer feedback ensures we keep pace
with your demands.
The
following components are included. Click
on any of the components below to list its key features, click
a feature to view its benefits.
- Debugger
The
debugger provides comprehensive support for examining
source code, disassembly, memory, registers, variables,
TTY and the call stack.
See our 8 reasons to download
Debugger v2
Usability is enhanced through
the debugger's split pane system which allows unlimited
configuration of pane layout. User control of single stepping
is complemented by conditional breakpoints.
-
Full support for
the processor
ProDG fully supports the new customized MIPS CPU in
the PSP® (PlayStation®Portable) including display of all opcodes
and registers for the CPU, FPU, and VFPU.
- Run/step/breakpoint
control
The debugger provides source-level single-step, step-over,
step-into, run to cursor, and breakpoint support.
- Supports conditional/counted
breakpoints
Conditional breakpoints aid debugging by allowing specified
criteria to trigger a break in your code. You can also
use counted breakpoints to halt code execution once
a breakpoint has been triggered a specified number of
times.
-
Display list
pane
The display list pane enables you to browse display
lists containing graphics commands that will be sent
to the "PSP®"'s graphics processor.
-
Pipeline Analyzer
The pipeline analyzer examines program flow in CPU/FPU/VFPU
pipelines and displays additional useful information
alongside the disassembly of your code, such as number
of stall cycles, total instruction duration and pitch
and latency, address of the opcode causing the largest
stall, and the reason for the stall.
- VFPU support
Not only does ProDG understand the VFPU opcodes and
display useful VFPU timing information, it also analyzes
register dependencies and shows any overlap in VFPU
register sets used by VFPU opcodes by helpful color
coding of the disassembly. Of course it does this for
the main CPU and FPU also but the VFPU is where it is
most useful to help diagnose bugs caused by accidental
register overlaps.
- Drag-and-drop
support
Freely drag names and expressions from source panes
to watch panes to add watches. Most panes support clipboard
mark and copy and many panes also allow their type of
information to be directly dumped to a text file.
- Watch and
locals panes
Locals pane automatically tracks all local variables,
with tabs for 'this' pointer, and 'auto' context. Watch
pane accepts any expression including typecasts. Browse
your C/C++ data with intuitive expand/collapse of classes,
unions, structures, arrays. Use custom templates to
specify how you want certain data types to display.
The debugger also supports one-off evaluation of complex
expressions via script pane immediate mode.
- Comprehensive
scripting support
The script pane allows to to execute your own ANSI-C
programs to perform complex debugger operations including
send/receive data to/from "PSP®" memory.
Start or stop execution, set breakpoints, load executable
files, customize debugger context menus, draw text and
graphics, manipulate files, change the way watches are
displayed, execute other programs, etc. etc. Scripts
are plain text files but are compiled at run-time for
very fast execution. Scripts can also be auto-loaded
at debugger startup and custom script panes can be saved
and reloaded when you exit and restart the debugger.
-
Workspace pane
allows easy project navigation
The workspace pane provides quick access to the files,
functions, globals and class definitions within your
ELF file. Combine this with source code search paths
to allow debugging of anything you have source code
for, regardless of who built it, and what their setup
was.
-
Mixed-mode source/disassembly
pane
The mixed-mode pane allows you to quickly toggle the
format of your source code.
Display
the source, disassembly or mixed-mode, which will
interleave the disassembly of code with the original
source line.
-
Regular expressions
Regular expressions are a standard way to describe a
string pattern, and can be used for searches within
the debugger.
-
Flexible pane
and window system
Allows multiple, simultaneous views of the CPU registers,
memory, disassembly, source, local variables, and
watch points. You can also save numerous layouts and
recall them as and when needed.
- Save/load data
to/from various panes
Many of the panes have the ability to save or load blocks
of information to and from disk. Use this to quickly
restore a game state, or compare the status of memory
on different hardware.
- User-configurable
accelerator keys/bindings and color schemes
The debugger key map can be altered to suit the developer.
SN Systems provide pre-defined keymaps for Visual Studio
and SN (for users who are used to our SDevTC product
or are using ProDG on another platform). The font, size
and color of text in each pane can be altered also.
- Pop-up expression
evaluation
The debugger source panes feature hover evaluation.
Simply hover the cursor over some text or a selection,
and the evaluation or value of the underlying item will
instantly popup in a tooltip.
- SNC
C/C++ Compiler
SN Systems' new SNC C/C++ Compiler has been developed
for the needs of the game console developer. High performance,
advanced optimizing controls and comprehensive language
support help you make better games.
Based
on an industry-standard C++ front end, SNC offers extensive
control over project building and code generation. Developed
and maintained in-house by SN Systems, it forms the foundation
of SN Systems' programming systems for future console
architectures.
SNC
C/C++ Compiler Key Benefits
| High
quality code |
Efficient
code generation enables you to make better games.
The powerful optimization features provide you with
fine control. |
| Reduced
development time |
Write
tight code quicker. Your productivity will be improved
using: the intuitive inline assembly syntax; pre-compiled
headers; Visual Studio .NET integration |
| Comprehensive
standards support |
Writing
multi platform code is easier with support for: ANSI/ISO
C/C++; Boost C++, GCC C/C++, Microsoft C/C++ and STLport
C++ |
| Unparalleled
technical support |
Continuous
development based on customer feedback ensure we keep
pace with your demands. Our industry leading reputation
for responsiveness will get you through the crunch. |
| Advanced
optimization controls |
See
below for details of the optimization controls provided
by SNC. |
VFPU
assembler
support |
Support for VFPU assembler, including SN Systems'
simplified syntax for the VFPU prefix feature. |
- Advanced optimization controls
- Loop
unrolling under precise user control
Code
within loops can be replicated one or more times.
This decreases the loop control overhead and increases
the opportunities for scheduling.
- Function
inlining under precise user control
Calls
to small user functions can be replaced by the code
they call. This saves the overhead of making a function
call and creates additional opportunities for optimization
by providing the optimizer with greater scope on
which to work.
- Inlining
of intrinsic functions
Complete
control over the way the compiler instantiates C++
templates.
- Instruction
scheduling
Instructions
can be reordered in a way that improves the utilization
of the fine-grained parallelism available on the
target computer.
- Network
point expression rearrangement
Some
optimizations of floating point expressions are
mathematically equivalent, but are not necessarily
always computationally equivalent. This aspect of
optimization is under user control.
- Interprocedural
analysis
This
allows the compiler to optimize code across more
than one routine. Includes call modification analysis,
inlining in C, address leakage detection in C and
interprocedural register allocation.
- Multi-compilation
module code optimization features
It
is a characteristic of optimization that it is possible
to do a better job when more of the program is given
to the compiler at one time. Given this characteristic,
it is generally true that you will obtain better
performance when more of the program is given to
the compiler at a single invocation.
- Common
subexpression elimination
If
a value that has already been computed is unnecessarily
recomputed, the first result can be held in a processor
register and reused instead of being recomputed.
Sometimes the value is a repeated expression in
the source code. Sometimes it is below the level
of the source code.
- Induction
variable elimination
Loop
control variables that are not needed can be eliminated.
This situation is common in loops after strength
reduction has been applied.
- Partial
template specialization
SNC
supports template specializations where one or more
of the template parameters remains unspecialized.
- Control
flow improvements
Several
kinds of improvements can be applied to the control
flow of the program. For example, unconditional
transfers to unconditional transfer instructions
can be eliminated.
- Build
Tools
-
Linker
The linker provides accurate control over the position,
allocation and alignment of code and data in memory.
Unused function and data stripping controls enable the
developer to minimize code size.
-
Assembler
The assembler is invoked automatically by the compiler
driver to generate object modules. Debug information
for source level debugging of assembly programs is provided.
- Visual
Studio Integration
Integration
of the above tools with Visual Studio .NET (2003) is achieved
through Add-ins and Appwizards.
- Build,
edit and manage your project using the Visual Studio IDE
VSI
will install a toolbar into Visual Studio to allow your
ProDG build environment to be used by Visual Studio.
Any feature natively available in Visual Studio is available
to use in your PSP® project, for example,
Source Safe controls.
- Tight
integration between the IDE and the ProDG Debugger
Once
built, you can run/debug your game in the ProDG debugger
from within Visual Studio. Breakpoints (including
conditional information) are automatically transferred
between the IDE and debugger, and files in the debugger
source pane can be opened in Visual Studio from within
the debugger.
Compiler
and linker errors and warnings are output in Visual
Studio format so that double-clicking on a build error
in the output window opens the source file at the
appropriate line in the Visual Studio editor.
- ProDG
build tool integration
Toolchain
command-line switches, command-line arguments for the
Debugger and ELF, and fileserving paths, can all be
set via a configuration dialog within Visual Studio
.NET.
- Flexible
Project Configurations
VSI
.NET supports configuration-specific properties, for
example different linker scripts could be used for debug
and release builds.
- Source
browsing and Intellisense
Use
Visual Studio's built in source browsing and Intellisense
capabilities (when editing a C/C++ source) in your PSP®
project, just as you would in a Win32 build.
- Project
dependencies
Full
source dependency checking for C, C++ and assembler
files during the build process.
- Target
Manager
- Load/Run
executable files
Simple interface for loading and running executable
files. Includes support for multiple module pre-loading.
- Manage
all development tools from your own PC
Manage PSP® development tools that
is visible on a LAN. This includes visibility of hardware
status, and the currently connected user.
- Integrated,
safe Kernel flashing
Update any PSP® development tools
from a single location. Removes the need for an additional
Linux PC.
- Full
file serving, including named pipes
File serving allows your application, running on the
PSP® development tools, to access
files located on your host PC. You can read your game
data directly from your PC, saving you time and resources,
and access file information such as size and access
times directly from the PSP® development tools.
Furthermore,
named pipe support provides a two-way communication
channel between your application and the host PC.
Now you can write software to control the PSP®
development tools from your PC!
- TTY
output pane
View the output from the PSP® development tools in pre-defined streams or in user selectable
formats. ANSI coloring is supported to improve legibility
and resizable buffers allow you to save output for your
test records and later analysis.
- Target
Manager Software Development Kit (SDK)
An
SDK provides access to Target Manager functions from
your own applications and plug-ins. It leaves you
free to concentrate on your application, leaving target
communications to the tried and tested Target Manager.
- Tuner - NEW!
Documentation
Comprehensive
documentation is supplied in PDF and HTML formats. Technical
articles and FAQs are available in the developer technical
support zone of the website.
Technical
support
Technical
support is provided via e-mail and telephone during normal
UK business hours. We also provide support via the customer-only
technical support zone of our website where the following
services are available 24 hours a day, 7 days a week:
- Documentation
and technical articles
- Downloads
and updates
- FAQs
System
requirements
-
PC running Windows XP Professional.
- SCE
PSP® development tools.
Prices
Please
click here to request
a quotation, or contact contact@snsys.com
for further information.
'PSP'
is a registered trademark of Sony Computer Entertainment Inc.