ABC-806 tangentbord ABC 77 bara piper...

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
MBY
Inlägg: 89
Blev medlem: 8 juni 2003, 10:50:01

ABC-806 tangentbord ABC 77 bara piper...

Inlägg av MBY »

Jag har en gammal ABC 806 som legat på en vind i halvannat decennium och sist jag använde den för ca 15 år sedan så fungerade den. Nu verkar dock tangentbordet gett upp och eftersom det är en "okänd" svensk dator så finns det inte så mycket att hitta på nätet angående felsökning.

När tangentbordet sätts i, så piper det bara och inga tangenter registreras. Högtalaren sitter som bekant i tangentbordet. Jag har kollat att processorn (8049) går i tangentbordet och det verkar den göra och jag får ut 9,5 kHz på ett stift som enligt ABCs servicemanual ska hålla 10 kHz. Det verkar också vara TX-trafik på TX-pinnen. Spänningarna är korrekt, processorn verkar gå och resetknappen är inte intryckt. Jag har tagit bort själva knapparna för rengöring så den de kapacitativa ledarna är exponerade, men det gör ingen skillnad. En gång när jag prövade att rycka tangentbordet och stoppa i det i kontakten om och om igen i snabb följd så slutade det pipa och vissa knapptryckningar gick fram. Lyckades aldrig upprepa detta och tangentbordet piper även när det drivs från ett labbagg utan dator, så det startar helt enkelt upp så.

Informationen är inte speciellt utförlig i servicemanualen och jag har inte kunnat felsöka mer än att jag konstaterar att MCUn går, får inte någon kontinuerlig resetpuls (dvs bra) och själva resetknappen har inte hakat upp sig, ~9,5 kHz kommer på klockpinnen samt att det inte är några problem med kabel eller kontakter. Jag misstänker de kapacitativa drivarna möjligtvis, men typiskt nog är det just dessa kretsar som inte går att få tag i eller ens få datablad över (har inte ens lyckats finna pinout på dessa. En Exar 22-950-3B och två Exar 22-908-03). Inget problem med rippel på +5V.

Genom sökning på nätet har jag hittat ett gammalt inlägg på en mejllista (som jag inte heller hittar nu) där någon frågar efter vad som verkar vara exakt samma problem, men inget svar.

Ni som har ett ABC 77 eller liknande tangentbord, hur kan ni provocera fram beteendet? Om tangenter hålls inne när datorn startar, orsakar det pip? Om man lyfter bort själva tangentdelen så kretskortet är bart, piper det då? Eller ännu bättre, är det någon som känner igen problemet och vet vad som är fel?

Edit: Jag skissar på en omvandlare från PS/2-tangentbord till ABC med en AVR. Är det kanske någon som redan gjort något liknande? Servicemanualen är inte väldigt explicit med protokollet, men det är seriell kommunikation med 600 baud och eventuellt synkron eftersom den har denna 10 kHz-klocka, trots att tangentbordet är kopplat till DART i ABCn. Manualen är väldigt vag på just detta, huruvida det är synkron eller asynkron kommunikation samt talar inte alls om när/var/hur signalen 'KEYDOWN används.
Castor
Inlägg: 1989
Blev medlem: 24 mars 2012, 13:03:49

Re: ABC-806 tangentbord ABC 77 bara piper...

Inlägg av Castor »

Om du söker på kretsbeteckningen får du ett antal träffar. Här en länk till en som felsöker ett bord med dessa kretsar.
http://john.ccac.rwth-aachen.de:8000/pa ... tester.htm
MBY
Inlägg: 89
Blev medlem: 8 juni 2003, 10:50:01

Re: ABC-806 tangentbord ABC 77 bara piper...

Inlägg av MBY »

Jepp! Den sidan har jag hittat och redan haft viss användning för (egentligen bara bekräfta vilka kapacitativa drivare som används), men det har inte hjälp mig hela vägen. Jag har också upptäckt att det finns folk som tillverkar de kapacitativa kuddarna till keytronics-mekanismen så det är något jag tänkte beställa om jag får igång mitt tangentbord.

Det som är likt är ju keytronics mekanism, men protokollet och firmwaren i MCUn är ju inte samma, ej heller schemat förmodligen. Schemat till ABC 55/77 finns lustigt nog i servicemanualen för ABC-802, men inte ABC-806. Dock kompletterar beskrivningen av tangentbordets kommunikation i de olika servicemanualerna varandra.
Användarvisningsbild
anders_bzn
Inlägg: 5462
Blev medlem: 17 december 2008, 19:22:18
Ort: Kävlinge
Kontakt:

Re: ABC-806 tangentbord ABC 77 bara piper...

Inlägg av anders_bzn »

Tangentbordet fungerar normalt om man kör med kretskortet löst och trycker med fingrarna direkt på paddarna. Har du sett att det finns en tråd på facebook om att bygga omvandlare för PC (USB) tangentbord för ABC802/6?
Användarvisningsbild
peak@svelfo
Inlägg: 187
Blev medlem: 13 april 2016, 16:48:57
Ort: Stockholm

Re: ABC-806 tangentbord ABC 77 bara piper...

Inlägg av peak@svelfo »

Om du startar datorn samtidigt som du med fingrarna trycker på flera tangenter samtidigt, piper det då?
Användarvisningsbild
anders_bzn
Inlägg: 5462
Blev medlem: 17 december 2008, 19:22:18
Ort: Kävlinge
Kontakt:

Re: ABC-806 tangentbord ABC 77 bara piper...

Inlägg av anders_bzn »

Nej, ett friskt tangentbord gör inte det.

Däremot så piper tangentbordet hela tiden så länge som reset är intryckt (antingen på datorn eller tangentbordet).
MBY
Inlägg: 89
Blev medlem: 8 juni 2003, 10:50:01

Re: ABC-806 tangentbord ABC 77 bara piper...

Inlägg av MBY »

peak@svelfo skrev: 14 oktober 2020, 13:03:40 Om du startar datorn samtidigt som du med fingrarna trycker på flera tangenter samtidigt, piper det då?
Ja, det är ingen skillnad alls. Ingenting jag gör med själva tangentbordet ändrar s.a.s. tillståndet.
anders_bzn skrev: 14 oktober 2020, 09:15:53 Tangentbordet fungerar normalt om man kör med kretskortet löst och trycker med fingrarna direkt på paddarna. Har du sett att det finns en tråd på facebook om att bygga omvandlare för PC (USB) tangentbord för ABC802/6?
Ja, det är ingen skillnad som sagt. Har tagit bort hela den mekaniska delen för rengöring och försökt använda paddarna direkt. Aha, nej, det har jag inte sett, jag har inte facebook. Finns det någon "normal" sida där man kan läsa om det eller kan man läsa på FB utan att ha det? Edit: Hittar det inte vid googlingsökning heller. Fördömt att datorn skulle kallas för "ABC", det gör sökning så mycket svårare! De borde förstås ha tänkt på det kring 1980! :D

Min egen omvandlare är hårdvarumässigt klar och jag etsade kortet den gångna natten. Nu är det bara firmwaren som ska skrivas! Använder det där FB-projektet möjligtvis AVR? De skulle ju spara en massa tid så klart för mig! :)
MBY
Inlägg: 89
Blev medlem: 8 juni 2003, 10:50:01

Re: ABC-806 tangentbord ABC 77 bara piper...

Inlägg av MBY »

Min omvandlare fungerar, men problemet jag har är att det inte är uppenbart vilka koder som sänds av alla knappar som PF-knapparna och liknande. Servicemanualen nämner att t.ex. Caps Lock sänder en kod, men anger inte vilken. Det finns ett diagram som gäller alla knappar i "uppner-mode", men det är inte tangentbordets normala operationssätt och används av "sys(?)" (ordagrant från manualen).

...sen måste jag komma på något att göra med alla knappar på ett 102- eller 105-tangentersbord som inte används. Lär väl bli ett och annat påskägg. Kanske någon form av makrofunktion?

Edit: Jag inser ju att jag har mjukvarukontroll över resetpinnen, så kanske CTRL-ALT-DEL får sköta den biten... :)
MBY
Inlägg: 89
Blev medlem: 8 juni 2003, 10:50:01

Re: ABC-806 tangentbord ABC 77 bara piper...

Inlägg av MBY »

Igen, jag är intresserad av den där facebook-tråden men jag hittar den inte, möjligtvis därför att jag inte har facebook.

Min egna konverterare är nästan klar och jag använder ABC 806 fint nu, men piltangenterna är ännu inte implementerade vilket jag jobbar på. Ej heller är "uppner-mod" implementerat. Vet inte om det behövs och är meningsfullt att implementera och jag vet inte hur jag ska testa det heller.

Eftersom mitt ABC 77 hela tiden piper var det enkelt att konstatera att pipet är kring 2 kHz, men jag vet inte hur BEL (ASCII 7), 5- och 20 ms-klick ska låta. Jag gissar 2 kHz här också, eftersom ljudet tycks komma från en 555a (eller snarare ena halvan av en 556a). Men eftersom jag inte vet om/hur mikrokontrollern manipulerar denna 556a kan jag inte vara säker och 2 kHz låter inte ergonomiskt för "tangentbordsklickljud". Är det någon som vet eller har möjlighet att mäta? Är det någon som vet vad/när uppnermod används?

Bifogar det simpla schemat. Om jag någon gång gör ny hårdvara så skulle jag låta AVRen kunna styra strömförsörjningen till tangentbordet samt ta in en signal från 12V för att AVRen ska veta om den kör från 12V från ABCn eller i testläge från STK500/AVRISP, för debugändamål. Postar mjukvaran också när den är klar, förhoppningsvis har någon användning av den. Men det vore ju kul att veta om jag uppfinner hjulet igen. Det kanske redan finns en lösning som är bättre i den där facebook-tråden?
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
anders_bzn
Inlägg: 5462
Blev medlem: 17 december 2008, 19:22:18
Ort: Kävlinge
Kontakt:

Re: ABC-806 tangentbord ABC 77 bara piper...

Inlägg av anders_bzn »

I tråden länkas ett det till ett github-repo: https://github.com/olofwalker/abc806keyboardadapter

Hoppas det hjälper.
MBY
Inlägg: 89
Blev medlem: 8 juni 2003, 10:50:01

Re: ABC-806 tangentbord ABC 77 bara piper...

Inlägg av MBY »

Tack! Ska kolla in, finns säkert något matnyttigt där!

Btw, med tanke på din avatar så förmodar jag att du har erfarenhet av ABC-datorer. Jag har inte använt någon på ca 20 år och har inte använt en ABC någon längre tid öht. Jag irriterar mig nu på en orelaterad sak. Hur f*n listar man innehållet på en diskett (har en ABC 832) från BASIC? "List" gör precis tvärt om vad som förväntas (om man jämför med t.ex. Commodore PET och C64) och "CAT", "FILES", "CATALOG", "DIR", "DIRECTORY", etc, fungerar inte. Jag har dessutom manualen till diskettstationen och den går igenom några CP/M-kommandon (har inte CP/M) och några BASIC-kommandon, men säger inget om hur i h-vete man listar en diskett? De KAN väl bara inte ha missat en sådan fundamental funktion? Jag menar, det är en dator och det är inte meningen att man ska uppdatera något papper-och-penna-dokument varje gång man skapar en ny fil?
Användarvisningsbild
peak@svelfo
Inlägg: 187
Blev medlem: 13 april 2016, 16:48:57
Ort: Stockholm

Re: ABC-806 tangentbord ABC 77 bara piper...

Inlägg av peak@svelfo »

Har du googlat? abc80 lista innehåll på diskett ger bland annat https://www.abc80.net/archive/luxor/ABC ... venhet.pdf
Kommandot du ska använda heter LIB.
MBY
Inlägg: 89
Blev medlem: 8 juni 2003, 10:50:01

Re: ABC-806 tangentbord ABC 77 bara piper...

Inlägg av MBY »

Jodå, jag har googlat. Det är ett diskkommando, inte ett basickommando (man kör med "run lib" från basic). Då jag inte har några originaldisketter med något OS (som jag antar är en CP/M-variant) så kan jag inte utföra det kommandot (som ju ger Error 21 - Hittar ej filen). Men, LIB-porogrammet verkar vara en BAC-fil vilket gör att någon som har tillgång nog kan lista det år mig. Jag har sökt efter det programmet specifikt.

Edit: Jag har givetvis sett att det finns en del disk images på abc80.net, men det är ju ett knepigt format om man vill ha det som text på en PC för att knappa in på en ABC. Kanske går via emulator på PCn?

Edit2: Jag har möjligtvis hittat LIB-program i en zipfil från ABC-klubbens FTP: https://www.abc80.net/archive/luxor/sw/ABC-klubben/
...det slår mig att problemet är likt det med Commodore PET och C64, listning av disketter förstör programmet i minnet om man inte har en "DOS Wedge". Vore förstås guld att hitta en sådan till ABC-datorerna.
Användarvisningsbild
peak@svelfo
Inlägg: 187
Blev medlem: 13 april 2016, 16:48:57
Ort: Stockholm

Re: ABC-806 tangentbord ABC 77 bara piper...

Inlägg av peak@svelfo »

MBY
Inlägg: 89
Blev medlem: 8 juni 2003, 10:50:01

Re: ABC-806 tangentbord ABC 77 bara piper...

Inlägg av MBY »

Jupp. Nu gäller det bara att hitta ett sätt att föra över det till en ABC806. BAC-filer är ju kodade ("semikompilerade") till skillnad från BAS-filer. Det finns emulatorer för ABC80, men inte ABC80x vad jag har sett, och dessa klarar inte att ladda BAC-filer för 800-datorerna. Hittat några terminalprogram också, men de är i BAC, eller så är det hutlösa mängder maskinkod i DATA-satser och de verkar eventuellt behöva speciella ROM eller modemhårdvara. Inte uppenbart när man tittar i koden. Det blir väl att dyka i datablad för "DART" och skriva eget, för två serieportar finns ju så det borde gå att föra över saker via dem.

...fast jag har ju ett annat sätt att föra över nu! Får lägga in BASIC-kod i AVRen som den får "skriva in" i ABCn i 600 baud och på så sätt kanske jag kan bootstrappa en terminal och sedan övergå till serieportarna. Om det på något vis går att få ner hela diskimages till fysiska disketter på detta sätt återstår väl att se (det borde gå, om man verkligen sätter sig in i OUT-adresserna och lågnivåskriver till disketter, men det är nog något som kan ta en del tid... :P

...fast vi kommer ifrån ämnet nu. Min tangentbordsomvandlare verkar fungera fint nu, det är bara lite små buggar som ska tvättas ut. Har inte haft någon jätteanvändning av det där facebookprojektet, men noterar att de verkar skita i RX, alltså sända från datorn och ta emot i tangentbordet. Jag har upptäckt att !KEYDOWN-signalen inte verkar behövas alls, men det projektet verkar använda signalen. 650 baud kör de i också, i stället för 600. Ska undersöka lite mer om/hur de löst det här med "uppnermod". Vet inte varför "alla" verkar göra projekt kring arduino-grejer. Verkar vara ett sådant slöseri med hårdvara. Klumpigt på något vis. Jag gjorde iaf mitt egna kort med en ATMEGA168 då jag råkar ha sådana hålmonterade som "aldrig" går åt vanligen, därför att jag nästan alltid kör ytat. Men det här är ju en one off, så att säga, att optimering av kortyta o.dyl inte är så viktigt. För rena hobbyprojekt kan man ju "fuska" med lite hålat här och där. :)

Mitt i villervallan så bytte jag nätagget på diskettstationen, från den DCDC som satt där till lite nyare moduler då spänningarna inte såg så roliga ut (+5V pendlade mellan 4,5 och 5,6 volt oavsett belastning). Alternativet hade varit att börja "recappa" och felsöka.
ABC806kb.jpeg
ABC832_dcdc.jpeg
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Skriv svar