Hier das Omikron BASIC Listing. Mangels passender Hardware kann ich es selbst nicht testen und hoffe aber dennoch, dass es funktioniert.
Omikron BASIC ist recht langsam, timingabhängige Fehler, die nur durch schnelles Beschreiben aufeinanderfolgender Adressen zu erkennen sind, werden sich damit nicht finden lassen. Ich möchte das aber nicht in C oder 68k-Assembler noch einmal schreiben.
1 PRINT "VRAM TEST - (C) 2015 CHZ-Soft"
2 Ramtest($C00000,$CFFFFF,0,0)
3 Ramtest($C00000,$CFFFFF,$FFFF,0)
4 Ramtest($C00000,$CFFFFF,$A55A,0)
5 Ramtest($C00000,$CFFFFF,$5AA5,0)
6 Ramtest($C00000,$CFFFFF,0,1)
7 END
8
9
10 DEF PROC Ramtest(Startaddr%L,Endaddr%L,Pattern%L,Useaddr%)
11  IF Useaddr%=1 THEN
12    PRINT "Test-Pattern: Adresse"
13  ELSE
14    PRINT "Test-Pattern: "; HEX$(Pattern%L)
15  ENDIF
16
17  Errorcnt%L=0
18  FOR Addr%L=Startaddr%L TO Endaddr%L STEP 2
19     IF Useaddr%=1 THEN
20       REM Addresse als Testpattern benutzen
21      Pattern%L=Addr%L AND $FFFF
22     ENDIF
23     WPOKE Addr%L,Pattern%L
24     Readback%L= WPEEK(Addr%L) AND $FFFF
25     IF Readback%L<>Pattern%L THEN
26       PRINT "Adresse: "; HEX$(Addr%L);" Soll: "; HEX$(Pattern%L);" Ist: "; HEX$(Readback%L)
27       Errorcnt%L=Errorcnt%L+1
28     ENDIF
29   NEXT
30   PRINT "Abgeschlossen! Fehler: ",Errorcnt%L
31 RETURN