RBSC / Carnivore2

Carnivore2 MultiFunctional Cartridge for MSX
136 stars 35 forks source link

The full 2mB RAM testing utility needed for Carnivore2 #60

Closed Wierzbowsky closed 9 months ago

Wierzbowsky commented 2 years ago

Normally, Carnivore2's 1mB of RAM and mapper can be tested with any RAM testing utilities - for example TESTRAM and MEMTEST. But no utility is able to test the second 1mB of RAM in Carnivore2. This RAM is used for shadowing the BIOSes while C2MAN utility is running, for loading games with SofaRun or C2RAMLDR utilities. If this RAM is faulty, various anomalies occur. So the special utility is needed to test all Carnivore2's RAM. The proposed name is C2RAMTST.COM and in case of a ROM - C2RAMTST.ROM

The utility must be able to test all 2mB of RAM with a simple test (writing 0x0, 0xFF and maybe a couple of bit patterns) into each memory address for the entire 2mB of RAM. The Carnivore2's RAM and mapper must be disabled. The FMPAC emulation must be disabled for the utility to test the full 1mB of shadowed RAM. If FMPAC or RAM/mapper in Carnivore2 are enabled, then the utility must ask a user to restart a computer with only IDE+RAM enabled and try again.

Carnivore2's internal RAM should be tested in 16kb or 32kb pages with interrupts disabled in order to make the test fast. If Carnivore2's RAM is used by a system, then special care should be taken to avoid corrupting the BIOS variables in that RAM. In the end the utility should show the test result or the first faulty address. If a single fault is detected, it's enough to fail the test and stop testing.

The utility must support both DOS1 and DOS2. The utility must try to detect Carnivore's slot(s), but still ask what slot to use. Similar to how it's done in C2MAN utility. The UI language should be English.

Wierzbowsky commented 9 months ago

C2TESTER utility created and shared with Carnivore manufacturer.