Archive

Archive for May 7th, 2015

Sinclair QL with Minerva ROM: Faulty Ram Decoder v0.2 *update*

Explanation of how it work the program “RAM3_RAMFAIL_BAS” written by Dominic Brown in the 1990 in Super Basic for the Sinclair QL which is used to calculate what the RAM on the Sinclair QL is broken, you need to use the MINERVA ROM (RAM PassCheck).

I tried to explain how it work and i have rewrote the software in a “language” a bit more modern ;-D

MINERVA OUTPUT EXAMPLE:

——————————————
WRITE: 5 4 8 C 4 8 7 8
READ: 5 C C D 5 C C D
ADDRESS: 0 0 0 3 2 0 0 0
——————————————

HEX WRITE: 54 8C 48 78
HEX READ:  5C CD 5C CD

Convert the numbers in decimal:

DECIMAL WRITE: 84 140 72 120
DECIMAL READ:  92 205 92 205

You have to make a xor in pairs (write & read)

XOR: 84 XOR 92 = 8
XOR: 140 XOR 205 = 65
XOR: 72 XOR 92 = 20
XOR: 120 XOR 205 = 181

Now you need to do an OR with the result of the XOR starting with “0″ and continuing with the result of every OR

OR: 0 OR 8 = 8
OR: 8 OR 65 = 73
OR: 73 OR 20 = 93
OR: 93 OR 181 = 253

Convert the final result of the OR in Binary.

DECIMAL: 253
HEX: FD
BINARY: 11111101

Follow the table to find the faulty ram. Pay attention to the memory address.

1: BAD Ram
0: GOOD Ram

BINARY = 1     1     1     1     1     1     0     1

IF < $30000 (ADDRESS) = IC8  ,IC7  ,IC6  ,IC5  ,IC4  ,IC3  ,IC2  ,IC1

IF > $30000 (ADDRESS) = IC16 ,IC15 ,IC14 ,IC13 ,IC12 ,IC11 ,IC10 ,IC9

IF > $40000 Faulty ram is in expansion memory.

The Original Program (ram3_ramfail.bas) was written for the SINCLAIR QL in SUPER BASIC language by Dominic Brown (1990).
Documentation of how it work by Xad/Nightfall (2015).
Thanks to my friend for the support.

Faulty Ram Decoder Changelog:

  • v0.1: First Release.
  • v0.2: Added a message (Faulty ram is in expansion memory) if the Address > $40000.

Faulty Ram Decoder Online: http://www.nightfallcrew.com/minervaram

Download: