Luxor ABC-80 (breakout kort byggs) [Sidan 18]

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
Electricguy
Inlägg: 12479
Blev medlem: 15 augusti 2007, 16:52:14
Ort: Kälmä' typ..

Re: Luxor ABC-80 (Behöver mer hjälp!) [Sidan 11]

Inlägg av Electricguy »

Mja, jag ska nog ta och öppna den och se över lödningar, socklar och kringkomponenter runt RAM kretsarna.. Det är ju trots allt några år sedan som den tillverkades, så det kan ju vara lite dåligt någonstans.

Jag testade iaf att PEEK'a på några dresser runt 53281 och fick detta.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
bit96
Inlägg: 2528
Blev medlem: 3 september 2007, 10:04:29
Ort: Säffle

Re: Luxor ABC-80 (Behöver mer hjälp!) [Sidan 11]

Inlägg av bit96 »

Det sitter 8 st 16kbit-DRAM-kretsar, en bit i varje krets.

Komplettera ditt program så att du först POKE:ar in ett värde och läser tillbaka det, två ggr.
Du kan t.ex. POKE:a in 0, PEEK:a tillbaka, POKE:a in 255, PEEK:a tillbaka, för varje minnesadress du vill testa.
Skriv ut på varje rad, minnesadress, 1:a PEEK:en, 2:a PEEK:en.
Loopa igenom de adresser du vill testa.
Användarvisningsbild
Electricguy
Inlägg: 12479
Blev medlem: 15 augusti 2007, 16:52:14
Ort: Kälmä' typ..

Re: Luxor ABC-80 (Behöver mer hjälp!) [Sidan 11]

Inlägg av Electricguy »

Där brast mina kunskaper i BASIC programmering tyvärr!
Du får väldigt gärna knacka ihop den programkoden om du vill.. :D

Jag har nu också tagit ur alla RAM kretsar, lött om socklarna till dom och avkopplingskondingarna runt dessa, och satt i kretsarna igen. Det är exakt samma fel som innan. Jag funderar på om det är en RAM krets som verkligen är elektriskt trasig.. Och inte bara ett mekaniskt fel på kortet. Jag vet inte vad denna maskinen har varit med om innan så..
Användarvisningsbild
bit96
Inlägg: 2528
Blev medlem: 3 september 2007, 10:04:29
Ort: Säffle

Re: Luxor ABC-80 (Behöver mer hjälp!) [Sidan 11]

Inlägg av bit96 »

Hmm, ska försöka få ihop ett program...
10 A1% = 53275
20 A2% = 52384
30 FOR I% A1% TO A2% OBS, fel se nedan.
40 PRINT I% ;
50 POKE I%, 0
60 PRINT PEEK(I%) ;
70 POKE I%, 255
80 PRINT PEEK(I%)
90 NEXT I%
Ej garanterat att funka. Hade du inte problem med ; på slutet tidigare?

Edit: På rad 30 glömde jag '=', tack Electricguy, skall vara: 30 FOR I% = A1% TO A2%
Senast redigerad av bit96 30 november 2013, 18:29:27, redigerad totalt 1 gång.
Användarvisningsbild
Electricguy
Inlägg: 12479
Blev medlem: 15 augusti 2007, 16:52:14
Ort: Kälmä' typ..

Re: Luxor ABC-80 (Behöver mer hjälp!) [Sidan 11]

Inlägg av Electricguy »

Mja det funkade inte sådär jättebra. Jag satte in ett lika med tecken efter FOR I% på rad 30 så jag inte fick error på den. Resten gick bra, jag körde programmet och den kastade upp ERR 27 LINE 192
ERROR 27 är "NEXT" utan "FOR"

EDIT:
Bild
Bittämjaren
Inlägg: 219
Blev medlem: 2 februari 2013, 17:50:41
Ort: BORÅS

Re: Luxor ABC-80 (Behöver mer hjälp!) [Sidan 11]

Inlägg av Bittämjaren »

Electricguy När du formatterar skivor måste switchen på controllerkortet stå i mittläge dvs rakt utåt enligt DataDisc80 bruksanvisningen
En tidigare fråga i tråden från G. Axelsson ang. minneskort 8kB RAM typ A55, det liknar på pricken ett kort med typnr 2055 ur DataBoard 4680 serien.
Användarvisningsbild
Electricguy
Inlägg: 12479
Blev medlem: 15 augusti 2007, 16:52:14
Ort: Kälmä' typ..

Re: Luxor ABC-80 (Behöver mer hjälp!) [Sidan 11]

Inlägg av Electricguy »

Det finns ingen omkopplare med mittläge på mitt controllerkort. Och uppenbarligen är det fel internt i datorn eftersom att en RAM adress ger fel värde ut. Och inget vad det gäller ABC DOS fungerar.
Användarvisningsbild
JimmyAndersson
Inlägg: 26544
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Re: Luxor ABC-80 (Behöver mer hjälp!) [Sidan 11]

Inlägg av JimmyAndersson »

Det verkar som att ditt program hamnar på de minneskretsar som har problem.
Du skulle kunna flytta runt kretsarna för att se om programmet får plats
någonstans där hårdvaran fungerar.
Förutsatt att den inte sprider ut datan över alla kretsarna, men jag tror inte det.
Bit96 vet nog säkert hur det ligger till.
Användarvisningsbild
bit96
Inlägg: 2528
Blev medlem: 3 september 2007, 10:04:29
Ort: Säffle

Re: Luxor ABC-80 (Behöver mer hjälp!) [Sidan 11]

Inlägg av bit96 »

Jag misstänker att du har nåt fel med RAM-minnet. Kan vara moderkortet med avbrott eller en ramkapsel.

När du skriver in ett program tar det upp olika delar av minnet, med text, tabeller, referenser, stack, variabellistor, m.m.
Om nån bit-rad i en DRAM-kapsel är trasigt kan det bli fel lite här och där i minnet.
Antagligen symmetriskt på bit-nivå, t.ex. databit 4 på på adressbit A9 på alla adresser mellan X och Y, eller nåt.

Du får nog skriva manuellt utan radnummer för att minimera risken att hamna i kasst RAM-minne.
Kan du ringa in krånglande data-bit och adress-bit kan du lättare hitta felet.
Det behöver inte vara en DRAM-kapsel, kan lika gärna vara en logikkrets nånstans på adressbussen, eller lödfel, eller...

Skriv:
POKE 53281,0 <enter>
PRINT PEEK(53281) <enter>
POKE 53281, 255 <enter>
PRINT PEEK(53281) <enter>

Då bör du se vilken databit som krånglar, troligtvis databit 4 enligt tidigare test.
Alltså, du lagrar 0 och bör få tillbaka 0, sen lagrar du 255 och bör få tillbaka 255.

Resetta datorn
Upprepa ovan 4 rader för nästa adress, 53282

Och så vidare tills nästa adress börjar krångla, då kan du avgöra vilken adressbit som spökar.

Och notera med papper och penna vad som funkar och inte funkar.

Annars kan du direkt gå på alla kretsar och fixa till dom så att de har god kontakt.
Kan ju vara så enkelt att nåt ben på nån 74LSxxx har oxiderat.
Användarvisningsbild
bit96
Inlägg: 2528
Blev medlem: 3 september 2007, 10:04:29
Ort: Säffle

Re: Luxor ABC-80 (Behöver mer hjälp!) [Sidan 11]

Inlägg av bit96 »

JimmyAndersson skrev:Det verkar som att ditt program hamnar på de minneskretsar som har problem.
Du skulle kunna flytta runt kretsarna för att se om programmet får plats
någonstans där hårdvaran fungerar.
Förutsatt att den inte sprider ut datan över alla kretsarna, men jag tror inte det.
Bit96 vet nog säkert hur det ligger till.
Jo, den "sprider". :)
DRAM-kretsarna, 8 till antalet är på 16384 x 1 bitar, 16kbyte x 8 bitar totalt.
(Mappat till 4:e 16k-området av totala 64k-området, alltså 49152-65535. ROM:et ligger i 1:a 16k-området, 0-16383)
(2:a området är för options-ROM t.ex. floppy. 3:e området är för extra 16k RAM)
Alltså en kapsel per data bit.
Om en databit vore helt kass skulle varenda byte vara fel och troligtvis skulle inget funka.

Troligtvis krånglar databit 4, men bara för vissa adresser.
Eftersom det gick att köra ett minnestest (i RAM) som rapporterar korrekt checksumma för ROM så verkar databussen funka där i alla fall.

Ja, knepigt är det.
Användarvisningsbild
G_Axelsson
Inlägg: 339
Blev medlem: 7 januari 2008, 06:30:04
Ort: Umeå
Kontakt:

Re: Luxor ABC-80 (Behöver mer hjälp!) [Sidan 11]

Inlägg av G_Axelsson »

Pröva att flytta om ramkretsarna två åt gången och kör minnestesten där emellan. Om felet flyttar sig så sitter det i ram-kretsen, om felet alltid uppträder på samma ställe så sitter felet i logiken runt.

Jag höll på att debugga en kretskonstruktion en gång då jag fick mycket märkliga fel, i vissa fall blev det minnesfel men bara om det var tillräckligt många bitar och kontrollsignaler som var låga, det visade sig att en krets saknade matningsspänning men via skyddsdioderna fick den ström om tillräckligt många bitar var höga. Tog ett tag att hitta den buggen. :D

Om det visar sig vara fel på minneskretsen så har jag gott om MB8116E som jag tror är kompatibel med dram i ABC80... tror jag efter en snabb titt i databladen.

Ps, tack för informationen om minneskortet. Det har hittat hem till en annan entusiast så det är på rätt plats just nu.

/Göran
Användarvisningsbild
Electricguy
Inlägg: 12479
Blev medlem: 15 augusti 2007, 16:52:14
Ort: Kälmä' typ..

Re: Luxor ABC-80 (Behöver mer hjälp!) [Sidan 11]

Inlägg av Electricguy »

Tackar så hemskt mycket för all bra respons! Det är ju helt underbart att det finns folk här med så mycket kunskap i ämnet. Än finns det hopp om mänskligheten! :D
bit96, jag ska göra som du sa först och manuellt knacka in allt adress för adress. Sen kan det hända att jag numrerar kretsarna och testar att flytta runt dem för att se vad som händer.

För intresserade så finns här en minneskarta till maskinen.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
Electricguy
Inlägg: 12479
Blev medlem: 15 augusti 2007, 16:52:14
Ort: Kälmä' typ..

Re: Luxor ABC-80 (Behöver mer hjälp!) [Sidan 11]

Inlägg av Electricguy »

Då har jag knackat in adresserna 53275-53284 manuellt.
och den enda adressen som inte beter sig riktigt är 53281!
den skickar tillbaka 0 okej, men skickar jag 255 till den så får jag tillbaka 239. Jag är inte helt hundra på vad det pekar på. Så ni gurus får gärna spåna bäst ni vill kring detta! :D
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: Luxor ABC-80 (Behöver mer hjälp!) [Sidan 11]

Inlägg av blueint »

Prova detta?
10 A1% = 53275
20 A2% = 52384
30 FOR I%=A1% TO A2%
40 POKE I%, 0
50 REM ** BORTTAGEN
60 IF PEEK(I%) <> 0 THEN GOTO 100
70 POKE I%, 255
80 IF PEEK(I%) <> 255 THEN GOTO 100
90 GOTO 110
100 PRINT "Faulty address ", I%
110 NEXT I%

Med reservation för fel då ingen dator för produktionstest användes ;)

Fördelen är att programmet säger till när en address är felaktig istället för att skriva ut allt den gör. Helst skulle man söka av 49152 - 65535 för att plocka alla fel men då lär det bli någon krock. Någon som törs/ids skriva en assembler version av ovanstående?

Referens: abc80.net/../abc80_bruksanvisning.pdf

@Electricguy, Bit 4 utav 0 - 7 är felaktig på address 53281, binärt 11010000 00100001, hexadecimalt 0xD021.

Ett fräckt test är att se om någon address där endast en bit skiljer sig från 53281 också har bitfel ..
Användarvisningsbild
Electricguy
Inlägg: 12479
Blev medlem: 15 augusti 2007, 16:52:14
Ort: Kälmä' typ..

Re: Luxor ABC-80 (Behöver mer hjälp!) [Sidan 11]

Inlägg av Electricguy »

Dock så testade jag ju t.o.m med ett ännu mindre program innan, och det var nog för att den skulle börja använda den felaktiga RAM adressen och kasta upp en error.
Nu har jag iaf pinpointat felet till en specifik adress, som det kan läsas om i mitt tidigare inlägg.
Men tack ändå för koden! Den kan mycket väl hända att jag sparar den som ett program på en diskett när maskinen fungerar som den ska.
Skriv svar