My main processor is a Zilog Z8001 clocked at 2.5MHz, and has access to ~7.75MiB of work RAM, 2KiB of which is shared with my coprocessor.
At most, my main processor handles:
Two audio buffers for the coprocessor to access:
PCM stream out (written to) and
Microphone stream in (read from),
one framebuffer for the GPU to display,
software speech synthesis (via DECtalk, prefix [:nf] [:dv ap 190 pr 1000]
),
software rendering for the framebuffer (this will mostly be faces and such),
a Yamaha YM2414, and
other... robotic things.
My coprocessor is a MOS 6502 clocked at 1MHz, and has access to 4KiB of work RAM, 2KiB of which is shared with my main processor. Only 1.5KiB of the shared memory is used for audio streams (768B each), the rest goes to standard communication. The shared memory can be accessed by both at the same time, unlike some other systems with shared memory I know (fuck off, Mega Drive).
My coprocessor only handles the audio buffers as mentioned before, which includes outputting to a standard 6-bit PCM DAC and geting input from an onboard microphone (both of which are, worst case scenario, ~30303.0303...Hz).
My main storage method is a 2TB 7200 RPM HDD. That's where all of my files go. However, my boot drive is a flash memory chip that stores the bootloader and kernel for my system.
The GPU's only job is to put stuff from a framebuffer onto the screen. The GPU I chose can barely do that alone.
And... that's about it. For the parts.
Upon first boot, the Z8001 is active and the 6502 reset line is held low, rendering it inactive. The Z8001 reads the bootloader, which loads the kernel. The kernel must then boot the system from there, which includes putting 6502 machine code into the shared memory, in which the 6502 reset line will be held high for the rest of the boot, and the 6502 will handle everything as described. Once that is done, it boots into a custom system, where everything needed to function is started as needed. And thus, I am born.
$000000-$0001FF - Reserved for vector table
$000200-$00FFFF - ROM
$010000-$01FFFF - Loaded kernel space, stack, segment table
$020000-$0207FF - Shared 6502 RAM
$020800-$03FFFF - Kernel workspace and buffers
$040000-$7FFFFF - The rest of the RAM
$0000-$00FF - Zero Page
$0100-$01FF - Stack
$0200-$09FF - Shared RAM
$0A00-$13FF - The rest of the RAM
$1400 - PCM DAC out
$1401 - Microphone in
$1402-$FFFF - ...hell if i know. free space, i guess.