RAMTest is a suite of programs that I have put together that are useful for testing and fixing problems with memory.


An address range to be tested can be specified either by directly entering the hex address or as hex 1K blocks.


There are two tests methods - TEST and RANDOM.

 I have also included some tools to enable viewing and modification of memory.

Here is an .ssd with the executable:

RAMTest Commands:

Command Function
ADDRESS (<from> <to>) Specifies the memory test range by hex address, if no parameters are entered the current address range is output.
BLOCK (<from> (<to>)) Specifies the memory test range by hex 1K block(s), if no parameters are specified the current block(s) range is output.
CYCLE (<ON/OFF>) Turns test cycling ON and OFF, when ON a test will repeat until the space-bar is pressed.  If no parameter is entered the current state of CYCLE is output, the default is OFF.
DUMP <from> <to> (<columns>) Dumps the selected memory range to the screen in columns of 8 bytes, the number of bytes per line can be varied by entering a value for the <column> parameter.
FILL <from> <to> <fill> Fills the selected memory range with the <fill> value specified.
HELP (<command>) Displays a list of commands or gives help on a specific command.
MASK (<mask>) Allows the MASK used by TEST to be defined, the default is $00 (and $FF when inverted).  If no parameter is entered the current value of MASK is output.
MEM <address> Allows the viewing and modification of a memory location.  Pressing 'U' moves 'up' through memory and pressing 'V' moves down.  Entering a hex value modifies the value at the current location.
MESSAGES (<ON/OFF>) Turns detailed error messages produced by TEST and RANDOM ON and OFF.  If no parameter is entered the current state of MESSAGES is output, the default is ON.
RANDOM Performs a test in which a pseudo random sequence is written to memory.
SEED (<seed>) Allows the random number generator used by RANDOM to be seeded.  If no parameter is entered the current value of SEED is output.
TEST Performs a simple test using the pattern specified by MASK.

Parameters in brackets are optional.

In addition an OS command can be executed by preceding it with a *.

All commands can be abbreviated with '.'


The following table shows the address and block ranges for the eight 8K address segments e.g. for the 8K RAM + 8K ROM Board:


Address Range (hex) Block Range
0000 to 1FFF 0 to 7
2000 to 3FFF 8 to F
4000 to 5FFF 10 to 17
6000 to 7FFF 18 to 1F
8000 to 9FFF 20 to 27
A000 to BFFF 28 to 2F
C000 to DFFF 30 to 37
E000 to FFFF 38 to 3F


Back to Software

Acorn Home Page