Jag började gårdagskvällen men att bråka lite med serieporten, denna gången under Linux och fick exakt samma resultat som under Windows. Hårdvaran bråkar med andra ord. Jag har nu fixat fram ett annat kort med serieportar som har en annan IC. Båda korten identifierar sig som 2x16550. Får väl se om detta gör någon skillnad. I vilket fall så fungerar det ju om man har en fördröjning mellan varje tecken.
Sen kollade jag i servicemanualen och där finns denna informativa tabell:
"Memory checkerboard" har jag kört sedan tidigare med bra resultat. Sen försökte jag ju att köra "Instruction Test 2" men det gick inte alls. Det är tydligen meningen att den remsan ska fungera även på 8L, intressant.
Jag började sedan från börjar med "Instruction Test 1". Testet körde ~128 varv sedan stannade det. I dokumentationen för testet så står det att det ska köra för evigt men skicka ut "bell" till tty:n en gång varje 128:de varv. Ett "bell" kom det, sen stannade testet. Dokumentationen innehåller även källkoden med kommentarer (jag älskar DEC's dokumentation) och då kunde jag lista ut att en instruktion i minnet inte var rätt, det saknades bitar. Jag försökte spara rätt instruktion och köra igen men testet stannade på samma ställe. Samma problem. Så jag skruvade en aning på minnestimingen i brist på ideer och vipps så körde testet ett par tusen varv innan det stannade åter igen på samma ställe. Samma instruktion på samma adress var trasig men nu var innehållet "0" och det gick inte att spara några bitar i minnespositionen alls längre. Något har gått sönder...
Jag misstänker:
- Ett XY drivkort G221
- En diod på diodkorten som sitter på minnesstacken
- En tråd i minnet (detta känns lite otroligt men mycket skrämmande).
För att citera en kollega idag "Den vill dö, så låt den göra det"
Ett steg fram och två tillbaks...