Jump to content

Bertus

Users
  • Content Count

    94
  • Joined

  • Last visited

About Bertus

  • Rank
    Breakout

Profiel

  • Geslacht
    Man
  • Locatie
    Eindhoven
  • Console
    C64

Profile Fields

  • Interesses
    C64, C128, NES, GB, P2000T

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Er is al genoeg desinformatie in de wereld, dus dank (wederom) voor je kritische blik. Ik heb e.e.a. aangepast op mijn pagina's. Je weet er duidelijk meer van: Wat zijn de redenen daarvoor? Heel fijn om dit te weten. Voor de huidige revisie van de SD-interface komt deze informatie helaas wat te laat, maar voor een volgende versie zal ik alles migreren naar I/O poort $40-$4F om de mutuele incompatibiliteit te vermijden. Voor nu voorzie ik alles van een 'waarschuwingssticker'.
  2. Ik snap die suggestie, alleen die informatie staat niet in de directory entries maar in de .CAS bestanden zelf. Dus dan moet je voor elk bestand dat je aantreft in de directory het bestand gaan openen en de cassette header gaan uitlezen. Dat zal het uitlezen van een directory gaan vertragen, maar wellicht dat dat geen probleem is. Ik ga kijken wat er te winnen valt hier.
  3. Ik heb nog een klein nieuwtje: het is me gelukt om een cartridge in elkaar te zetten waarmee je een SD-kaartje kunt uitlezen om zo .CAS bestanden vanuit de SD-kaart op te starten. Voor een beetje snelle data-overdracht heb ik een parallel <-> serieel circuitje gebouwd dat draait met een 16 MHz klokje zodat je tijdens elke instructie van de Z80 een byte kunt uitlezen vanaf de SD-kaart. Het alternatief was om het SPI signaal te bit-bangen, maar dat zou dan 8x langzamer zijn. Niet alle SD-kaartjes werken, alleen SD-kaartjes van het type SDHC en geformatteerd met een FAT32 bestan
  4. Ik ben niet de beheerder van het archief, maar ik zie ze graag in het archief verschijnen! Dank voor het noeste scanwerk!
  5. Kan er iets van een overzichtje gemaakt worden. Ik ben ook wel nieuwsgierig. Is het een idee dat we een tabelletje bouwen met daarin chassisnummer en bijvoorbeeld een MD5 of CRC16 checksum van de ROMs?
  6. Ja, klopt helemaal, maar dan met de kanttekening dat alleen de laagste byte van de adresbus gebruikt wordt. Je bestuurt dit met de IN en OUT instructies. Op blz 10 van deze Z80 datasheet tref je het tijdschema aan. Je kunt dan met een combinatie van de adresbus en de ~RD en ~WR signalen e.e.a. aansturen. Op deze manier wordt bijvoorbeeld een register aangestuurd voor de bank switching, maar ook de floppydrives werken met die I/O poort. Ik gebruik zelf bijvoorbeeld de I/O poort voor het uitlezen van een SD kaartje.
  7. Dank! Phase-encoding dus. Dat is ergens goed nieuws want dat valt makkelijker in software te converteren naar binair. Herkenbaar. En waarschijnlijk maak ik me er zelf onbewust ook soms schuldig aan. Dank voor je wijsheden wederom @cancom!
  8. Dit ziet eruit als frequentieverschuivingsmodulatie wat veel gebruikt werd voor het opslaan van data op tapes. Je kunt dit inderdaad in software demoduleren, maar ik ben niet bekend met makkelijke "drop-and-click" programma's hiervoor. Je zou eens een kijkje kunnen nemen in deze tutorial die het demodulatieproces in stapjes beschrijft: https://mightydevices.com/index.php/2019/08/decoding-fsk-transmission-recorded-by-rtl-sdr-dongle/ De auteur heeft de Python code op Github staan: https://github.com/MightyDevices/python-fsk-decoder
  9. Mijn kennis is extreem beperkt hier en dateert vanuit het MS-DOS tijdperk waarin e.e.a. al gestandardiseerd was. Deze kennis is ook erg roestig geworden... Als de floppydrive de Shugart-implementatie volgt - en ik weet niet of die al populair/breed geadopteerd was ten tijde van P2000 - dan zouden de oneven pinnen allemaal GND moeten zijn. Dit zowel op de controller als op de drive. Alle GND pinnen zijn met elkaar en met de GND op de voeding verbonden. Hiermee kun je de aansluiting van de kabel bepalen met minder pogingen dan het maximaal aantal permutaties tussen controll
  10. Eigenlijk wil ik vooral inclusief zijn naar de P2000T gebruikers die geen Nederlands spreken. Overigens is dat nog best een grote groep ben ik achter gekomen.
  11. Ik ben nu nieuwsgierig geworden. Waarom heb je in eerste instantie voor 1200 baud gekozen en wat bepaalt nu eigenlijk of hogere snelheden haalbaar en ook stabiel zijn? Zit die complexiteit bij het uitlijnen van de assembly instructies en het 'bit banging' van de seriƫle poort?
  12. SLOT1 en 2 zijn beiden niet gebufferd, dus wanneer dat je een cartridge inserteert terwijl de machine draait is het niet onaannemelijk dat de adres-, data- of een van de andere lijnen beinvloed gaat worden wat het lopende proces verstoort. Iets wat wellicht zou kunnen werken is het volgende: Je zou met een 'halt' instructie de Z80 in de 'suspend' mode kunnen zetten waarbij deze de adres- en databussen vrij geeft. De Z80 moet je dan weer laten ontwaken middels een interrupt op commando van de gebruiker. Je kunt daar niet het toetsenbord voor gebruiken want het uitlezen van het toets
  13. Dit kun je wel vinden in de P2000T handleiding, maar inderdaad niet in de vorm van een tutorial of iets dergelijks. Kort samengevat heeft de P2000T een videogeheugen wat door de Mullad SAA5050 teletekst chip uitgelezen wordt om een beeld te vormen. Je hebt een beeld van 25 regels met 40 karakters per regel. De scrollregisters even buiten beschouwing gelaten begint elke regel op geheugenadres $5000 + $50 * regelnummer, waarbij ik het teken $ gebruik om hexidecimale notatie aan te geven en ik de regelnummers tel vanaf 0. Kleuren stel je in door middel van omschakelkarakters. Deze staan benoemd i
  14. Ik heb destijds (inmiddels weer drie jaar geleden) deze twee gekocht: https://www.onlinekabelshop.nl/usb-naar-9-pins-serieel-rs-232-adapter-0-80-meter.html https://www.onlinekabelshop.nl/adapter-db25-m-db9-v.html Die werken voor mij zonder enige problemen. In de professionele omgeving gebruiken we deze kabels: https://nl.mouser.com/ProductDetail/FTDI/UT232R-200?qs=oAT38M%2F3lmGoOYMSry895Q%3D%3D Die hebben een gecertificeerde FTDI chip. Je betaalt dan wel een heel stuk meer.
  15. Je moet vooral @dionoid bedanken. Die heeft de code geschreven en het noeste werk gedaan om alles (specifiek de timing!) uit te pluizen. Om je vraag te beantwoorden: De snippet hierboven leest enkel een byte uit en zet deze in register A. Daarna retourneert deze routine. Met de byte in register A kun je zelf bepalen waar je het neer wilt zetten. Een voorbeeld hiervan tref je ook aan in de code. Hieronder nog een snippet: read_block: ld de, $400 ; 11 00 04 read_block_loop: call read_byte ; CD 00 9E ld (hl),a ; 77 inc hl
×
×
  • Create New...