Den där Metric-8 maskinen har satt lite griller i huvudet på mig
Två av nätdelarna var nog inte så välmående. Den har en primär nätdel som ger +30v ut och sedan sekundära nätdelar en för +5,+12 -12v och en för +5v och +24v den första sekundära nätdelen styr även den primära.
Dock så var felen rätt lätt... kondensator döden.
Så på med spänning o prova men inget funkar alls. Jag har inga manualer. Vet bara att den skall köra CP/M. Det sitter ett CPU kort i med Z80 och SIO till terminal och en auxport, man hade valt Z80 SIO-0 som sen visade sig att det gjorde att felsökning tog längre tid...., Den har också ett 64kb kort och ett dma kort samt floppy kontroller NEC µPD765A har aldrig jobbat med den innan.
Första angrepspunkten var att se om det kom ut något på seriesnöret då den är avsedd att gå med en terminal och på de få bilder jag har sett används bara terminalutgången.
Inget kommer ut alls på serieporten börjar kopplar in flow control men inte något bättre alls totalt tyst för utom en lite bit när systemet gör reset.
Efter ett par timmar ger jag upp och rycker ut cpu kortet ur lådan och tar det på bänken istället. Korten sitter väldigt långt in och jag har inga förlängningskort att få ut det.
20250820_140854.jpg
Efter lite bänkkörning hittar jag att klocka beter sig underligt men bara ibland. Efter lite sökande visar det sig at en 74ls74 inte riktigt funkar.
Löder av den och testar i RCT där den får OK. Men stoppar i en ny och då funkar klockan stabilt.
Men det fortsätter att strula så börjar få ner kortet på schema, finns här även om inte allt är med
https://git.sweproj.com/ABC80/metric8/s ... atic_cpu-s.
Nu ser det ut att gå bättre och den verkar köra kod så får lött ihop en adapter för att kunna ansluta en logikanalysator... Har bara 16 kanaler så det får bli adress bussen.
527304124_638764142065194_8394215549258887339_n.jpg
Inte snyggt men den funkar.
Den kör kod men vad händer igentligen!!! Inget ut på serieporten och sen går den i loop.
527665456_1518505012861615_8420380394360025782_n.png
Dax att börja använda AI och få lite hjälp med att disassembla koden. Börjar koda av från början. AI är bra grejor men kanske mest för att dokumentera för den hittar på lite själv som den tycker passar annars och passar man sig inte så börjar den ändra koden också för att det skall passa mot vad den tycker.
Lutar nu mer och mer åt att sio är trasig iom att den stannar när den skall vänta på att tx bufferten i sion skall bli skickad. Hittar efter ett tag att när den sätter upp sio'n så är tx disabled och hittar i koden som är knutet till interrupt vektor för eventet att den skall sätt tx enable när sion är färdig konfad o klar. Sen tar det stopp och det går ganska många kvällar tills jag inser att sio-0 inte kan hantera interrupt vektorer utan bara vanliga interrupt. Så jag var på felställe och letade... länge. SIO-2 har stöd för vektorer. och iom att det fanns kod för att hantera det via vektorer så trodde jag länge att jag var rätt. Det visade till slut att addon kortet med extra sio för Metric hade sio-2 så det fanns dubbla uppsättningar av konfig.
I slutet på denna sio problematik så visade sig att sio var trasig ändå.
Sen så ibland kom den olika långt men började alltid väldigt bra... oftast så började misstänka ripple från PSU men det visade sig istället var en dålig kontakt i socklen till Z80 på D7... tog också en stund att hitta.
När väl den började bli helt stabil så hade jag fortfarande inget ut på serieporten och kunde inte förstå varför men till slut efter väldigt mycket reverse på koden så förstod jag ett avsnitt av koden.... en automatisk baudrate detektor som var tvungen att köras innan systemmet går igång. Mäter helt enkelt tiden för en byte. och sedan justerar delaren i CTC funkar mellan 1200 till 38400 baud. riktigt stilligt fakitskt. Men man måste tryck en knapp som har lagom många bit i sig för att den skall fungera......
Sen kom det output. och inte bara det en hel monitor fanns med likt wazmon fast många gånger bättre. Man kan t.ex läsa in en sektor från disk till minne och rent av en intel hexfil om man vet var den ligger. Debugging av kod med breakpoints och få upp alla registerna där den slutade. I/O ports kommando på in och ut
Här ett exemple på att läsa in data från disk
535030605_8626888904101275_3489283592107058262_n.png
Och till slut kunde jag läsa in loadern till CP/M i minnet
531678071_2182787265531804_6669322259467057491_n.png
Dock hade de blivit lite jobb med diskdrivarna, 8 tum men med 24v volts matning istället för 230v och rätt finna drivar som både har stöd för hard o soft sector.
Dock hade alla elytar ruttnat.
527734768_742284708661215_8910399707503634339_n.jpg
På första driven hade även en 7474 också gett upp men den var ganska lätt att hitta.
Den andra drivern har problem med varvtals styrningen och den återstår att fixa.
Men till de tråkiga. Jag har inte en CP/M version som går att köra. Hittade en(två) diskimg i Danmark för Metric 8 Plus som inte har samma memorymap tyvärr.
Men förutom den trasiga driven så är systemmet nu igång men det tog 3 veckor,
Är det någon som har schema material, manuler eller mjukvara till Metric 8 så kontakt mig gärna!!!!
Sen ligger det som är disasm här om någon vill kolla, AI har gjort de mesta delen av dokumentation men som sagt man behöver läsa koden själv och rätta den gång på gång
https://git.sweproj.com/ABC80/metric8/s ... labels.asm