Epicenter
Well-Known Member
I'm providing SoC selection/hardware configuration suggestions for a future planned successor to the GP2X from GPH, probably a couple years down the line, maybe a bit less. For the sake of discussion, let's call it the 'GP3X', though this won't be its real name. There are 2 configurations from which I am attempting to make a judgement, however, which selection is ideal will depend predominantly upon what developers find the most useful. Here are the two configurations under consideration at this price point.
Option 1:
- ARM926EJ-S processor at a native 266 MHz with 16K Instruction, 16K Data 64-way set-associative cache, and Jazelle technology for native execution of Java code
- ARM VFP9-S Floating Point/Vector Coprocessor with up to 273 Million Floating Point Operations/sec.
- PowerVR MBX Lite 2D/3D Accelerator (fully OpenGL-ES compatible, usable through SDL) supporting 1 Million triangles/sec., flat/gouraud shading, perspective-correct texturing, a 32-bit Z-Buffer, Specular highlighting, Per-Vertex fog, and support for all OpenGL and DirectX Blending modes
- 16-bit Fixed-Point DSP with support for memory access simultaneous to the ARM926/VFP9/MBX
- Realtime Hardware MPEG-4 decoding/encoding support with Post-Processing and Motion Estimation/Compensation
- Hardware JPEG decoding/encoding support
- Onboard AC97 codec Audio Controller
- USB Host support (for attaching external devices)
- USB Client support (for attachment to a PC)
- LCD Controller with integrated video scaler
- Up to 1024x1024, 24-bit Display
- 3 UART serial channels
- NAND/SD Memory capability
- Dedicated power management hardware, 1.5v low-power operation (compared to GP2X 1.8v)
Option 2:
- ARM920T processor at a native 400 MHz with 16K Instruction, 16K Data 64-way set-associative cache (no Jazelle support)
- No Floating Point, Vector or 2D/3D acceleration or DSP
- No hardware MPEG4/JPEG support
- Onboard AC97 codec Audio Controller
- USB Host support (for attaching external devices)
- USB Client support (for attachment to a PC)
- LCD Controller with integrated video scaler
- Up to 640x480 display resolution
- 3 UART serial channels
- NAND/SD Memory capability
- 2.0v power operation (compared to GP2X 1.8v)
Both solutions will provide the same capabilities as the GP2X, with the exception that Option 2 will not provide hardware MPEG4 decoding, so this must be done in software. Also, no 940T coprocessor exists for either solution, though Option 1 provides an extremely high-speed floating point/vector unit and dedicated DSP.
Pros/Cons of both Chipsets:
=Option 1=
Pros:
+ High-Performance CPU (roughly 33% faster than GP2X before overclocking)
+ Probable overclockability to 333 MHz+ on average (66% faster than GP2X stock speed)
+ Floating Point / Vector Processor nearly as powerful on its own as the GP2X main processor (GP2X has no FPU/Vector processing support)
+ Full hardware 3D support to support full-speed PSX/SNES emulation, high-end homebrew titles, and more; far superior performance to Software 3D with simple implementation through OpenGL/SDL
+ JPEG decoding support in hardware for faster image viewing
+ Dedicated DSP for specialized applications
+ Lower power operation than Option 2/GP2X chipset
Cons:
- Lower Integer math performance than Option 2
=Option 2=
Pros:
+ High-Performance CPU (roughly 100% faster than GP2X before overclocking)
+ Probable overclockability to 420-450 MHz on average (225% faster than GP2X main processor stock speed)
+ Faster software rendering capability for existing 3D applications than the GP2X hardware
Cons:
- Lower Integer math performance than Option 2
- No 2D or 3D Graphics Acceleration
- No Floating Point or Vector Math support
- No dedicated DSP unit
- Higher probable power consumption than Option 1/GP2X
Application Benefits:
=Option 1=
Pros
+ After talking with ZodTTD, recieved confirmation PSX4ALL would utilize the accelerated graphics hardware. 60 FPS operation in most, if not all, PSX games is probable.
+ SNES Emulation at full speed in most, if not all, games is probable due to 2D acceleration benefits.
+ N64 Emulation concievable at acceptable, (perhaps not full) speed
+ Graphical acceleration for GBA Emulation
+ Homebrew 2D/3D titles would recieve enormous speed boosts if they are graphically intensive.
+ Quake 1/2 would recieve large performance gains, Quake 3 may run acceptably, as well as many other 3D titles due to 3D and Floating Point acceleration
Cons
- Less CPU horsepower for software video decoding may result in lower WMV/MPEG1/2 playback performance capability
=Option 2=
Pros
+ Greater CPU horsepower for software video decoding would likely provide higher WMV/MPEG1/2 playback performance capability
+ Superior performance compared to GP2X in software 3D applications if the author does not wish to make any changes to utilize hardware 3D functionality
+ Speed enhancement in CPU-emulation heavy tasks such as high-end arcade games
+ Faster overall performance in CPU-heavy tasks without heavy dependence on graphical capability, e.g. web browsing
Cons
- PSX Emulation would derive large performance benefits but likely never reach full speed due to software rendering hindrance on the main CPU
- N64 Emulation at acceptable speeds completely impossible
- SNES emulation would not reach full speed but would recieve at least a significant framerate boost (according to information from Squidge relating to SquidgeSNES.)
- Lower MPEG4 decoding performance compared to Option 1 / GP2X
That's about it. My apologies for the length of this post, but if you stuck around this long I'd love to hear your opinions and input on these tricky hardware decisions. If you select Option 3 please provide an economical and logical solution-- believe me, I've looked into 300 MHz+ ARM11 based SoCs with 2 Million polys/sec 3D support but trust me, you don't want to be the one paying for them. Thanks again!
Option 1:
- ARM926EJ-S processor at a native 266 MHz with 16K Instruction, 16K Data 64-way set-associative cache, and Jazelle technology for native execution of Java code
- ARM VFP9-S Floating Point/Vector Coprocessor with up to 273 Million Floating Point Operations/sec.
- PowerVR MBX Lite 2D/3D Accelerator (fully OpenGL-ES compatible, usable through SDL) supporting 1 Million triangles/sec., flat/gouraud shading, perspective-correct texturing, a 32-bit Z-Buffer, Specular highlighting, Per-Vertex fog, and support for all OpenGL and DirectX Blending modes
- 16-bit Fixed-Point DSP with support for memory access simultaneous to the ARM926/VFP9/MBX
- Realtime Hardware MPEG-4 decoding/encoding support with Post-Processing and Motion Estimation/Compensation
- Hardware JPEG decoding/encoding support
- Onboard AC97 codec Audio Controller
- USB Host support (for attaching external devices)
- USB Client support (for attachment to a PC)
- LCD Controller with integrated video scaler
- Up to 1024x1024, 24-bit Display
- 3 UART serial channels
- NAND/SD Memory capability
- Dedicated power management hardware, 1.5v low-power operation (compared to GP2X 1.8v)
Option 2:
- ARM920T processor at a native 400 MHz with 16K Instruction, 16K Data 64-way set-associative cache (no Jazelle support)
- No Floating Point, Vector or 2D/3D acceleration or DSP
- No hardware MPEG4/JPEG support
- Onboard AC97 codec Audio Controller
- USB Host support (for attaching external devices)
- USB Client support (for attachment to a PC)
- LCD Controller with integrated video scaler
- Up to 640x480 display resolution
- 3 UART serial channels
- NAND/SD Memory capability
- 2.0v power operation (compared to GP2X 1.8v)
Both solutions will provide the same capabilities as the GP2X, with the exception that Option 2 will not provide hardware MPEG4 decoding, so this must be done in software. Also, no 940T coprocessor exists for either solution, though Option 1 provides an extremely high-speed floating point/vector unit and dedicated DSP.
Pros/Cons of both Chipsets:
=Option 1=
Pros:
+ High-Performance CPU (roughly 33% faster than GP2X before overclocking)
+ Probable overclockability to 333 MHz+ on average (66% faster than GP2X stock speed)
+ Floating Point / Vector Processor nearly as powerful on its own as the GP2X main processor (GP2X has no FPU/Vector processing support)
+ Full hardware 3D support to support full-speed PSX/SNES emulation, high-end homebrew titles, and more; far superior performance to Software 3D with simple implementation through OpenGL/SDL
+ JPEG decoding support in hardware for faster image viewing
+ Dedicated DSP for specialized applications
+ Lower power operation than Option 2/GP2X chipset
Cons:
- Lower Integer math performance than Option 2
=Option 2=
Pros:
+ High-Performance CPU (roughly 100% faster than GP2X before overclocking)
+ Probable overclockability to 420-450 MHz on average (225% faster than GP2X main processor stock speed)
+ Faster software rendering capability for existing 3D applications than the GP2X hardware
Cons:
- Lower Integer math performance than Option 2
- No 2D or 3D Graphics Acceleration
- No Floating Point or Vector Math support
- No dedicated DSP unit
- Higher probable power consumption than Option 1/GP2X
Application Benefits:
=Option 1=
Pros
+ After talking with ZodTTD, recieved confirmation PSX4ALL would utilize the accelerated graphics hardware. 60 FPS operation in most, if not all, PSX games is probable.
+ SNES Emulation at full speed in most, if not all, games is probable due to 2D acceleration benefits.
+ N64 Emulation concievable at acceptable, (perhaps not full) speed
+ Graphical acceleration for GBA Emulation
+ Homebrew 2D/3D titles would recieve enormous speed boosts if they are graphically intensive.
+ Quake 1/2 would recieve large performance gains, Quake 3 may run acceptably, as well as many other 3D titles due to 3D and Floating Point acceleration
Cons
- Less CPU horsepower for software video decoding may result in lower WMV/MPEG1/2 playback performance capability
=Option 2=
Pros
+ Greater CPU horsepower for software video decoding would likely provide higher WMV/MPEG1/2 playback performance capability
+ Superior performance compared to GP2X in software 3D applications if the author does not wish to make any changes to utilize hardware 3D functionality
+ Speed enhancement in CPU-emulation heavy tasks such as high-end arcade games
+ Faster overall performance in CPU-heavy tasks without heavy dependence on graphical capability, e.g. web browsing
Cons
- PSX Emulation would derive large performance benefits but likely never reach full speed due to software rendering hindrance on the main CPU
- N64 Emulation at acceptable speeds completely impossible
- SNES emulation would not reach full speed but would recieve at least a significant framerate boost (according to information from Squidge relating to SquidgeSNES.)
- Lower MPEG4 decoding performance compared to Option 1 / GP2X
That's about it. My apologies for the length of this post, but if you stuck around this long I'd love to hear your opinions and input on these tricky hardware decisions. If you select Option 3 please provide an economical and logical solution-- believe me, I've looked into 300 MHz+ ARM11 based SoCs with 2 Million polys/sec 3D support but trust me, you don't want to be the one paying for them. Thanks again!