Delar upp inläggen lite, nästa problem var att ytterligare ett test fallerade.
Kod: Markera allt
DATA BREAK ERROR
PC:3526 GD:7777 CM:4000 AD:0000 DT:7577
DHRKAE FAILED PC:6726 AC:0000 MQ:7777 FL:0000
WAITING $
Denna gång "DATA BREAK ERROR". Data break är samma sak som DMA, innan begreppet DMA var helt etablerat! Enligt testdokumentationen kan man utlästa att GD innehåller förväntat data och DT innehåller datat som man fick. Snabbt ser man att en bit är borta. Detta är fel som ofta är lätta att hitta! Så jag började mäta på en bit som fungerade (bit 5) och den biten som inte fungerade (bit 4) för att se var det gick fel. Enkelt kan man tro. Men då när man är så nära smäller det, stor-åttan slutar att boota!
Datorn får man att boota igenom att en signal hålls låg och sedan går hög (i bakplanet heter den helt enkelt BOOT). Två saker kan styra signalen, BOOT toggle switchen på "limited function panel" eller knappen på "programmers console". Option #2 kortet (KM8A M8317) tar på uppflanken av bootsignalen och togglar in en bootloader som finns i PROM i minnet på datorn och startar bootloadern. Enkelt.
pdp8a-front-explanation.png
Så jag bytte Option #1 (DKC8A M8316) och Option #2 (KM8A M8317) mellan de två maskinerna och konstaterade att de fungerade eftersom lill-åttan bootade med korten från den nu trasiga stor-åttan. Det är rätt skönt att ha två maskiner som man kan byta delar mellan.
Eftersom korten fungerade så började jag mäta BOOT-signalen i bakplanet.
pdp8a-expansion-boot-asserted.jpg
Konstaterade att den hölls låg! Det ska inte vara möjligt om man inte tyckt en gång på bootknappen eller lämnat boot toggle switchen i uppläget. Eftersom det nu inte finns så mycket som kan hålla signalen låg mer än "limited function board" så fortsatte jag där.
Så jag rev ner fronten och plockade ut kretskortet till "limited function panel".
pdp8a-limited-function-board-component.jpg
Snabbt konstaterade jag att brytaren för bootswitchen var kass. Det är en växlande brytare med enpolig kontakt, men i nerläget så var det ingen kontakt mellan några av stiften. Inte bra!
pdp8a-limited-function-board-solder.jpg
Så en enkla fixen är att se till att brytaren alltid är sluten med trådbit, men nu kan man inte använda switchen för att boota längre. Måste hitta en ersättare till brytaren. Sen. Man kan också se att det har suttit en fjärde brytare på korten, en skjutomkopplare som inte fungerade så bra. Den är sedan länge byglad med trådar. Den ställer in om man ska starta datorn med switchen på framsidan (vilket man normalt gör) eller via en extern signal. Efter denna lilla fulfixen så mätte jag åter signalen i bakplanet.
pdp8a-expansion-boot-ok.jpg
Fint, nu fick jag datorn att boota. Men plötsligt fick jag inte upp någon seriekonsol! Jag provar då kortet som har serieporten för konsolen, Option #1 (DKC8A M8316) i lillåttan. Där fungerade det som förväntat. Jag provade också om min andra serieport i maskinen fungerade och visst gjorde den det. Jag inser snart att ett tecken kommer ut på konsolen den inget med. Metoden som används för att CPU:n ska förstå att tecknet skickats iväg färdigt och att det går bra att skriva nästya tecken till buffern fungerade inte. Detta felet har jag haft en gång innan! Då bytte jag en buss-drivare och problemet löste sig. Det kändes inte som felet skulle vara samma och efter en stunds mätande med mycket frustration insåg jag att det är dålig kontakt i bakplanet. Detta var troligen felet även förra gången, men då löstes problemet genom att faktiskt dra in och ur kortet under tiden jag "lagade" det. Nu kom felet tillbaks när jag bytte runt korten för att komma tillrätta med boot-problemet!
Jag spenderade många timmar i helgen på dessa båda stickspår. Jag bytte först en krets om inte mätte rätt i data-vägen utan något resultat, sedan bytte jag en buss-receiver som inte heller mätte rätt.
bytt-IC.jpg
Sedan körde jag testet igen:
dhrkae.dg-pass.png
Så nu fungerar diskkontrollern!!!
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.