-
Aantal items
107 -
Registratiedatum
-
Laatst bezocht
Inhoudstype
Profielen
Forums
Galerij
Kalender
Alles dat geplaatst werd door Bertus
-
Deze pagina's schieten mij te binnen. Wellicht is er meer, maar ik ben nog niet klaar met alles op het archief door te nemen. https://github.com/p2000t/documentation/blob/master/P2000gg/p2000ggnieuwsbrief1-7.pdf : blz 26 https://github.com/p2000t/documentation/blob/master/programming/Adresboekje.pdf : blz 66 en 67
-
Supermooi die lay-out! Hoe moet ik die rode 4-byte (?) blokken interpreteren? Dank voor die toelichting! Het is dus een soort van revisie door de gebruikersgemeenschap. Ik zal die informatie laten landen in de beschrijving van deze ROM in de PPP.
-
Grote dank! Deze cartridge is duidelijk meer gevuld dan de BASIC cartridge op PPP waardoor ik je eerdere opmerking snap die suggereert dat ik data aan het overschrijven ben. De BASICNL cartridge die bij mijn P2000T zat was de BASICNL1.1 versie waarin "RobRob83" in de header staat (ik vermoed refererend naar Rob van der Heij en Rob van Ommering) die wel nog enige ruimte heeft. Dit is ook de versie die op PPP staat. @cancom Heb je eventueel wat meer achtergrond informatie hoe de verschillende versies zich tot elkaar verhouden? Welke aanpassingen zijn er bijvoorbeeld gedaan en wat is het jaar van uitgave? En puur uit interesse: is er naast deze versie ook nog een A1 dan? Ik zal in ieder geval aangeven in mijn aangepaste cartridge dat dit een iteratie is gebaseerd op BASICNL1.1 omdat deze voldoende vrije ruimte heeft om een aanpassing te doen maar dat deze dus afwijkt van de BASICNL1.1A2 variant. @dionoid Ik heb een pull request ingeschoten op Github met de BASICNL1.0 en de BASICNL1.1A2 cartridges om de repository verder aan te vullen.
-
Zoals jullie weten heb ik enkele hardware projectjes rondom de P2000 opgezet. Om meer uit die hardware te halen is het handig om een ROM flasher te hebben, maar op basis van de discussie in dit topic begrijp ik dat niet iedereen die heeft. Ik heb zelf een TL866ii, maar die zijn al meteen erg prijzig (rond de 100 euro). Je kunt natuurlijk je eigen flasher bouwen met een Arduino, een breadboard en wat shift registers, maar ik kan me indenken dat de drempel daarvoor ook nogal hoog is. (van de andere kant; het kan ook een heel leerzaam project zijn) Vooral voor diegenen die nog geen ROM flasher hebben: heeft het een meerwaarde voor jullie om een gebruiksvriendelijke en goedkope flasher te hebben? Ik heb een redelijk ver ontwikkeld prototype op basis van een Raspberry PICO (zie afbeeldingen) en met een relatief kleine investering aan mijn kant kan dat tot een mooi (open-source / open-hardware) product worden. Ik probeer met deze vraag een beetje te toetsen of daar behoefte aan is of dat er al wellicht goede (en vooral goedkope) alternatieven bestaan. Qua kostprijs voor het product wat ik voor ogen heb moet je denken aan ~20 euro (10-13 euro voor PCB + componenten, ~2 euro voor 3D casing, 5 euro verzendkosten). Laat vooral horen wat jullie ervan vinden! 🙂
-
Korte update van mijn kant: Ik heb de assembly code aangepast en nu wordt automatisch de top van het RAM geheugen bepaald op basis van de waarde in $605C. Ik heb de code getest op een 16kb en een 32kb P2000T met respectievelijk de programma's 4 op een rij.cas en koh-i-noor.cas. Dat blijkt beiden netjes te werken. Tevens heb ik de USR1 pointer op suggestie van @blanka veranderd van &H4EC7 naar &H4EEE om het typen verder te vereenvoudigen. Versie 0.2.0 van de ROM valt hier te downloaden: https://github.com/ifilot/p2000t-rs232-cartridge/releases/download/v0.2.0/BASIC-MODIFIED.bin Voor diegene die de zwart/oranje cartridge hebben; de 512kb image met daarin de rs232-loader op bank 18 (DIP: 10010) valt middels deze link te downloaden: https://github.com/ifilot/p2000t-rs232-cartridge/releases/download/v0.2.0/bundle.bin
-
Jazeker kan dat. Kwestie van deze ROM op een van de lege banks flashen. Je moet daarvoor wel de cartridge openschroeven en een ROM flasher hebben.
-
Dank @cancom voor (wederom) je kritische visie. Ik stel het op prijs. Ik zie inderdaad dat ik beperkt ben tot 15.5 kb programma's omdat ik het adres $9f00 gefixeerd heb in de code. Dat moet een 'dynamisch' adres worden gebaseerd op de capaciteit van de P2000T welke bepaald kan worden uit de waarde op $605C. Dat is inderdaad maar een paar extra regels assembly. Dank tevens voor het spotten van de typo, dat zou &HDDFF moeten zijn. ($6000 + 32 * $400 - $200 - 1 = $ddff) Het klopt dat ik er vanuit ga dat de ruimte in de BASIS NL1.1 cartridge boven $4EC7 leeg is. Alle cartridges die ik tot nu toe heb gezien hebben dit. Volgens mij is dit een redelijke aanname om te nemen, maar ik zie graag feiten die hier tegen spreken. Ik heb me verkeerd uitgedrukt in mijn voorgaande bericht. Ik bedoelde te zeggen dat ik aanpassingen had gemaakt in de opstartroutines van de BASIC NL cartridge. Ik heb het bericht aangepast. Je hebt uiteraard gelijk dat ik geen aanpassingen aan de BIOS moet gaan maken.
-
In mijn ontmoeting met @blanka werd benoemd dat het kopiëren van .CAS bestanden naar de P2000T nog redelijk omslachtig is omdat je een redelijke lange code in moet typen. Deze post op dit forum laat eigenlijk ook al zien dat het overtypen van zulke lange code, ondanks zeer nostalgisch, nogal foutgevoelig is. Ik heb daarom de code van @dionoid een klein beetje aangepast en aan het einde van de BASIC NL v1.1 ROM gezet. Hierdoor is de code teruggebracht naar slechts twee regels: 10 CLEAR 50,&H9DFF 20 DEF USR1=&H4EC7 Door deze twee regels te draaien met RUN en vervolgens de machinecode aan te roepen middels ?USR1(0) zet je de P2000T in de 'ontvangstmodus' en kun je het CAS bestand overzetten. Voor de geïnteresseerden: De ROM file van de aangepaste BASIC module staat hier: https://github.com/ifilot/p2000t-rs232-cartridge/releases/download/v0.1.3/BASIC-MODIFIED.bin De broncode valt hier te vinden: https://github.com/ifilot/p2000t-rs232-cartridge Als iemand een goed idee heeft om het aantal regels nog verder te reduceren hoor ik dat graag. Idealiter zou je de P2000T meteen willen opstarten in een soort ontvangstmodus zonder iets te typen. Ik heb geprobeerd om wat 'hooks/jumps' te plaatsen in de BASIC NL cartridge om hiermee handmatig de start- en eindpositie van BASIC en de pointer van USR1 aan te passen, maar tot nu toe zonder succes. Ik vermoed dat mijn insertie te vroeg is en dat de volgorde kritisch is. Ik weet echter niet wat een goede plek daarvoor is.
-
Ter aanvulling op voorgaande bericht. Voor eenieder die ook graag (non-invasief) dumps wil maken van P2000T cartridges; ik heb de hard- en software die ik ontworpen heb nu netjes gedocumenteerd op Github gezet: https://github.com/ifilot/p2000t-cartridge-reader.
-
Ik kan wel een ROM dump maken van die BASIC 1.0 cartridge. Blanka woont ook in 040-omgeving, dus we kunnen een keer een afspraak maken om dat te regelen; indien Blanka daarmee akkoord gaat natuurlijk. 🙂 Ghosthunt is inderdaad geen standaard Basic programma zover ik kan zien uit de CAS dus wellicht dat daarmee de methode over de kabel niet werkt. Wat je eens zou kunnen proberen is of je hem in het geheugen kunt zetten en dan naar een tape weg kunt schrijven en dan opnieuw proberen in te laden.
-
1. Je moet deze bestanden nog door een slicer halen voordat je ze kunt 3d-printen, maar voor de rest zijn ze kant-en-klaar. 2. Ik heb nooit een originele cartridge opengemaakt maar heb - zo goed als mogelijk - op basis van de schroefgaten gegokt waar de nokken zouden moeten zitten. Ik kan niet garanderen dat ze voor originele cartridges / printplaten geschikt zijn. Het klopt inderdaad om te stellen dat ze in principe ontworpen zijn voor mijn ontwerp PCBs en misschien werken ze ook voor de originele. Dat gezegd hebbende, een 3d-print is niet duur om te maken dus we kunnen een keer proefdraaien en dit simpelweg toetsen.
-
Er lopen nu twee topics parallel aan elkaar en ik reageer hier op beiden. @fjalvingh en @Wijnand Ik was er ook tegenaan gelopen dat CARS1 en CARS2 omgedraaid in de FSM staan. Ik heb zelf een simpele SLOT1 cartridge ontworpen en heb mijn bevindingen gedocumenteerd. Wellicht dat dit van nut voor jullie kan zijn. Zie: https://www.philips-p2000t.nl/cartridges/basic-cartridge @RetroComputer I designed a very simple PCB that basically acts as an adapter between the P2000T cartridge and a Arduino Leonardo. No desoldering is required and the method is fully 'non-invasive'. I extensively tested it with my own cartridges. Do you by any chance have such a Arduino Leonardo? I am happy to ship a pre-soldered PCB to you in exchange for a readout of the ROM (of course to be shared with everyone). By the way: I am in the process of also putting all the required resources for this adapter board in my Github repository and documenting upon this as well, but that is work in progress (and unfortunately I have little free time as it is at the moment), but it is also upcoming.
-
Most likely the eproms are soldered in without any sockets. Anyway: No need to break it open and potentially desolder the eproms. If you by any chance have an Arduino Leonardo, I can send you an adapter board so that you can connect the cartridge to the Arduino and read out the ROM.
-
Het verhaal gestart door @demesmaeker krijgt nog een staartje wat ik graag met jullie wil delen. Eerder deze week had iemand uit Tsjechië mijn P2000T Multicartridge gekocht via Ebay en ik vroeg hoe hij dan aan een P2000T kwam. Mijn aanname inderdaad dat deze systemen voornamelijk in Nederland verkocht werden. Hij vertelde me dat hij deze had gekocht op Ebay bij precies het item waar eerder naar verwezen werd: de P2000T uit Oostenrijk (https://www.ebay.com/itm/275579436355). Hij heeft deze P2000T inmiddels in goede orde ontvangen en hij komt in een retrocomputer exhibitie terecht in Žatec (https://www.retrocomputer.cz/). Hij vertelde me dat hij erg dankbaar gebruik heeft kunnen maken van de RS232/USB en de Github pagina van @dionoid en het BAS2CAS programma van @demesmaeker. Lijkt me het mooiste compliment om te zien dat jullie ontwikkelingen door andere mensen gebruikt worden om daar iets moois van te maken! 🙂
-
Ik ben niet bekend met het systeem, maar het ziet er heel bare-metal uit waardoor je wellicht e.e.a. kunt reverse-engineeren. Hoe bedien je het systeem? (toetsenbord, parallelle poort?) Misschien kun je de machinecode van de monitor uitlezen en daarmee ontrafelen welke functies de monitor aanbiedt.
-
Fixed!
-
Heel mooi om te zien dat de P2000 weer leeft. 🙂 Om de vraag van Wijnand te beantwoorden; ik ben een 'systeem' aan het ontwikkelen waarmee je cassettes uit kunt lezen en op een ROM chipje kunt opslaan en aan een systeem waarmee je .BAS bestanden uit ROM chipjes in kunt laden in de BASIC omgeving. Om het allemaal kort samen te vatten: Ik heb een cartridge gemaakt voor Poort 2 waaraan je een kabel kunt hangen die op een ZIF socket uitkomt. Middels een tapereader die ik heb geschreven, welke weer via Poort 1 ingeladen wordt, kun je cassettes uitlezen en op een SST39SF040 rom chipje wegschrijven. (zie afbeeldingen voor een impressie) Je kunt de ROM chip uitlezen op je computer, maar daarvoor heb je dan wel een EEPROM programmer/lezer voor nodig. Ik vermoed dat veel van ons een XGecu of vergelijkbaar hebben. Ik ben nog met het idee aan het spelen om een simpel model te ontwikkelen rondom een Raspberry Pico om een goedkoop alternatief aan te kunnen bieden hier. Maar wellicht dat er al goedkope alternatieven zijn; ik heb niet zo'n goed overzicht daar. Wat ik nog moet maken (maar wel reeds een proof-of-concept versie van heb) is een modificatie van BASIC cartridge waarin een stukje code wordt ingeladen vanaf Poort 2 in het RAM geheugen dat vervolgens zo'n SST39SF040 rom chipje uitleest, de gebruiker een lijst van bestanden aanbiedt en dat de gebruiker dan een bestand naar keuze kan opstarten binnen die BASIC omgeving. Het idee van Wijnand om een RAM chipje op poort 1 te laden is in theorie geen slecht idee, maar daar zou je kritisch moeten kijken of dat haalbaar is voor een 'live' systeem. Als de P2000 aanstaat, dan deelt de RAM chip de adresbus en databus en ik kan me voorstellen als je dan wilt interacteren met die RAM chip vanuit de ESP, dat je dan bus-conflicten kunt triggeren. Je zou de interactie van de ESP met de RAM chip wellicht kunnen isoleren met de nodige multiplexers/buffers. Ander punt is dat de ESP (naar mijn beste weten) op 3.3V draait en de P2000 5V gebruikt voor de ROM chip. Je zou dus een bidirectorial voltage translator moeten gebruiken. Persoonlijk vond ik dit allemaal bij elkaar een erg complexe uitdaging en wilde ik dit benaderen met een (althans voor mij) simpeler alternatief. Sta uiteraard altijd open voor suggesties.
-
Heb je de 64 bits variant van de emulator uit de Github repository gehaald (https://github.com/p2000t/software/tree/master/emulators/m2000-win64)? Die zou in principe out-of-the-box moeten draaien, alleen moet je nog P2000ROM.bin vanuit een van de andere mappen naar de map met de m2000.exe kopiëren. Het kan zijn dat de emulator een foutmelding geeft die zo snel voorbij springt dat je deze niet uit kunt lezen. Wat je dan kunt doen is bijgevoegd run.bat bestand in dezelfde map als m2000.exe zetten en dan run.bat draaien. Aan het eind van het batch script staat een pause commando waardoor je terminal venster niet meteen verdwijnt. run.bat
-
Er wordt zo hard op ons ingehamerd met de slogan 'RTFM!' dat we die dingen naar bijna-evangelische status zijn gaan tillen. Ik denk dat dit een gezonde opfrisser is om altijd kritisch te blijven denken en waar nodig zelf een test uit te voeren. Mooie schakeling en tweemaal slim gebruikt gemaakt van de 74LS123. 🙂 Ga ik er zo inzetten met kleine aanpassing van de RC's zodat deze wat uniformer in het gehele design zijn. Hartelijk dank voor het delen. Mocht je het op prijs stellen dan stuur ik je het finale (fysieke) ontwerp toe als bedankje.
-
Dank Cancom. Dit is precies de reden waarom ik de kritische blik van anderen zo respecteer. Fijn dat je meedenkt. Op de silkscreen stond het label inderdaad nog verkeerd maar ik had de pennen op de print zelf (al vanaf het eerste design overigens) goed staan. Ik was gelukkig jouw opmerking op dit forum al tegenkomen en had in mijn PDF van de FSM al een notitie gemaakt dat de pennen omgedraaid zitten. De softreset is ook een goede suggestie. Interpreteer ik het goed dat het een kwestie is van ~NMI met GND te verbinden middels een debounce circuit zoals hier beschreven?
-
Klopt helemaal. Zoals je zelf al opmerkte valt dit op te lossen door een schakelaartje toe te voegen, hetgeen ik ook nog ga toevoegen aan dit design. Anderzijds is de combinatie van een hexswitch en een SST39SF020 natuurlijk wel weer heel elegant daar die flash rom juist 16x16kb aan data heeft.
-
Et voilà . Een modulair ontwerp: De opties (mutueel exclusief): Dipswitch op hoofdprintplaat Hexswitch op hoofdprintplaat Dipswitch op separate printplaat Hexswitch op separate printplaat Je kunt de plaatjes aan de zijkant afbreken (zijn voor de rest ook niet verbonden met de hoofdprintplaat) en bovenaan in de cartridge monteren. Ik heb twee van elk voor opties 3 en 4 zodat als je een foutje maakt in het solderen dat je nog een tweede kans hebt.
-
Ik vind het voorstel van Wijnand zeer fraai. Ik ben zelf een voorstander van modulariteit, dus ik ga de printplaat zowel dip-switch als hex encoder compatible maken! Keuze aan de eindgebruiker. Wordt vervolgd! 🙂
-
Weer een update van mijn kant. Ik heb een enclosure ontworpen voor de prototype PCB. Waar ik al voor gewaarschuwd was heb ik te weinig ruimte voor alle chips en dus moesten er wat openingen in de voorzijde gemaakt worden. Desalniettemin vind ik het geheel er helemaal niet zo slecht uitzien. Zie hieronder een korte fotocollectie. Voor de volgende revisie van de PCB en de enclosure heb ik al enkele stappen gemaakt en dit is wat ik in gedachten heb: * Alle component worden nu aan de achterzijde (A-zijde) van de printplaat geplaatst omdat daar (zoals eerder opgemerkt) meer ruimte zit. * Een opening aan de achterzijde laat de gebruiker toe de flash chip te wisselen zodat er relatief eenvoudig nieuwe roms op gezet kunnen worden. Hierdoor is een aparte interface niet nodig. Omdat de opening aan de achterzijde zit is deze uit het zicht wanneer de cartridge in de P2000T zit. * De dip switch komt bovenop de enclosure op de plek waar normaliter het label zit. Deze dip switch moet onder een hoek geplaatst worden t.o.v. van de hoofdprintplaat en daarom zit deze op een apart printplaatje. Dit printplaatje zal vervolgens met een zestal draden verbonden worden met de hoofdprintplaat. In de enclosure zitten uitsparingen waardoor deze losse printplaat solide bevestigd kan worden en niet gaat rammelen. * Mocht een gebruiker de dip switch om (esthetische) redenen liever niet bovenop willen, dan is er een alternatief ontwerp waarbij de dip switch midden op het de hoofdprintplaat zit en via een opening aan de voorzijde (B-zijde) van de enclosure te gebruiken is. Ter illustratie hieronder een zestal afbeeldingen van het (proef)ontwerp. Commentaar en kritiek worden altijd op prijs gesteld daar deze tot verbetering van het ontwerp leiden. 🙂
-
Uiteindelijk heb ik geen vervangend onderdeel kunnen vinden voor de originele schakelaar en heb ik een 'moderne' inbouwschakelaar erin gezet. Niet de meest elegante oplossing, maar het werkt uitstekend en deze schakelaars zijn bekend heel robuust te zijn.