According to 3DO development documents:
A minimum 3DO system includes 2 MB of DRAM and 1 MB of VRAM for a total of 3 MB of RAM. Optional memory configurations can, for this version of the hardware, go up to a maximum of 16 MB of RAM: 1 MB of VRAM and 15 MB of DRAM, or 2 MB of VRAM and 14 MB of DRAM.
Memory address 0x0330_0004, a MADAM register, is used to indicate the 3DO's memory configuration. While looking over the FZ-10 ROM in Ghidra the function for calculating the size of DRAM (or starting address of VRAM) was found at address 0x03000518. Here is a decompiled version of that code. The MADAM register can be written to, and is a few times by a few routines, but it is unclear if and how that impacts the system. Perhaps it informs MADAM or other components of the memory configuration. A different function (0x0300_02C4) explicitly tests the RAM.
int dram_size(void) { uint bank1_size; uint mem_cfg; uint bank2_size; int dram_size; mem_cfg = read_volatile_4(DAT_03300004); bank2_size = (mem_cfg & 0x60)>> 5; if (1 <bank2_size) { bank2_size = 4; } bank1_size = (mem_cfg & 0x18)>> 3; if (bank1_size <2) { bank2_size += bank1_size; } if (bank1_size == 2) { bank2_size += 4; } if (2 <bank1_size) { bank2_size = 0x10; } dram_size = bank2_size * 0x100000; if (2 <bank1_size) { dram_size += (mem_cfg & 7) * -0x100000; } return dram_size; }
Only bits 6-0 are used. For convenience here is a table of all supported configurations including the available memory as reported by the AvailMem function.
MADAM 0x04 value | VRAM Free Space | DRAM Free Space | VRAM1 | VRAM2 | DRAM |
---|---|---|---|---|---|
00 | unsupported dram configuration | ||||
01 | unsupported dram configuration | ||||
02 | unsupported dram configuration | ||||
03 | unsupported dram configuration | ||||
04 | unsupported dram configuration | ||||
05 | unsupported dram configuration | ||||
06 | unsupported dram configuration | ||||
07 | unsupported dram configuration | ||||
08 | 1032192 | 491520 | 0x00100000 | N/A | 0x00000000 |
09 | 1032192 | 491520 | 0x00100000 | N/A | 0x00000000 |
0A | 2031616 | 491520 | 0x00100000 | 0x00200000 | 0x00000000 |
0B | 2031616 | 491520 | 0x00100000 | 0x00200000 | 0x00000000 |
0C | 2031616 | 491520 | 0x00100000 | 0x00200000 | 0x00000000 |
0D | 2031616 | 491520 | 0x00100000 | 0x00200000 | 0x00000000 |
0E | 2031616 | 491520 | 0x00100000 | 0x00200000 | 0x00000000 |
0F | 2031616 | 491520 | 0x00100000 | 0x00200000 | 0x00000000 |
10 | 1032192 | 3473408 | 0x00400000 | N/A | 0x00000000 |
11 | 1032192 | 3473408 | 0x00400000 | N/A | 0x00000000 |
12 | 2031616 | 3473408 | 0x00400000 | 0x00500000 | 0x00000000 |
13 | 2031616 | 3473408 | 0x00400000 | 0x00500000 | 0x00000000 |
14 | 2031616 | 3473408 | 0x00400000 | 0x00500000 | 0x00000000 |
15 | 2031616 | 3473408 | 0x00400000 | 0x00500000 | 0x00000000 |
16 | 2031616 | 3473408 | 0x00400000 | 0x00500000 | 0x00000000 |
17 | 2031616 | 3473408 | 0x00400000 | 0x00500000 | 0x00000000 |
18 | 1032192 | 14942208 | 0x01000000 | N/A | 0x00000000 |
19 | 1032192 | 13893632 | 0x00F00000 | N/A | 0x00000000 |
1A | 2031616 | 12845056 | 0x00E00000 | 0x00F00000 | 0x00000000 |
1B | 2031616 | 11796480 | 0x00D00000 | 0x00E00000 | 0x00000000 |
1C | 2031616 | 10747904 | 0x00C00000 | 0x00D00000 | 0x00000000 |
1D | 2031616 | 9699328 | 0x00B00000 | 0x00C00000 | 0x00000000 |
1E | 2031616 | 8650752 | 0x00A00000 | 0x00B00000 | 0x00000000 |
1F | 2031616 | 7602176 | 0x00900000 | 0x00A00000 | 0x00000000 |
20 | 1032192 | 491520 | 0x00100000 | N/A | 0x00000000 |
21 | 1032192 | 491520 | 0x00100000 | N/A | 0x00000000 |
22 | 2031616 | 491520 | 0x00100000 | 0x00200000 | 0x00000000 |
23 | 2031616 | 491520 | 0x00100000 | 0x00200000 | 0x00000000 |
24 | 2031616 | 491520 | 0x00100000 | 0x00200000 | 0x00000000 |
25 | 2031616 | 491520 | 0x00100000 | 0x00200000 | 0x00000000 |
26 | 2031616 | 491520 | 0x00100000 | 0x00200000 | 0x00000000 |
27 | 2031616 | 491520 | 0x00100000 | 0x00200000 | 0x00000000 |
28 | 1032192 | 1507328 | 0x00200000 | N/A | 0x00000000 |
29 | 1032192 | 1507328 | 0x00200000 | N/A | 0x00000000 |
2A | 2031616 | 1507328 | 0x00200000 | 0x00300000 | 0x00000000 |
2B | 2031616 | 1507328 | 0x00200000 | 0x00300000 | 0x00000000 |
2C | 2031616 | 1507328 | 0x00200000 | 0x00300000 | 0x00000000 |
2D | 2031616 | 1507328 | 0x00200000 | 0x00300000 | 0x00000000 |
2E | 2031616 | 1507328 | 0x00200000 | 0x00300000 | 0x00000000 |
2F | 2031616 | 1507328 | 0x00200000 | 0x00300000 | 0x00000000 |
30 | 1032192 | 4194304 | 0x00500000 | N/A | 0x00000000 |
31 | 1032192 | 4194304 | 0x00500000 | N/A | 0x00000000 |
32 | 2031616 | 4194304 | 0x00500000 | 0x00600000 | 0x00000000 |
33 | 2031616 | 4194304 | 0x00500000 | 0x00600000 | 0x00000000 |
34 | 2031616 | 4194304 | 0x00500000 | 0x00600000 | 0x00000000 |
35 | 2031616 | 4194304 | 0x00500000 | 0x00600000 | 0x00000000 |
36 | 2031616 | 4194304 | 0x00500000 | 0x00600000 | 0x00000000 |
37 | 2031616 | 4194304 | 0x00500000 | 0x00600000 | 0x00000000 |
38 | 1032192 | 14942208 | 0x01000000 | N/A | 0x00000000 |
39 | 1032192 | 13893632 | 0x00F00000 | N/A | 0x00000000 |
3A | 2031616 | 12845056 | 0x00E00000 | 0x00F00000 | 0x00000000 |
3B | 2031616 | 11796480 | 0x00D00000 | 0x00E00000 | 0x00000000 |
3C | 2031616 | 10747904 | 0x00C00000 | 0x00D00000 | 0x00000000 |
3D | 2031616 | 9699328 | 0x00B00000 | 0x00C00000 | 0x00000000 |
3E | 2031616 | 8650752 | 0x00A00000 | 0x00B00000 | 0x00000000 |
3F | 2031616 | 7602176 | 0x00900000 | 0x00A00000 | 0x00000000 |
40 | 1032192 | 3473408 | 0x00400000 | N/A | 0x00000000 |
41 | 1032192 | 3473408 | 0x00400000 | N/A | 0x00000000 |
42 | 2031616 | 3473408 | 0x00400000 | 0x00500000 | 0x00000000 |
43 | 2031616 | 3473408 | 0x00400000 | 0x00500000 | 0x00000000 |
44 | 2031616 | 3473408 | 0x00400000 | 0x00500000 | 0x00000000 |
45 | 2031616 | 3473408 | 0x00400000 | 0x00500000 | 0x00000000 |
46 | 2031616 | 3473408 | 0x00400000 | 0x00500000 | 0x00000000 |
47 | 2031616 | 3473408 | 0x00400000 | 0x00500000 | 0x00000000 |
48 | 1032192 | 4194304 | 0x00500000 | N/A | 0x00000000 |
49 | 1032192 | 4194304 | 0x00500000 | N/A | 0x00000000 |
4A | 2031616 | 4194304 | 0x00500000 | 0x00600000 | 0x00000000 |
4B | 2031616 | 4194304 | 0x00500000 | 0x00600000 | 0x00000000 |
4C | 2031616 | 4194304 | 0x00500000 | 0x00600000 | 0x00000000 |
4D | 2031616 | 4194304 | 0x00500000 | 0x00600000 | 0x00000000 |
4E | 2031616 | 4194304 | 0x00500000 | 0x00600000 | 0x00000000 |
4F | 2031616 | 4194304 | 0x00500000 | 0x00600000 | 0x00000000 |
50 | 1032192 | 7340032 | 0x00800000 | N/A | 0x00000000 |
51 | 1032192 | 7340032 | 0x00800000 | N/A | 0x00000000 |
52 | 2031616 | 7340032 | 0x00800000 | 0x00900000 | 0x00000000 |
53 | 2031616 | 7340032 | 0x00800000 | 0x00900000 | 0x00000000 |
54 | 2031616 | 7340032 | 0x00800000 | 0x00900000 | 0x00000000 |
55 | 2031616 | 7340032 | 0x00800000 | 0x00900000 | 0x00000000 |
56 | 2031616 | 7340032 | 0x00800000 | 0x00900000 | 0x00000000 |
57 | 2031616 | 7340032 | 0x00800000 | 0x00900000 | 0x00000000 |
58 | 1032192 | 14942208 | 0x01000000 | N/A | 0x00000000 |
59 | 1032192 | 13893632 | 0x00F00000 | N/A | 0x00000000 |
5A | 2031616 | 12845056 | 0x00E00000 | 0x00F00000 | 0x00000000 |
5B | 2031616 | 11796480 | 0x00D00000 | 0x00E00000 | 0x00000000 |
5C | 2031616 | 10747904 | 0x00C00000 | 0x00D00000 | 0x00000000 |
5D | 2031616 | 9699328 | 0x00B00000 | 0x00C00000 | 0x00000000 |
5E | 2031616 | 8650752 | 0x00A00000 | 0x00B00000 | 0x00000000 |
5F | 2031616 | 7602176 | 0x00900000 | 0x00A00000 | 0x00000000 |
60 | 1032192 | 14942208 | 0x01000000 | N/A | 0x00000000 |
61 | 1032192 | 13893632 | 0x00F00000 | N/A | 0x00000000 |
62 | 2031616 | 12845056 | 0x00E00000 | 0x00F00000 | 0x00000000 |
63 | 2031616 | 11796480 | 0x00D00000 | 0x00E00000 | 0x00000000 |
64 | 2031616 | 10747904 | 0x00C00000 | 0x00D00000 | 0x00000000 |
65 | 2031616 | 9699328 | 0x00B00000 | 0x00C00000 | 0x00000000 |
66 | 2031616 | 8650752 | 0x00A00000 | 0x00B00000 | 0x00000000 |
67 | 2031616 | 7602176 | 0x00900000 | 0x00A00000 | 0x00000000 |
68 | 1032192 | 14942208 | 0x01000000 | N/A | 0x00000000 |
69 | 1032192 | 13893632 | 0x00F00000 | N/A | 0x00000000 |
6A | 2031616 | 12845056 | 0x00E00000 | 0x00F00000 | 0x00000000 |
6B | 2031616 | 11796480 | 0x00D00000 | 0x00E00000 | 0x00000000 |
6C | 2031616 | 10747904 | 0x00C00000 | 0x00D00000 | 0x00000000 |
6D | 2031616 | 9699328 | 0x00B00000 | 0x00C00000 | 0x00000000 |
6E | 2031616 | 8650752 | 0x00A00000 | 0x00B00000 | 0x00000000 |
6F | 2031616 | 7602176 | 0x00900000 | 0x00A00000 | 0x00000000 |
70 | 1032192 | 14942208 | 0x01000000 | N/A | 0x00000000 |
71 | 1032192 | 13893632 | 0x00F00000 | N/A | 0x00000000 |
72 | 2031616 | 12845056 | 0x00E00000 | 0x00F00000 | 0x00000000 |
73 | 2031616 | 11796480 | 0x00D00000 | 0x00E00000 | 0x00000000 |
74 | 2031616 | 10747904 | 0x00C00000 | 0x00D00000 | 0x00000000 |
75 | 2031616 | 9699328 | 0x00B00000 | 0x00C00000 | 0x00000000 |
76 | 2031616 | 8650752 | 0x00A00000 | 0x00B00000 | 0x00000000 |
77 | 2031616 | 7602176 | 0x00900000 | 0x00A00000 | 0x00000000 |
78 | 1032192 | 14942208 | 0x01000000 | N/A | 0x00000000 |
79 | 1032192 | 13893632 | 0x00F00000 | N/A | 0x00000000 |
7A | 2031616 | 12845056 | 0x00E00000 | 0x00F00000 | 0x00000000 |
7B | 2031616 | 11796480 | 0x00D00000 | 0x00E00000 | 0x00000000 |
7C | 2031616 | 10747904 | 0x00C00000 | 0x00D00000 | 0x00000000 |
7D | 2031616 | 9699328 | 0x00B00000 | 0x00C00000 | 0x00000000 |
7E | 2031616 | 8650752 | 0x00A00000 | 0x00B00000 | 0x00000000 |
7F | 2031616 | 7602176 | 0x00900000 | 0x00A00000 | 0x00000000 |