De printen zijn geleverd en gebouwd. De eerste ervaringen waren (uiteraard) negatief. Bij het plaatsen van het printje weigerde mijn Electron elke dienst. Het bleek hier te gaan om wederom een klassieke ontwerpfout: in het KiCad model van de 68B54 had ik Vcc en Gnd omgewisseld. Tja, als je daar al een fout maakt dan zal de electric rule check van KiCad ook niet constateren dat je een volle sluiting op je print creëert. Gelukkig heeft de 68B54 er geen blijvende schade aan over gehouden. Het tweede foutje, van hetzelfde kaliber, was de footprint van de SN75159 driver. Voor dit 14 pennen IC had ik toch weten te kiezen voor een 16 pens footprint. En als je dat doet blijkt dat er meer gaatjes in het voetje zitten dan dat het IC pennen heeft. Maar wat erger is, is dat de pennen 8 t/m 14 dus allemaal iets opschuiven waardoor je er bijna niets mee kunt.

Toch heb ik met wat kunst- en breiwerk een tijdelijke fix voor deze twee fouten kunnen maken waardoor ik toch verder kon met de ontwikkeling en het testen.

Het prototype van de Econet kaart, hier met twee hot-fixes bij de 68B54 en de SN75159.

Ik noem de print overigens EENT, hetgeen staat voor Electron EcoNet Twee. De twee is een knipoog naar de Plus2 (die er nooit geweest is) en het is de tweede Econet interface die ontwikkeld is (de eerste was van Barson, weet u nog?).

Nadat deze fouten hersteld waren startte de Electron keurig op met:

De melding dat er geen klok is, is volkomen terecht. Die was er namelijk ook niet. Ik had verder niets in huis wat met Econet te maken heeft. Dus, tijd om een afspraak te maken bij het International Acorn Museum te Made. Daar hebben ze zowat alles van Acorn, dus ook een life netwerk.

Hier ging het echter weer mis. De Electron waar ik mee ging testen had een AP6 uitbreiding waardoor ROM bank 13 niet beschikbaar was. Geen probleem dacht ik, ik brand de netwerk software gewoon op bank 0 van het kaartje. Zo gezegd, zo gedaan, maar er verscheen geen Econet banner meer. We hebben op meerder computers getest, maar geen enkele waar het werkte. Teleurgesteld toog ik tegen het einde van de avond weer huiswaarts. Ook daar werkte het printje blijkbaar niet meer. Wel had ik van de directeur van het IAMM een clock box mee gekregen zodat ik thuis eventueel verder kon testen.

De dag erna, ik weet niet waarom, brandde ik de netwerk ROM weer op bank 13 en het werkte weer. Het is dus gebleken dat de NetFS ROM vrij hoog moet zitten om te werken. Ik heb nog niet exact uitgezocht waarom dat is. Sommigen zeggen dat het met de prioriteit van de interrupts te maken heeft. Ik ben daar nog niet helemaal van overtuigd. Maar goed, hoe nu verder?

Ik besloot mijn BBC-B ook te voorzien van Econet. Alle componenten er in gesoldeerd en toen beide computers op die clock box aangesloten. In de hoop dat ik met een *NOTIFY een berichtje kon oversturen. Helaas liep ook dat op niets uit. Inmiddels naderde zaterdag 24 september, de dag waarop we de jaarlijkse TechSat (zie vorige Asterisk) zouden houden. Timo had een Econet server meegenomen en er werd een heus netwerk aangelegd. Econet op de Beeb bleek te werken maar op de Electron nog niet.

Later heb ik nog met de scoop gemeten en vergeleken. Immers op de Beeb werkt de interface en aangezien de EENT gebaseerd is op dezelfde schakeling is het dus makkelijk te vergelijken. Al snel wist ik drie fouten op te sporen:

  • Een splinternieuwe DIN kabel bleek toch behoorlijk last te hebben van overspraak: zodra deze kabel aangesloten werd op de clock box had ik meteen ook een 125kHz blokgolf op de datalijnen staan. Deze kabel kreeg een enkele reis afvalbak.
  • Bij het controleren van de NMI interrupts ontdekte ik ook twee fouten. De NMI wordt (om een IC uit te sparen) gerealiseerd met een NPN transistor. De NMI enable/disable wordt in de GAL geregeld en zorgt in combinatie met de interrupt uitgang van de 68B54 voor de aansturing van deze transistor. Maar dan moet het uitgangssignaal om die transistor aan te sturen uiteraard wel positief zijn, anders wordt het juist geïnverteerd. Dat moest dus even in de GAL omgezet worden.
  • De oplettende lezer vraagt zich dan af … als de NMI aansturing net verkeerd om was, waarom kreeg de Electron dan niet al meteen na het aanzetten een NMI, met een hang-up tot gevolg? Welnu, dat kwam door de tweede fout in het NMI circuitje. De weerstand in tussen de GAL en de basis van de transistor was te hoog (4k7) waardoor de transistor niet geheel in geleiding kwam. Met andere woorden, de spanning op de collector bleef ruim boven 2V en zo werd er dus geen NMI opgewekt. Nadat ik die weerstand verkleind had naar 2k2 begon er leven in het netwerk te komen:

“Not listening” is een goed teken want dat betekent dat er wel iets verstuurd wordt maar er is geen server die antwoordt. Dat was in dit geval ook de enig juiste reactie.

Ik ga u niet verder vermoeien met mijn avonturen om een file server op mijn BBC te laten draaien; uiteindelijk is het me wel gelukt om een eenvoudige Level1 server te draaien:

En zo is het na vele uren fout zoeken en puzzelen toch gekomen tot een werkende EENT: Electron EcoNet Twee. De gebouwde print is ook naar Timo en Bas gestuurd. Zij hebben de print in hun eigen netwerk getest en tevens al getoond op een bijeenkomst in Delft. Daar zijn nog enkele kleine puntjes m.b.t. wijzigingen uit gekomen, zoals de Econet connector een kwart slag te draaien. Ook geeft de Electron nog een verkeerde machine-ID mee zodat het lijkt of ons kleine computertje een Master 128 is.

Dit euvel zit uiteraard in de ROM; er is geen officiële Econet ROM uitgebracht voor de Electron, dus heb ik een gepatchte Econet ROM gebruikt. Deze ROM heb ik via het StarDot forum gekregen en daar kan dus nog wel even naar gekeken worden.

Verder zal er nog wat onderzoek en testen gedaan moeten worden met andere uitbreidingen voor de Electron, zoals AP5 (1 MHz bus/User Port/Tube interface), AP6 (gigantische sideways ROM/RAM uitbreiding), Pegasus 400 (disk systeem) en uiteraard de WiFi kaart. Met name de uitbreidingen die ook een ROM met hoge prioriteit (ROM bank 13) kunnen problemen hebben. Ik wil niet zeggen dat we deze allemaal kunnen oplossen, maar het is wel goed om vooraf te weten wat er wel en niet werkt.
Als daar verder geen rare dingen meer uit voortkomen dan kan ik de gecorrigeerde print ontwerpen naar JLCPCB sturen om een nieuwe batch met printjes te laten maken.