Ga naar inhoud

Bertus

Users
  • Aantal items

    123
  • Registratiedatum

  • Laatst bezocht

Alles dat geplaatst werd door Bertus

  1. Bertus

    Philips P2000T

    Inmiddels heb ik mijn eigen P2000T opengeschroeft en de voedingskabel van de PCB losgekoppeld. Ik deel je ervaring dat de geheugenuitbreiding ook zonder die 5V werkt. Ik heb een uitgebreide geheugentest gedaan en die laat geen fouten zien. Wanneer ik het spanningsverschil tussen de GND en de 5V rails op de PCB meet, dan staat daar een flucturende (minimale) spanning van +/- 0.05V op. Kortom: de chips worden niet meer gedreven op hun VCC pennen, maar halen de spanning via een andere pen binnen. Wanneer een van de chips geen 5V signaal op de VCC pen krijgt, probeert deze, via het pad met de minste weerstand, die 5V te krijgen. Dit gebeurt dan via een andere pen zoals een gate-pen of een clear-pen. Blijkbaar heeft elke chip tenminste één pen verbonden met een 5V signaal waardoor deze alsnog kan draaien. (EEVBLOG heeft hier overigens een interessante video over: https://www.youtube.com/watch?v=2yFh7Vv0Paw). Dit houdt wel in dat andere chips op het moederbord de expansiemodule van stroom aan het voorzien zijn, waarvoor ze niet bedoeld zijn. Kortom: de chips op de expansiemodule zijn niet gemaakt om gedreven te worden op een andere pin dan VCC en de chips op het moederbord zijn niet gemaakt om andere chips van stroom te voorzien. Dat het allemaal werkt komt omdat moderne chips erg energiezuinig zijn en dus weinig vermogen nodig hebben. Ik weet echter niet of een schakeling als deze zonder voedingskabel op lange termijn stabiel blijft. Misschien dat iemand anders hier op het forum verdere wijsheid over kan verschaffen. 😄
  2. Bertus

    Philips P2000T

    Ik ben positief verrast om te horen dat hij werkt zonder externe voeding! Leuk dat je dat eens geprobeerd hebt. Meten is weten. Pin 32 (~WAIT) en pin 35 (~LOCK) zijn beiden niet aangesloten op mijn bordje, dus daar kan hij de voeding niet vandaan trekken (lijkt me ook niet verstandig om dat te doen). Ik vermoed dat het bordje draait op de "restspanning" van de gates. Veel CMOS chips blijken vaak goed te draaien zonder dat de VCC pin aangesloten is. De chips draaien nl ook op minder dan 5V en hebben weinig vermogen nodig. Zou je eens de spanning tussen GND en de 5V pin kunnen meten? Ben benieuwd wat je daar ziet. Er zit nl geen spanningsregulatie op het bordje.
  3. Bertus

    Philips P2000T

    CALL SERVICE krijg je als de geheugentest tijdens de boot niet succesvol retourneert. Dat gebeurt in de monitor en voordat uberhaupt wordt gekeken of er vanaf een cartridge opgestart kan worden. De hardware-test op de multicartridge heeft dus weinig zin. Omdat je wel de tekst CALL SERVICE in beeld krijgt zou ik het zoeken bij de DRAM blokjes. Ik heb zelf geen ervaring met het controleren van RAM bij de P2000T, wel bij een C64. Hier gebruik ik de volgende strategie. Allereerst met de multimeter de pinnetjes van de DRAM afgaan om te kijken of de spanningen zoals verwacht zijn. Als er iets afwijkt dan kun je kijken of die chip defect is. Het is dan handig als een je een goed functionerende machine hebt die je als testmachine kunt gebruiken. Bij die testmachine desoldeer je enkele RAM blokjes en zet je daar voetjes in. Vervolgens kun je die machine gebruiken om individuele RAM blokjes te testen. Op deze manier kun je de defecte chip opsporen en vervangen in de machine.
  4. Bertus

    Philips P2000T

    A13, niet S0. (heb het bericht gewijzigd)
  5. Bertus

    Philips P2000T

    Kan ik me alleen maar bij aansluiten. 🙂 En ik moet bekennen dat ik dit zelfs heb gedaan, alleen nooit het hele circuit in een simulator gezet. Enkel de stukjes waar ik twijfels over had. In retrospect had ik aan alles moeten twijfelen... Enfin, het viel gelukkig met een enkele botch wire (A13 -> pin2 van de 74HC157) op te lossen.
  6. Bertus

    Philips P2000T

    Dank voor jouw scherpe blik! Daar gaat inderdaad nog wat fout op die 74HC157 chip.
  7. Bertus

    Philips P2000T

    Dank! 🙂 Onder de schroefterminal op de PCB zit een optie om een male 2.54mm header te zetten waar je een JST connector op kunt zetten. Het zou me niets verbazen dat dit printplaatje zo'n lage stroom heeft dat je de 5V en GND direct kunt aftappen van een 5V en GND pin op het moederbord. 🤣
  8. Bertus

    Philips P2000T

    De 64kb geheugenuitbreiding voor de P2000T is af en werkt als een zonnetje! Ik ben uiteindelijk op het volgende schema uitgekomen. (png is 2048x1447 pixels; hoop dat dit nu goed gaat qua uitlezen...) Ik heb nog een paar SMD ledjes toegevoegd aan het ontwerp zodat je de status van het bank register kunt 'uitlezen'. Deze hoef je op de printplaat natuurlijk niet erop te zetten als je dat niet wilt. De PCB sluit je aan op de expansion header die zich achter de cartridge slots bevindt. De 5V en GND haal ik van de voeding PCB af. Voor een impressie, zie onderstaande afbeeldingen. Ik heb ook een simpele RAM tester utility geschreven. Deze toetst het RAM boven 0x6200 en test ook de bank switching. (als je op onderstaand plaatje klikt wordt je naar een YouTube filmpje verwezen). Als mensen geïnteresseerd zijn om te testen, laat me even weten! Ik heb nog 1 lege printplaat over als je zelf alle componenten in huis hebt en nog 1 met alle componenten erop. Als er veel interesse is kan ik weer een batch aan printplaten bestellen. Je kunt ook zelf bestellen; alle ontwerpbestanden zijn op onderstaande Github repository te vinden. https://github.com/ifilot/p2000t-ram-expansion-board
  9. Bertus

    Philips P2000T

    Duidelijk! Maar dat wordt gelukkig netjes afgehandeld door die splittape tool. 🙂
  10. Bertus

    Philips P2000T

    Ik denk dat ik dan het proces van inladen dan nog niet helemaal snap. Welk stukje van de header is dan problematisch? Bij mijn beste weten werkt het als volgt: $0032-$0033 en $0034-$0035 zijn inderdaad allebei niet deelbaar door 1280, maar dat hoeft toch ook niet? Het BASIC programma stopt gewoon op een bepaalde geheugenlocatie ($6547 + bestandsgrootte) en dat wordt weggeschreven in $6405, $6407, $6409. Hoeveel 'blokken' van 0x400 bytes er ingeladen worden (dus exclusief die 0x100 aan headerdata) wordt bepaald door het getal op $004F.
  11. Bertus

    Philips P2000T

    Staat er, afgezien van de "bogus data", dan iets fout in? (weet niet of je de aanwezigheid van de bogus data corrupt noemt) De recnums staan goed en bestandsgrootte is ook in orde. Ik kan beide .cas bestanden gewoon inladen en ze draaien zover ik kan zien prima. Ik kan bevestigen dat je een P2000T met meer dan 16kb geheugen nodig hebt, anders draaien ze inderdaad niet.
  12. Bertus

    Philips P2000T

    Dat vroeg ik me onlangs nog af: waarvoor is die jumper precies?
  13. Bertus

    Philips P2000T

    Laat ons vooral horen hoe die retrotechnologie ontvangen wordt door de huidige in technologie gemarineerde scholier. Het mooie aan die oude systemen is dat je ze nog redelijk goed kunt begrijpen op signaalniveau. Ik denk dat dat heel leerzaam kan zijn, vooral aan die scholieren die verder willen in electrotechniek of informatica.
  14. Bertus

    Philips P2000T

    Maar zou dat niet raar zijn? Jouw P2000T draait toch net zo goed op 2.5 Mhz? Doet dat MiniWare bord nog iets met de monitor-routines wellicht? Laten we eens kijken wat het geeft inderdaad bij een 64k uitbreiding. Als het allemaal netjes lineair schaalt (en ik de tijd voor het bank-switching mag verwaarlozen) dan zou ik op ~2.3 seconden uit moeten komen voor de boot. Dat lijkt me nog te doen voor een eindgebruiker.
  15. Bertus

    Philips P2000T

    Was me nog niet opgevallen dat die boot-tijden langer zijn als je meer RAM had. Als je lang moet wachten op een boot is dat inderdaad minder prettig. Voor wat de vergelijking waard is: Ik kom zelf uit (via opname op 60 FPS) op ~0.9s voor de kale 16kb (14966 bytes vrij) en op ~1.6s voor de 48kb (39542 bytes vrij). Redelijk overeen met jouw bevindingen dus. Grofweg duurt die extra 32kb dus ~0.7s langer. Ik weet niet precies wat er exact onder de motorkap gebeurt, maar als er simpelweg een toets wordt gedaan waarin eerst data wordt weggeschreven en dan wordt gecontroleerd, dan zou een simpele (en toegegeven erg ruwe) berekening goed in de buurt komen van die 0.7 seconden. Stel dat je de data wegschrijft met een LDIR (16 t-states per byte) op 2.5 MHz , dan zit je op 0.21s. voor die operatie. Als ik dan een factor twee reken voor terug inlezen en controleren, kom ik al aardig in de buurt van die 0.7s.
  16. Bertus

    Philips P2000T

    Laat ik voorop stellen dat ik altijd veel ontzag heb voor de generatie aan electrotechnici en 'professionele hobbyisten' die met een gaatjesprint een eigenste computer in elkaar gezet hebben toen de CPUs eindelijk betaalbaar werden. Ik ben van een latere generatie die verwend was met PCB printfabs waar je ten hoogste een trace moest wegkrassen en een nieuw lijntje met enameldraad moest aanleggen. Waarom die 5: dat is de minimale afname. Gezien de verhouding tot printkosten en verzendkosten is het aantrekkelijker om met een dergelijke afname te werken. Ik heb zelf hele goede ervaringen met die printhuizen en nooit een defecte PCB gehad, maar ze spreken zelf wel uit dat je er 5 krijgt voor het geval eentje een fabrieksfout bevat. Ik ben er dan nog steeds niet helemaal uit wat nu precies het probleem is. Is het lettertype simpelweg te klein? Hebben andere mensen op dit forum er ook problemen mee? Ik lever het graag in een ander formaat aan, maar moet dan even weten waar het euvel zit. Super. Benieuwd naar je bevindingen. En dank voor de waarschuwing! Niet gezien. Ik ben een hobbyist en heb deze manier me aangeleerd op basis van andere schema's die ik op internet met KiCAD gezien heb. Zo zie ik de meeste gebruikers van die 'tag-labels' gebruiken i.p.v. line-kabels. Neem dus zeker niet mijn manier van schematekenen aan als evangelie. Wederom dank voor jouw verder rijkende kennis hierin! Mijn redenatie was gebaseerd zonder de monitor / bios in beschouwing te nemen. Als ik mag doorvragen: staat de bios wel toe om nog grotere geheugenuitbreidingen te hebben? Nu loopt de counter tot $05, maar is dat de bovenste limiet? (los van het feit dat er geen software is die dit ondersteunt)
  17. Bertus

    Philips P2000T

    Er gaat een spreekwoord rond in electronica in de trend van: "The best chip is the one you have in stock." 😉 Het voordeel om 74HC00 (NAND) te gebruiken is omdat het net zoals NOR een universele gate is. Je kunt er dus elke andere gate mee maken. Een inverter is beperkter, maar komt met het voordeel dat je er 6 op 1 chip hebt (74HC04) versus 4 voor een 74HC00. Bij een schema probeer ik het aantal chips te minimaliseren, maar wel bij de gangbare chips te blijven. Soms is er een voordeel door te inverteren met NAND gates omdat je die gates toevallig nog 'over' hebt in je schema. Hetzelfde geldt voor NOR gates. In het specifieke geval waar je naar refereert heb ik al een revisie gemaakt (zie mijn vorige post met .pdf en de .svg bestanden) en daar gebruik ik nu 1x74HC32 (4xOR), 1x74HC00 (4xNAND) en 1x74HC04 (6xNOT). Het kan best dat het nog eenvoudiger kan met mindere of andere chips, dus voel je vrij om mee te puzzelen! Om even het absurde op te zoeken: ik zou de 00, 04 en 32 nog kunnen vervangen voor bijvoorbeeld een EECPLD zoals de ATF16V8B-15PU omdat de timing niet heel kritisch is (de chip heeft een tpd van 15 us, wat genoeg zal zijn voor de P2000T), maar dat zou ik dan weer persoonlijk een brug te ver vinden. Die chip is niet eenvoudig en behoeft een flasher. Meestal proberen we binnen de 74' serie blijven en dan specifiek die chips die nog actief geproduceerd worden.
  18. Bertus

    Philips P2000T

    Als je de 688 en de tweede 62256 weglaat dan heb je een karige 24k uitbreiding. (Edit: dit klopt niet; zie bericht van cancom hieronder)
  19. Bertus

    Philips P2000T

    Vanaf wanneer moeten we ons gaan schamen? Enfin, nog een poging aan mijn zijde voor dit puzzelwerkje: Als A13 en A14 beiden niet hoog zijn, dan zit je op de eerste 16kb van chip 1. (CS1/=0; A14_1 = 0; A13_1=A14) Als A13 en A14 hoog zijn, dan zit je in banked geheugen ($E000-$FFFF). Wanneer S1 en S2 beiden laag zijn, dan zit je op het chip 1 (CS1/=0; A14_1 = 1; A13_1=S0), anders op chip 2 (CS2/=0). Op chip 2 kunnen we A13_2 = S0 en A14_2 = S2 zetten om 2-5 te mappen op 0-3. Goed punt; die andere poorten ga ik niet snel gebruiken. Echter zoals je al correct vermoedde: Die 688 zit op 41 cent en 4 extra boorgaatjes kost niets extra's want je betaalt tegenwoordig 1 euro per PCB (bij afname van 5) ongeacht het aantal gaatjes. Ik gebruik trouwens meestal THT componenten, tenzij ik echt geen plaats heb of heel erg veel zin heb om met mijn oude bankpasje soldeerpasta door een sjabloon te strijken. Ik zie geen instelling in Kicad om die resolutie aan te passen dus ik had een vector-PDF gemaakt en die met Photoshop omgezet naar een .png. In Photoshop gaf ik 300dpi aan en ik heb een .png van 3315 x 2265 pixels. Leek me groot genoeg, maar ik weet niet wat het forum doet met plaatjes. Misschien worden die weer gedownsampled? Zal ik .svg en .pdf eens proberen dan maar? Beide vectorformaten die je "oneindig" kunt inzoomen. Hoop dat dit goed voor je werkt. p2000t-ram-expansion-board.svg p2000t-ram-expansion-board.pdf
  20. Bertus

    Philips P2000T

    Zo gaan die dingen. 🙂 Terwijl ik beide schema's aan het bestuderen was kwam ik ook al op die conclusie uit. Ik heb een revisie gemaakt van mijn schema (en me laten inspireren door ook een 74HC158 te gebruiken). Ik kom hier op uit: Op basis van A14 toets je dus eerst of de adresbus tussen A000-DFFF zit. Indien zo, dan zit je in de eerste 16kb en moet A13 direct op de A13_1. Staat de adresbus op E000-FFFF, dan is A14 hoog en moeten we kijken of we op chip1 of op chip2 moeten zitten. Dan kan door S1 en S2 te toetsen. Als tenminste een van beide hoog is, dan zit je op chip 2, anders op chip 1. Op basis van die logica kun je een ~CS1 en ~CS2 signaal bouwen. Tenslotte moeten de adreslijnen A13_1, A14_1, A13_2 en A14_2 nog gekoppeld worden op A13, S0, S1, en S2, maar dat gaat allemaal via een enkele 74HC157. NB: Ik heb S0 en S2 respectievelijk op A13_2 en A14_2 gekoppeld via de HC157, maar dat is strict genomen niet nodig. @cancom Klopt mijn redenatie of zie ik nog iets over het hoofd?
  21. Bertus

    Philips P2000T

    Als het goed is zou de PDF een vector-afbeelding moeten bevatten, dus dan kun je zover inzoomen als je wilt. Voor de PNG heb je gelijk, daar moet ik even op de resolutie letten. Ik hoop dat ik het nu beter heb gedaan. (300 DPI, maar je moet wel nog steeds op het plaatje drukken om hem groot te maken) Goede vraag. Ik was onder de aanname dat die 40-pin expansion board header geen (stabiele) 5V had. Ik had mijn ontwerp gebaseerd op het ontwerp in de P2000GG nieuwsbrief (1-7; blz 58) en daarin haalde men alles vanaf het moederbord. Wat is die DISA (D in FSM) pin eigenlijk? Op basis van onderstaand diagram van de Z80 ging ik ervan uit dat eerst de adreslijn stabiel wordt gemaakt en dan pas het ~MREQ signaal wordt gegeven. We krijgen dus exclusief toegang tot de databus wanneer ~MREQ laag is. Op alle andere momenten zijn de chips inactief. De ~IOREQ timing ziet er overigens vergelijkbaar uit. Weinig chips gaat het hem sowieso niet worden, maar de chips zijn heel goedkoop tegenwoordig dus dat is niet echt een beperking. Onafhankelijk van jou had ik onderstaand diagram gebouwd, maar ik vind de bank logics via 3x74HC157 een heel stuk eleganter dan mijn oplossing met al die gates. Ik ga alles nog een keertje doorspitten en dan maar eens een proef-PCB'tje bestellen.
  22. Bertus

    Philips P2000T

    Ik dacht dat ik hem met voldoende resolutie had geëxporteerd. Je kunt op het plaatje klikken en dan wordt hij vergroot in je browser geopend. Desalniettemin: ik heb hier ook een download link voor de PDF welke je heel ver kunt inzoomen: https://www.dropbox.com/scl/fi/t6dhlmnuyb13zmxagfe9i/p2000t-ram-expansion-board.pdf?rlkey=ab8gcy0ecogt94enopx6it52r&dl=0 Ik hoop dat dat zo fijn voor je werkt. Je hebt helemaal gelijk dat die 62256 supergoedkoop zijn (2,14 euro per stuk). Wat zou je voorstel dan zijn qua schema als ik er twee zou gebruiken?
  23. Bertus

    Philips P2000T

    Ik ben me aan het verdiepen in het bouwen van een RAM expansion board met moderne chips. Op basis van het field-support manual kwam ik op het volgende schema uit (zie afbeelding). Naar ik heb begrepen zitten er op dit forum een paar befaamde componentenbouwers en ik zou graag hun input eens horen of dit schema zou kunnen werken. Samengevat: ik koppel een 32kb static ram chip op data en adrespoorten. Middels ~MRQ (memory request) en RAMS2 wordt deze chip uit de low-impedance modus gehaald via ~OE. ~RD en ~WR lijnen zijn direct op deze chip gekoppeld. De onderste 16kb zitten gekoppeld op 0xA000-0xDFFF. De bovenste 16kb moeten aangeboden worden via bank switching. De bank switch kan bepaald worden door een bit op D0 te schrijven naar poort 0x94. Dit laat ik via een flip-flop gebeuren, die 0x94 op de adresbus uitleest (via o.a. een dual quad-AND gate en 5 inverters) tezamen met ~IORQ. Dit geeft RAMSW als uitvoer. Door middel van een multiplexer (U6) wordt A13 vanuit de adresbus doorgeschakeld naar de ram chip als A14 laag is (wanneer je dus A000-DFFF benadert). Wanneer A14 hoog is (wanneer je dus E000-FFFF benadert), dan bepaalt RAMSW of je het laagste of hoogste 8kb segment van de bovenste 16kb op de RAM chip benadert.
  24. Bertus

    Philips P2000T

    @blanka Wat mij verteld werd was dat hij een aansluiting had gebouwd op zo'n LED lichtkrant. Ik weet er het fijne niet van, maar volgens werken die led-bakken met een simpel protocol dus het lijkt me niet onredelijk dat je dat aan kunt sturen met je P2000T. Ik was in de veronderstelling dat dat lichtkrant programma enkel een lichtkrant op het scherm projecteert.
  25. Bertus

    Philips P2000T

    Wat zie je dan precies? Ik heb het spelletje zelf zonder problemen kunnen spelen. Ik was zelf positief verrast dat het allemaal net past op een 16kb versie. Het spelletje neemt 14619 bytes in beslag en wordt geplaatst vanaf (ik gebruik even voor het gemak hex-notatie) 0x6547. Je vult dan alles van 0x6547 + 0x391B = 0x9E62. Je zit dus net onder de stack pagina en ik neem aan dat er ook nog variabelen ergens opgeslagen moeten worden.
×
×
  • Nieuwe aanmaken...