tepples wrote:Would GBA be about as powerful as Neo Geo, apart from the smaller display (240x160 vs. 304x224)?
Going point by point...
tepples wrote:16.78 MHz ARM7TDMI CPU performs both game logic and audio mixing
GBA wins here, easily, as far as I'm concerned. The CPUs in the Neo-Geo are a 68000 (main) and a Z80 (audio).
tepples wrote:Similar typical sample rate (18 kHz)
This is a push, unless you count the Neo-Geo cart system's ADPCM-B channel, which has a variable sampling rate. However, it's not available on Neo-Geo CD systems.
tepples wrote:4 scrolling tiled background layers, with each pair replaceable by a tiled rot/scale layer
GBA wins, since Neo-Geo has no rotation or upward scaling (scaling down is possible). Also, no layers; all backgrounds are made of sprites, eating into the 96 sprites/scanline limit.
tepples wrote:64K of VRAM for backgrounds: 2-4K per "normal" background, with the rest for tiles
and
tepples wrote:32K of VRAM for sprites, with conveniently fast DMA from ROM and WRAM
VRAM on Neo-Geo isn't really comparable with other systems, as it doesn't hold the actual graphics data. There's 68KiB available (split into 64KiB and 4KiB), which is split between sprite definitions and the fix layer tilemap.
As far as I know, there's no DMA on Neo-Geo cart systems, but the CD system has DMA for sending data to its RAM chips. Section RAM sizes will be explained later.
tepples wrote:128 sprites, with OAM writable during hblank for soft multiplexing
380 usable sprites; I'm not sure if multiplexing works at all.
tepples wrote:Flexible sprite sizes 8x8-32x32, plus 64x64, 64x32, and 32x64, in both Genesis-style 1D and Super NES-style 2D layouts
The core Neo-Geo sprite size is 16px wide, and 16-512px tall. Graphics are stored in 16x16 chunks.
tepples wrote:4x overdraw for unscaled sprites (scaled sprites take about 2.5x as long)
Not sure how to compare this one.
tepples wrote:16 background palettes and 16 sprite palettes (like TurboGrafx-16), writable at any time
2 banks of 256 palettes, 16 colors each. Only one bank can be active at a time. The first 16 sets of palettes can be used by the fix and sprite layers. The remaining palettes can only be used by sprites.
tepples wrote:Game Pak up to 32 MiB (256 Megabits), plus 256 KiB auxiliary work RAM for decompressed tile data or multiboot client for players 2-4
Cart systems have the following limits, without bankswitching:
P (program) ROM theoretical maximum - 2MiB
C (character) ROM theoretical maximum - 128MiB ("if you're planning a Neo-Geo game with more than 128MiB of graphics, find another system")
V (sound) ROM theoretical maximum - 16MiB
M (music driver) ROM theoretical maximum - 62KiB (
$F800-$FFFF used as RAM area)
S (fix layer) ROM theoretical maximum - 128KiB
(I hope that's right; got the info from
here.)
Cartridges can include extra hardware used for banking,
multiplayer (
chip specifics), or
other functionality.
CD games have different numbers, since the CD system's RAM only allows a certain amount to be loaded at once:
Program - 2MiB
Sprites - 4MiB
ADPCM/sound samples - 1MiB
Fix Tiles - 128KiB
Sound Driver - 64KiB