Google Analytics

11 december 2024

Reparatie: Amiga 500

De Amiga 500 (A500) was een populaire retrocomputer die Commodore in 1987 op de markt bracht. Het was de eerste 16-bits computer van het merk en maakte gebruik van een Motorola 68000 processor. Deze processor draaide op een kloksnelheid van 7.09 MHz (PAL) of 7.16 MHz (NTSC). De Amiga 500 viel op door zijn indrukwekkende grafische mogelijkheden voor die tijd, samen met 4 PCM-geluidskanalen en uitgebreide aansluitmogelijkheden. Aan de rechterzijde is een 3,5-inch floppy drive ingebouwd met een opslagcapaciteit van 880 KB.

Het exemplaar dat ik in mijn bezit kreeg, is geproduceerd in Duitsland en heeft serienummer 811490. De behuizing vertoont een ongelijkmatige, sterk vergeelde verkleuring.
Ik sluit de Amiga aan op mijn TV via de SCART-ingang, met behulp van een kabel die onder andere verkrijgbaar is bij Amigastore.eu.
Na het aansluiten gaat de power-led wel aan, maar de Amiga start niet op: het beeld blijft zwart.

Inspectie

De behuizing is eenvoudig te openen door 6 schroeven aan de onderkant los te draaien en bestaat dan uit twee gedeelten waarna de bovenkant wordt losgenomen.

Het revisie 6A moederbord is geproduceerd in 1989 week 49. In onderstaande afbeelding zijn de IC's en aansluitingen benoemd.

Op de interne uitbreidingsconnector (13) is een 512 kB geheugenuitbreiding aangesloten. Deze uitbreiding bevat tevens een tijdklok, die dankzij een oplaadbare batterij de tijd blijft bijhouden, zelfs wanneer de A500 is uitgeschakeld.

De Zydec AMRAM-16 geheugenuitbreiding

De batterij is gaan lekken en heeft schade veroorzaakt aan soldeerverbindingen, printsporen en mogelijk enkele IC's, zoals te zien is op de onderstaande detailfoto's waarbij de batterij zelf al is verwijderd.

Aangezien ik deze geheugenuitbreiding niet vertrouw verwijder ik deze volledig.

De onderkant van de printplaat ziet er keurig uit: er zijn geen modificaties aangebracht en er zijn geen overbruggingsdraden (ook wel bodge wires genoemd) aanwezig en de connectors aan de bovenkant zijn vrij van roest.

Reparatie

Aangezien er na verloop van tijd een oxidelaagje kan ontstaan op de pennen van de IC's en de contacten van de IC-voeten, is mijn eerste stap altijd om de IC's te verwijderen en de IC-voeten in te spuiten met contactspray. Zelf gebruik ik hiervoor het merk Griffon.
De IC's kunnen erg vastzitten, daarom gebruik ik een eenvoudige IC-extractor voor de DIP-IC's.

Speciale aandacht is echter vereist voor het Fat Agnus IC met 84 aansluitingen, dat in een speciale PLCC-voet zit. De enige manier om dit IC probleemloos te verwijderen, is met behulp van een speciale PLCC-extractor.

Links een eenvoudige IC extractor. Rechts een PLCC-extractor

In de PLCC-voet zijn diagonaal sleuven aangebracht waarin de extractor kan worden geplaatst. Het is hierbij van groot belang om geen wrikkende beweging te maken met de PLCC-extractor. Laat de extractor zijn werk doen door enkel de zijkanten in te knijpen; de metalen haken tillen het IC dan omhoog. Het komt soms voor dat wanneer de uitgeoefende krachten te groot zijn, de PLCC-voet splijt en deze in zijn geheel vervangen moet worden en dat is nogal een lastige desoldeer klus.

         De PLCC IC voet ten behoeve van de Fat Agnus met maar liefst 84 aansluitingen

Nu kijken wat het resultaat is, en voilà, na het herplaatsen van de Fat Agnus is er weer beeld, De A500 vraagt om de opstart diskette en start hiervan op. Na het laden van een spel blijkt ook het stereo geluid prima te functioneren. Ik ben toch benieuwd naar de invloed van de geheugenuitbreiding en sluit deze weer aan. Dit geeft weer een zwart beeld bij het opstarten, dus het blijkt een dubbele foutoorzaak te zijn! Nu kan de rest worden getest waarbij ik de Amiga Test Kit software gebruik van Keir Fraser.

De geheugentest verloopt goed, er worden geen problemen gevonden.

Keyboard

De Amiga’s zijn geproduceerd met keyboards van drie verschillende merken: Mitsumi, Samsung en Hi-Tek. Die van Mitsumi komen het vaakst voor, die van Hi-Tek zijn alleen in de eerste serie gebruikt. Door een van de keycaps te verwijderen, is direct te achterhalen welk merk keyboard is gebruikt.

links een Mitsumi keycap en rechts een van Samsung. (bron foto: Amigaclub.be)

De Mitsumi keycap heeft een vierkante stam en de Samsung een rechthoekige, daardoor zijn deze keycaps niet uitwisselbaar! Mijn toetsenbord is van Mitsumi.
Na het testen van alle toetsen werkt alleen de linkse Alt-toets niet.

Ik schroef een groot aantal schroeven los en verwijder de metalen afdekplaat van het toetsenbord waardoor het toetsenbordfolie zichtbaar wordt.

De rode cirkel markeert de positie van de linker Alt-toets. Omdat dit de enige toets is die niet werkt, lokaliseer ik het probleem bij het bovenste contact in de cirkel. Om het spoor te volgen zonder de weg kwijt te raken, voeg ik in de afbeelding rode puntjes toe bij elke verandering van richting. Zo kom ik precies bij de juiste connector aansluiting rechtsboven uit. (De rode puntjes zijn alleen zichtbaar bij een uitvergroting van de afbeelding hierboven.)
Met een multimeter meet ik het spoor na en stel vast dat het daadwerkelijk onderbroken is. Aangezien ik toch wel benieuwd ben waar de onderbreking zit volg ik het spoor onder een microscoop en vind daadwerkelijk de onderbreking.

Microscoop opname van de onderbreking in het spoor

Dit spoor zit opgesloten in het folie, reparatie is daardoor lastig en besluit daarom een nieuw reproductie folie te bestellen bij Sintech Duitsland.

Boven de originele folie, onder de reproductie

Wat meteen opvalt, is dat de koolstofhoudende vlakjes waarmee de toetsen contact maken kleiner zijn dan die op het originele folie. Ik plaats het folie terug en test opnieuw alle toetsen. De linker-Alt-toets werkt nu wel, maar in plaats daarvan functioneren de Caps Lock-toets en de bijbehorende led niet meer.
Voor de zekerheid controleer ik ook de toetsen zelf. Er blijken veel stofdeeltjes op te zitten die de contactweerstand kunnen verhogen. Ik reinig deze met water en een tandenborstel.

uitvergroting van het geleidend rubber van een toets

Wanneer ik de twee folies over elkaar leg (de nieuwe folie aan de onderkant), zie ik dat de vlakjes voor de Caps Lock-toets en led iets verschoven zijn ten opzichte van het origineel.

Bovenste cirkel t.b.v. de capslock led en de onderste cirkel voor de toets

Ik wil een stift met geleidende inkt gebruiken om te experimenteren met het vergroten van de vlakjes. Op Amazon vond ik een stift van Chinese makelij, waarin metallic nikkelpoeder als hoofdingrediënt wordt gebruikt. Met deze stift zouden circuits op papier getekend kunnen worden, wat mij geschikt lijkt om mee te experimenteren.

Het contactoppervlak is vergroot met behulp van de stift

Optisch ziet het er behoorlijk goed uit; de metaaldeeltjes zijn duidelijk zichtbaar. Toch blijkt uit herhaalde tests dat het nog steeds niet werkt. Ik heb ook een stukje spoor op papier getekend, maar er is geen meetbare weerstand. Het experiment is dus mislukt. Deze pen met "geleidende" inkt raad ik daarom af. 
De enige oplossing is nu om te zoeken naar een folie waarvan de positie van de toetsvlakjes precies klopt. Gelukkig heb ik deze gevonden bij het Ierse bedrijf Sordan. Let op: dit bedrijf biedt meerdere varianten aan. Ik heb een folie gevonden met hetzelfde typenummer als het origineel: 56 A619A, wat hoopvol is. Na het plaatsen van deze folie blijkt alles perfect te werken. Al met al was het een dure reparatie voor slechts één toets, maar ik heb er veel van geleerd over wat wel en niet werkt.

Muis en Joystick poorten

De originele Amiga Tank-muis had een DE-9 aansluiting en was niet compatibel met andere computers. Mijn voorkeur gaat uit naar een optische muis. Gotek.nl biedt een handige interface die, met de juiste jumperinstellingen, zowel voor een Amiga als een Atari ST-computer gebruikt kan worden in combinatie met een (optische) PS/2 muis. Niet alle merken optische muizen werken dus dat is simpelweg een kwestie van uitproberen.


PS/2 Muis adapter van Gotek.nl

Beide DE-9 poorten blijken probleemloos te werken.

Floppy drive 

Na het reinigen van de koppen met isopropanol test ik de interne drive met de Amiga Test Kit. Zowel lezen als schrijven verloopt zonder problemen.

De leestest: een 0 in een groen vlakje betekent correct gelezen

Ik controleer ook de onderlinge uitlijning tussen de twee koppen.

Hiermee worden de 80 sporen van de twee koppen vergeleken. Een "." betekent dat beide sporen (boven en onder) correct kunnen worden gelezen vanaf hetzelfde te kiezen spoor. Afstelling is in mijn geval niet nodig.

Externe floppydrive poort

De externe floppy drive poort test ik met een Gotek drive die met een converter van Gotek.nl wordt aangesloten. Een Gotek drive is een moderne vervanging voor traditionele floppy drives. Het is een USB-gebaseerd apparaat dat ontworpen is om de functionaliteit van een floppy drive na te bootsen, maar in plaats van fysieke floppy disks gebruikt het USB-sticks om bestanden te lezen en te schrijven.


Gotek Drive met een converter van Gotek.nl

De externe floppydrive poort werkt perfect.

Cosmetische verbeteringen

De Amiga-behuizing is erg onaantrekkelijk, net zoals de vergeelde toetsen van het toetsenbord. Er is een mogelijkheid om deze te bleken met behulp van een proces genaamd retrobright, waarbij waterstofperoxide wordt gebruikt. Dit proces is echter belastend voor het milieu en de resultaten zijn wisselend. Bovendien zal de vergeling na verloop van tijd meestal weer terugkeren. Ik kies voor aanschaf van een reproductiekast en reproductie keycaps, verkrijgbaar bij A1200.net.

De nieuwe behuizing biedt diverse voordelen. Naast ruimte voor USB-aansluitingen ondersteunt deze niet alleen de originele moederborden, maar ook moderne alternatieven zoals een Raspberry Pi of een Apollo V4 SA-bord.

Helaas zijn de reproductie keycaps met een US-layout momenteel niet beschikbaar. Zodra ze weer leverbaar zijn, kunnen ze worden vervangen.

De Amiga 500 in een nieuwe reproductie kast nog wel met de vergeelde originele keycaps

Conclusie

Een slechte contactverbinding van het Fat Agnus IC in de PLCC voet en een defecte aangesloten geheugenuitbreiding ervoor dat de Amiga 500 ook niet opstartte – een dubbele foutoorzaak dus. Het hoeft niet altijd om defecte componenten te gaan; vaak zijn simpele contactproblemen de meest voorkomende oorzaak.
Het toetsenbord folie van Sintech en de Chinese geleidende inktstift via Amazon kan ik niet aanbevelen. Het gebruik van een reproductiebehuizing en reproductiekeycaps geven de Amiga weer een frisse, nieuwe uitstraling.

19 november 2024

Toepassing: De Cardputer van M5Stack

Het Chinese bedrijf M5Stack richt zich vooral op Internet of Things (IoT) oplossingen en heeft in oktober 2023 een kleine computer uitgebracht ter grootte van een credit card onder de naam Card Computer of kortweg Cardputer. Deze is voorzien van een toetsenbord met 56 toetsen, een 1.14 inch TFT scherm met een resolutie van 240x135 pixels en een verwisselbare computer module. De bijgeleverde computer module is de M5StampS3 die een Dual-Core ESP32-S3FN8 microcontroller bevat en wordt geklokt op maximaal 240 MHz.
Extra ingebouwde functionaliteiten zijn: Wi-Fi, Bluetooth, I2S speaker, digitale microfoon,  infraroodzender, MicroSD/TF kaart aansluiting en twee oplaadbare batterijen. Het geheel kost slechts $29.90.

De Cardputer. Rechtsboven de computer module met USB-C aansluiting

De behuizing is te openen door de twee M2 hex boutjes los te draaien.

Links de bovenkant van de behuizing, rechts bovenkant printplaat

De printplaat rechts bevat een 401525 LiPo oplaadbare batterij voor backup.

Links de onderkant van de printplaat, rechts de onderkant van de behuizing

De onderkant van de printplaat bevat uitleg over hoe de voeding en batterijen zijn aangesloten en in de onderkant van de behuizing rechts is een grotere 602866 LiPo oplaadbare batterij geplaatst.

Toepassingen

De Cardputer is ontworpen voor gebruikers die een veelzijdig klein formaat apparaat zoeken en breed inzetbaar is voor o.a. prototyping van creatieve projecten, ook dankzij de verschillende aansluitmogelijkheden. De belangrijkste aansluiting is de Grove-connector, die zich aan de linkerkant bevindt. Deze gestandaardiseerde 4-pins I2C GPIO-aansluiting maakt het mogelijk om externe modules, zoals sensoren, camera's, servo-aansturingen en meer, eenvoudig te verbinden.

Een Grove kabeltje

Het Eindhovense bedrijf TinyTronics biedt een breed assortiment aan modules die over een grove aansluiting beschikken. Deze modules worden standaard met een Grove-kabeltje geleverd.

Leuk detail zijn de gaten aan de achterkant van de Cardputer met een Lego-vormfactor die gebruikt kunnen worden om externe modules vast te zetten of onderdeel te maken van een Lego project. Gebruik hiervoor Technisch Lego pin onderdeel "3673 - Technic, pin" of "2780 - Technic, pin stroef."

De Cardputer wordt ook wel gezien als de goedkope variant van de zgn. Flipper Zero, die door  pentesters, techneuten, ethische hackers en hardwarehobbyisten wordt gebruikt.

Firmware

Standaard is er demo-firmware op de Cardputer geflashed, waarmee diverse functies worden gedemonstreerd, zoals o.a. een audiorecorder, Wi-Fi netwerk detectie en een chat programma.
De actieve Cardputer development community heeft de nodige firmware beschikbaar gesteld, waaronder de handige M5Launcher. Deze firmware maakt het mogelijk om eenvoudig verschillende applicaties te selecteren en te laden vanaf een SD-kaart (.bin bestanden), of om direct firmware te downloaden en installeren vanuit de M5Burner-repository. Niet alle firmware bevat de code om samen te werken met de M5Launcher, een voorbeeld hiervan is het spel Doom die dan in plaats van M5launcher moet worden geflashed.

Ga voor installatie naar https://bmorcelli.github.io/M5Stick-Launcher/flash0.html, verbind de Cardputer via USB met de PC en selecteer "M5Stack - Cardputer". De M5Launcher firmware wordt nu geïnstalleerd op de Cardputer.

Uitgebreide documentatie is beschikbaar op de website van de maker. Daarnaast is een wiki te vinden op: https://cardputer.wiki/getting-started.html

Op deze site is een overzicht te vinden van M5 firmware: https://bmorcelli.github.io/M5Stick-Launcher/m5lurner.html Let op, niet alle firmware is geschikt voor de Cardputer.

In de onderstaande tabellen is een selectie weergegeven van firmware die werkt op de Cardputer in combinatie met de M5Launcher. De downloadlinks bieden .bin-bestanden die op de SD-kaart geplaatst kunnen worden. Geef deze bestanden direct na het downloaden een herkenbare naam.

Firmware Download Github
Audio stream server: Stream je microfoon download github
Audiospectrum: Grafische spectrum analyser download github
Bluetooth Mouse/Keyboard download github
Bruce: Set hackingtools download github
CardskimmerDetector download github
Dados GPS: GPS demo download
Display_off: Zet display uit tijdens opladen download github
Evil-Cardputer: set hackingtools download github
I2C-Scanner download github
LegoTrainControl download github
Lego Power functions IR remote download
Marauder download github
Marauder GPS download
MicroCOM: Seriele UART communicatie download github
Mini Winamp: MP3 speler download github
Nemo: set hackingtools download github
Resistor Color Code download github
RF433ANY: RF433 signaal decoder download github
RFIDCopy: Kloon MIFARE RFID download github
System Monitor: Computer resources (alleen Linux) download github
TV-B-Mine: Infrarood TV afstandsbediening download
TV Remote: Infrarood TV afstandsbediening download github
User Demo Plus: verbeterde demo download github
WebRadio Dutch: Web radio met Nederlandse stations download github

Enkele spellen

Spel Download Github
A connect 4 game download github
Conways Cardlife: Game of Life download
Gameboy: Gameboy emulator download github
Minicar: Auto dashboard simulatie download github
MiniGotchi:  download github
Snake download
Spacewars download github

Conclusie

De Cardputer blijkt een compacte, veelzijdige computer die speciaal is ontworpen voor ontwikkelaars en hobbyisten. Met zijn krachtige functies en ondersteuning voor diverse firmware biedt de Cardputer een flexibele basis voor projecten zoals IoT-toepassingen, automatisering en prototyping. Dankzij de integratie met de M5Launcher en uitgebreide documentatie, is het eenvoudig om snel aan de slag te gaan en creatieve ideeën tot leven te brengen.

21 oktober 2024

Bouw: De RVPC, een RISC-V computer voor maar €1

Het Bulgaarse elektronica bedrijf Olimex heeft een bijzonder voordelig RISC-V computerbouwpakketje op de markt gebracht voor slechts één euro (excl. BTW).
De kern van dit systeem is de CH32V003J4M6 processor van het Chinese bedrijf WCH (Jiangsu Qin Heng). Deze 32-bit RISC-V2A processor draait op een kloksnelheid van 48 MHz en is uitgerust met 2 KB SRAM en 16 KB Flash-geheugen. De afmetingen (exclusief pootjes) zijn slechts 3.9 bij 5 mm. Op de Chinese markt kost deze processor nog geen 3 cent per stuk.

De CH32V003J4M6 processor met slechts 8 aansluitingen (SMD)

De RVPC is uitgerust met een 5V-aansluiting, een PS/2 connector voor het toetsenbord en een 15-pins Sub-D connector voor de aansluiting van een VGA-monitor. Daarnaast is de RVPC voorzien van een buzzer en een LED die dient als indicatie voor de voeding.

Gezien het beperkte geheugen en de aansluitingen van deze processor zijn de mogelijkheden niet enorm, waardoor het vooral een educatief doel heeft: leren programmeren met RISC. Desondanks is het team erin geslaagd om VGA-routines te ontwikkelen en software te creëren, zoals een WOZMON-achtige monitor en spellen zoals b.v. Tetris en Towers of Hanoi.

Het bouwpakket

Het bouwpakket bestaat uit een printje (Rev. B) van slechts 3 bij 5 cm en de benodigde onderdelen:

De onderdelen en printplaat aan beide zijden
1x 100nF 25V: C1
1x 1N4148: D1
1x HN1x2: PGM/DBG1
1x MDR6_MINI-DIN,PS2: KBD1
1x PWRJ-2mm (YDJ-1134): PWR_JACK1
1x LED 5MM RED: PWR_LED1
4x 2k 1/8W: R1, R5, R6, R8
3x 470R 1/8W: R2, R3, R4
1x 100R 1/8W: R7
1x Speaker QMB-09B-03, SPK1
1x 2N3904,TO-92: T1
1x CH32V003J4M6 SOIC-8: U1
1x VGA15-3.08-14.5T: VGA1





Microscoop opname van de gesoldeerde chip
De voorgeprogrammeerde CH32V003J4M6 processor is een SMD onderdeel en daardoor ook het lastigste onderdeel om te solderen vanwege de hele kleine pootjes. Ik beschik niet over een hotplate of een heatgun en heb nog nooit met tin-houdende soldeerpasta gewerkt dus probeer ik een poging te wagen met een soldeerbout gebruik makend van 0,8mm soldeertin. Ook gebruik ik kontakt soldeerpasta van Stannol voor een goede warmte overdracht.

Het soldeerwerk kan beter, maar ik ben niet ontevreden over het resultaat. 

Voor de zekerheid meet ik na of er geen sluiting zit tussen de pootjes onderling.
Bij de rest van de onderdelen gaat het solderen probleemloos, het is wel opletten op de polariteit van de diode, led en buzzer. Het solderen op de zgn. groundplane en de metalen onderdelen van de connectoren vragen wel veel warmte van de soldeerbout om het tin goed te laten vloeien.
Als laatste wordt een keus gemaakt voor de weergave kleur door een of meerdere soldeerbruggen te sluiten met een kloddertje tin.

Ik kies voor groen (GRN1) om het retrogevoel te versterken.
Volgens Olimex is het project geschikt voor beginners en mensen zonder soldeerervaring maar daar ben ik het niet mee eens. Dit is wel degelijk een klus voor gevorderden.

Het eindresultaat van de RVPC

Testen van de RVPC

Ik sluit de RVPC linksonder aan op een lab voeding, ingesteld op 5V en stel voor de zekerheid een stroombegrenzing in van maximaal 200 mA. 

Linksboven sluit ik een PS/2 toetsenbord aan en rechts een 15 polige VGA kabel die verbonden is met een TV die over een VGA aansluiting beschikt. Na het inschakelen van de voedingsspanning blijkt het stroomverbruik slechts 52 mA te bedragen en verschijnt bijna direct het voorgeprogrammeerde RVMON monitor programma waarmee het geheugen kan worden uitgelezen, weggeschreven en software kan worden gestart.

Geen strak beeld op de TV

Het geleverde videosignaal is 800x600@75Hz maar aangezien de beschikbare hoeveelheid geheugen slechts 2k is, heeft Curtis Whitley nogal wat trucs uitgehaald om de VGA routines passend en werkend te krijgen. Maximaal 17 regels van 22 tekens worden weergegeven in de RVMON monitor en volgens opgave zou een resolutie van 320 x 200 pixels mogelijk zijn. Het beeld is niet rotsvast zoals hierboven te zien is, maar goed leesbaar en het is ontzettend knap om dit met deze beperkte processor en zonder grafische chip überhaupt voor elkaar te krijgen. Wellicht is de stabiliteit van het beeld nog te verbeteren door het beter reinigen van de nog aanwezige flux, of gebruik te maken van een kristal oscillator om de klok stabieler te krijgen.

Beschikbare software

De software (en hardware) is opensource en beschikbaar gesteld via GitHub. Hier zijn de spellen te vinden en zijn ook de handleiding en het KiCad schema te downloaden. Verder kun je in deze andere GitHub repository voorbeeld software vinden voor de CH32V003 chipfamilie.

De RVPC wordt geprogrammeerd via een tweepolige aansluiting gemarkeerd met label PGM/DBG1 op de printplaat. De handleiding geeft aan hoe in een Linux omgeving m.b.v. onder andere Python een ESP32-S2-DevKit-Lipo-USB development board kan worden ingericht als programmeer apparaat voor de RVPC.
Het geheel ziet er behoorlijk complex uit en bovendien werk ik niet in een Linux omgeving. Op het moment dat ik een eenvoudige manier heb gevonden om software vanuit een Windows omgeving naar de RVPC te sturen dan zal ik dit blog later bijwerken.

Conclusie

Al met al een leuk en goedkoop zelfbouw project waarbij de focus ligt op het leereffect van zowel het bouwen (voor mij de eerste keer een SMD component gesoldeerd) alsook het leren programmeren met de RISC-V instructieset. Er is bovendien heel wat creativiteit nodig om leuke software te schrijven die past binnen de beperkte geheugenruimte.

17 mei 2024

Reparatie: Philips 15PF4121 TV

Wanneer je met oude retro computers werkt is er behoefte aan een monitor / TV die over diverse niet meer gangbare aansluitingen beschikt zoals Scart, composiet video, S-video, e.d. Zelf gebruik ik een Philips 15PF4121 TV die vanwege zijn compacte 4:3 formaat aan een TV beugel op een verrijdbare reparatie tafel is gemonteerd. Deze TV uit 2007 begaf het echter na vele jaren trouwe dienst. Tijd dus voor een reparatie van dit onmisbare onderdeel.

De Philips 15PF4142 TV

Aan de achterzijde van de TV zijn de volgende aansluitingen aanwezig:
Antenne (RF), Scart (RGB), DVI, Composiet video, S-video en digitaal / analoog geluid.

Symptomen

Bij het inschakelen van de TV is er geen on-screen menu te zien. De TV lijkt wel te reageren op de afstandsbediening door een knipperende led, maar het beeld blijft zwart op alle ingangen. Wel is de LCD achtergrond verlichting te zien. Dit probleem is al een keer eerder opgetreden en kon worden opgelost door de netspanningskabel los te koppelen en deze opnieuw aan te sluiten. Deze keer lukte dit echter niet meer.


Reparatie

De achterkant kan eenvoudig worden verwijderd met zes schroeven.
Binnenin bevinden zich 4 printplaten. Links de voeding (geel), in het midden de video processor (groen), daarnaast een klein printje met enkele video/audio aansluitingen (bruin) en rechtsonder een hulpprint met de infraroodsensor en een groen/rode led.

Het hart van de TV wordt gevormd door de gm5221H-LF chip van Genesis Microchip Inc.
In 2007 is dit bedrijf overgenomen door ST Microelectronics

Als eerste kijk ik naar de voeding en meteen valt een verbrande plek op bij één van de hoogspanning connectors. Deze hoge spanning van 680V wordt gebruikt voor de LCD achtergrond verlichting.


De oorspronkelijke connector die kennelijk vonkte door een slecht contact, is verwijderd en de kabel is direct terug gesoldeerd. Er was dus al eerder een reparatie uitgevoerd voordat ik deze TV bezat. Aangezien de LCD achtergrond verlichting werkt, kan dit niet de oorzaak van het huidige probleem zijn.

De voeding is geproduceerd door Delta Electronics Inc. model DAC-12M018 B1F

Ik heb van deze voeding niet het exacte schema kunnen vinden, wel van een soortgelijke zodat de globale werking duidelijk wordt. Verder valt op dat een aantal elektrolytische condensatoren (Elco's) zijn opgezwollen en hebben gelekt.

De bovenkant van enkele Elco's staan bol en hebben een bruin residu

Goedkopere Elco's gaan maar zo'n 1000 uur mee bij 85°C (bij lagere temperaturen langer), dus ze dienen in ieder geval te worden vervangen.

Het verwijderen is lastig omdat ze met een harde witte lijm zijn vastgezet.

De Elco's zijn verwijderd op één na, de grote Elco links (100uF 450V)
die nog een goede capaciteit heeft en een lage ESR waarde.

Bij meting met een ESR-meter bleek de meeste elco's een te hoge ESR-waarde hadden (>2 Ohm bij 1kHz) en hun capaciteit aanzienlijk was verminderd. De capaciteit van de 1000uF Elco's is zelfs bijna volledig verdwenen!
Aangezien ik de kwaliteit van merkloze Chinese condensatoren niet vertrouw heb ik de volgende radiale Elco's bij Reichelt elektronik besteld.

1x 10uF 50V
2x 220uF 25V
1x 330uF 25V
3x 470uF 25V (oorspronkelijk een van 10V, 16V en 25V op de print aanwezig)
3x 1000uF 25V (oorspronkelijk een van 10V, 16V en 25V op de print aanwezig)

De nieuwe Elco's worden gesoldeerd, waarbij het goed opletten is om de hele kleine SMD
componenten op de onderkant van de printplaat niet te raken met de soldeerbout

Alle nieuwe Elco's zijn nu terug geplaatst.

Na controle van de voedingsspanningen breekt het spannende moment aan om te testen of de TV nu werkt. Wellicht zijn er nog andere problemen.

De TV werkt weer!

Met slechts €2,75 aan onderdelen krijgt deze TV een tweede leven en kan weer worden ingezet voor  retrocomputer reparaties.

18 januari 2023

Bouw: Een Cambridge Mk14 in een PIC

De Microcomputer Kit 14 (Mk-14) is ontwikkeld in 1977 door Science of Cambridge (later Sinclair) uit het Verenigd Koninkrijk. Deze kit is gebaseerd op de 8-bit INS8060 processor van National Semiconductor uit 1976 en hoort bij de SC/MP II familie (uitgesproken als "Scamp") wat staat voor Simple Cost-effective MicroProcessor.

Het doel van de kit was om te leren programmeren door middel van de 46 beschikbare instructies van deze SC/MP processor. De kit bestaat uit een printplaat met 18 IC's (exclusief de 7805 spanningsregulator), een 9-cijferig bubble led-display, een membraamtoetsenbord met 20 toetsen, een resetknop, 512 bytes ROM en 256 bytes RAM (uitbreidbaar naar 640 bytes).

Foto van een originele Mk14. Deze kan worden uitgebreid met een INS8154 RAM/IO IC
(in de rode voet) en een RAM uitbreiding in de andere voetjes. Foto: John Short

Er zijn in totaal 5 versies van de Mk14 gemaakt. Van de destijds meer dan 15000 verkochte exemplaren zijn er tegenwoordig nog maar weinig exemplaren van over. Op dit moment (januari 2023) is er een originele ongebouwde kit te koop op eBay voor een bedrag van maar liefst 3239 euro. In de loop der jaren zijn er verschillende replica's op de markt verschenen op basis van de originele chipset, maar de deze IC's zijn lastig te verkrijgen.

Het PIC ontwerp

Karen Orton† heeft de Mk14 weten te emuleren in slechts één goedkoop IC, de PIC16F876. De PIC wordt geklokt op de maximale klok frequentie van 20MHz en door de emulatie komt dit overeen met een Mk14 op 4 MHz, slechts 11% trager dan de originele Mk14 (4,43 MHz).

Schema van de Mk14 PIC emulator, bron: Karen Orton website

Budgetronics.eu heeft een printplaat ontworpen voor dit ontwerp en levert een complete kit met het voorgeprogrammeerde PIC IC.

De bouw


De onderdelen van de "Mk14 in a PIC" kit

Na ongeveer 1.5 uur solderen is de Mk14 in a PIC gereed.


Werking

Na een druk op de SC/MP reset knop, verschijnt links op het display 0000 (adres) en rechts 00 (data). Dit is het startpunt van het SCIOS monitorprogramma. Hierna wordt het start adres ingetoetst en daarna de Term-toets voor het invoeren van de opcode/data. Door middel van de MEM-toets wordt de inhoud opgeslagen en het adres automatisch met 1 verhoogd, waarna het programma op dezelfde wijze verder kan worden ingevoerd.

De ABORT-toets wordt gebruikt om het invoeren af te ronden. Voer nu het startadres in en druk op de GO-toets om het programma te starten.

De SC/MP instructieset van de Mk14


Enkele verschillen

In tegenstelling tot de originele Mk14, is er op de "Mk14 in a PIC" geen IO-interface beschikbaar voor het aansturen van andere apparatuur.

Zoals uit onderstaande tabel blijkt, is de geheugenindeling van de "Mk14 in a PIC" niet volledig identiek aan die van de Mk14. De ontbrekende items in de standaard Mk14 worden tussen haakjes weergegeven. Het RAM-geheugen van de PIC14 komt meerdere keren voor in de geheugenindeling, maar het zijn slechts kopieën.
In totaal zijn er dus slechts 256 bytes RAM beschikbaar.

Adres   Mk14Mk14 (PIC)          
000
100
SCIOSSCIOS
200
300
SCIOSSCIOS
400
500
SCIOSSCOIS
600
700
SCIOSSCIOS
800(RAM IO)Display
900DisplayDisplay
A00(RAM IO)RAM
B00(Expansion RAM)RAM
C00(RAM IO)Display
D00DisplayDisplay
E00(RAM IO)RAM
F00Standaard RAMRAM

De Sense A-interrupts zijn niet geïmplementeerd en SC/MP-paging is ook niet aanwezig.

Illegale SC/MP-instructies zorgen op de "Mk14 in a PIC" voor een reset. Dit is een voordeel, omdat een programma-crash door een illegale instructie op de Mk14 vaak onopgemerkt bleef en vaak leidde tot het (gedeeltelijk) overschrijven van het RAM-geheugen.


Extra functies

De "Mk14 in a PIC" heeft een aantal extra functies ten opzichte van de originele Mk14:

De geprogrammeerde instructies blijven bewaard in het Flash geheugen, dus zelfs na uitschakeling van het systeem.

Er is een seriële download-functie beschikbaar waarmee een Intel hex-bestand naar de "Mk14 in a PIC" kan worden gestuurd. Deze functie wordt automatisch gestart na een PIC-reset. Als deze functie niet nodig is, kan deze modus worden verlaten door op de SC/MP reset-toets te drukken, waarbij de RAM wordt geladen vanuit het Flash-geheugen. Bestanden dienen te worden overgedragen met een baudrate van 9600, 8 databits, 1 stopbit en geen pariteit. Omdat de verbinding eenrichtingsverkeer is, wordt er geen handshake toegepast.


Kleine hardware aanpassing

De schakeling is ontworpen om RS-232 signalen te verwerken die worden ontvangen via de "Serial-in" aansluiting op de printplaat. Deze signalen variëren tussen de -12V (1) en +12V (0). De ingangsschakeling zet deze signalen om naar TTL-niveau (0V en 5V) en inverteert het signaal door middel van de BC547 transistor. 
Om een bestand vanaf een PC te kunnen versturen, wil ik gebruik maken van onderstaande kabel, die USB-signalen omzet naar serieel TTL-niveau omdat ik deze al in bezit heb.



Deze kabel kan niet rechtstreeks op de "Serial-in" worden aangesloten. Daarom voorzie ik de "Mk14 in a PIC" van een extra aansluiting op TTL niveau. Ik soldeer een extra signaal pin op de plek waar normaal gesproken de collector van de BC547 transistor zit. Vervolgens soldeer ik de transistor aan de onderkant van de printplaat.

De GND aansluiting van de kabel word op de - aansluiting van de "Serial-in" gestoken en de TXD op de nieuwe TTL ingang. Zie rechter foto hierboven.

Software test

Om de "MK14 in a PIC" te testen gebruik ik het programma Babbage, gemaakt door Karen Orton. Dit programma berekent de waarde van Pi met behulp van het Babbage-algoritme. Hieronder staan de hex codes zoals die handmatig op de "Mk14 in een PIC" worden ingevoerd, beginnend op adres 0f20 en eindigend op 0fee.

      0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
0f20 c4 0d 35 c4 0f 36 c4 8d 32 c4 32 c8 e6 c4 0f 37
0f30 c4 9b 33 c4 00 c8 dd c4 00 31 c4 04 c8 d7 c3 00
0f40 d4 0f 01 c2 80 cd 01 c4 0b 8f 00 c7 01 1c 1c 1c
0f50 1c 01 c2 80 cd 01 c4 00 8f 00 b8 b9 9c e0 c4 0b
0f60 8f 00 c4 00 c9 00 c7 fc b8 aa 9c cb c0 a5 98 bd
0f70 c7 fc c4 0a c8 9e c4 08 c8 9b 02 c3 00 eb 08 cf
0f80 01 b8 92 9c f6 b8 8d 9c ed b8 88 90 a0 3f 06 5b
0f90 4f 66 6d 7d 07 7f 67 00 00 00 00 00 00 00 00 91
0fa0 03 44 30 92 98 79 00 83 49 41 90 61 93 99 99 24
0fb0 23 26 00 63 93 99 99 21 67 69 55 06 00 00 00 03
0fc0 60 50 72 02 00 00 00 91 19 36 98 99 99 99 99 20
0fd0 55 86 93 99 99 99 99 72 79 06 01 00 00 00 00 99
0fe0 74 90 99 99 99 99 99 62 36 00 00 00 00 00 00

Een alternatief voor handmatige invoer is het omzetten van bovenstaande codes naar het Intel HEX-formaat. Dit bestand wordt dan via de seriële interface kabel van de PC naar de "Mk14 in a PIC"  verzonden:

:100F2000C40D35C40F36C48D32C432C8E6C40F3781
:100F3000C49B33C400C8DDC40031C404C8D7C30097
:100F4000D40F01C280CD01C40B8F00C7011C1C1C33
:100F50001C01C280CD01C4008F00B8B99CE0C40B55
:100F60008F00C400C900C7FCB8AA9CCBC0A598BD1F
:100F7000C7FCC40AC89EC408C89B02C300EB08CFC4
:100F800001B8929CF6B88D9CEDB88890A03F065BA6
:100F90004F666D7D077F6700000000000000009134
:100FA0000344309298790083494190619399992440
:100FB0002326006393999921676955060000000371
:100FC0006050720200000091193698999999992001
:100FD00055869399999999727906010000000099B4
:0F0FE00074909999999999623600000000000069
:00000001FF

Nadat de kabel op de USB poort van de PC is aangesloten, wordt een virtuele COM poort op de PC aangemaakt, die te vinden is in Windows Apparaatbeheer. In mijn geval is dit COM5.
Daarna wordt via een Windows-opdrachtprompt de poort ingesteld door middel van het commando:

mode com5 baud=9600 parity=n data=8 stop=1

Status for device COM5:
-----------------------
    Baud:            9600
    Parity:          None
    Data Bits:       8
    Stop Bits:       1
    Timeout:         OFF
    XON/XOFF:        OFF
    CTS handshaking: OFF
    DSR handshaking: OFF
    DSR sensitivity: OFF
    DTR circuit:     OFF
    RTS circuit:     OFF

De knop "PIC Reset" wordt gebruikt om het programma naar de "Mk14 in een PIC" te sturen. Op de PC wordt dan het volgende commando gegeven:

copy babbage.hex com5

Nadat het programma is geladen wordt het startadres 0F20 ingevoerd en kan het programma worden gestart door op de knop "Go" te drukken. Na een aantal iteraties wordt een benadering van het getal Pi weergegeven op het display.

Het is geweldig om te zien dat het mogelijk is om Pi te benaderen met slechts 256 bytes aan programma geheugen en een beperkte instructieset!