|0x0301_4F49||The application key N value|
|0x0301_4F8D||The 3DO key N value|
|0x0300_0028||The very first thing done at startup is read from
|0x0300_02C4||Writes 0x2A to MADAM memory config register 0x0330_0004.
Writes 0x0017_8906 to MADAM address 0x0330_000C. Not clear what that value means or what that location represents. The location appears only to ever be written to and function 0x0302_17a8 also writes the same value.
It then iterates over a list of tuples of config register values and total RAM values. Uses function 0x0300_039C to check size values against the actual RAM.
|0x0300_039C||Appears to be for confirming the size of the DRAM. Every 0x0010_0000 bytes it writes the address and the inverse address to address + 1. It then loops again looking for those values in the addresses. If any check fails it returns 0. Otherwise will return 1 if it gets past the range provided.|
|0x0300_0518||DRAM / VRAM calculation function based on the value of MADAM register at 0x0330_0004.
Bank 1 is represented by bits 4 and 3 where 00 = 0MB; 01 = 1MB; 10 = 4MB; 11 = 16MB.
Bank 2 is represented by bits 6 and 5 where 00 = 0MB; 01 = 1MB; 10 = 4MB; 11 = 4MB.
Bits 2, 1, and 0 are used to subtract from the total DRAM if bank 1 = 16MB.
Total DRAM is Bank 1 + Bank 2 if Bank 1 != 16MB. If Bank 1 == 16MB then total DRAM is Bank 1 - Bits210 in MB.
More details can be found on the 3DO Memory Configuration page.
|0x0300_1240||Waits for CLIO VCNT (0x0340_0034) to be greater than 10 and less than 13.|
|0x0300_1268||Waits for CLIO VCNT (0x0340_0034) to equal 4.|
CLIO address 0x0340_0084
|0x0302_43B4||Not sure what's going on here. It's use the PBUS DMA to seemingly transfer from two ROM addresses. But the ROM should be readonly.|
It appears that ANVIL systems might mirror the original ROM location of 0x0300_0000 at 0x0600_0000. The only reference to the latter's range is at the very beginning of the ROM which unconditionally jumps to 0x0600_00044.
Besides keeping this ROM from running on non-ANVIL hardware it is unclear why it would do this.
|0x0300_0628||Checks MADAM version. Yet to investigate what the return value represents.|
|0x0301_4d30||“Copyright 1993 The 3DO Company\nAll Rights Reserved.”|
|0x0301_4e49||CDROM bootcode decryption key?
|0x0301_5088||“\nThis WHOLLY ODD collection of code brought to you by:\n\nDale \”You mean my house burned down last month and I never noticed?\“ Luck\n-=RJ=- \”Hey, I never approved those messages!\“ Mical\nJoe \”You were asleep at the time\“ Pillow\nDave \”Strictly corect\“ Platt\nBryce \”Angel of death\“ \”Nesbitl\“ Nesbitt\nStephen \”Not Stephan\“ Landrum\nAndy \”I miss my Cats\“ Finkel\nChris \”Whaddya mean you took it out?\“ McFall\nDrew \”Don't touch my toys\“ Shell\nMr. Pockets\nNerf™ brand weapons\nPhil \”I can't hear you\“ Burk\nStan \”I thought you were done\“ Shepard\nSteve \”That !@%$#& drive\“ Hayes\nBill Long\nBarry Solomon\n\nAnd all those who were not in the building at 2am when the cops\nshowed up…\n”|