
Spiegazione del funzionamento del programma “RAM3_RAMFAIL_BAS” scritto da Dominic Brown nel 1990 in Super Basic per il Sinclair QL che serve a calcolare quale RAM (chip) del Sinclair QL e’ guasta dopo il PASSCHECK RAM BOOT della ROM Minerva.
Ho cercato di spiegare il funzionamento e ho riscritto il software in un linguaggio un po’ piu’ moderno ;-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:
Recent Comments