Beiträge von tobiflex im Thema „Fragen zum C-One Intern“

    Hallo Dirk,

    Zitat

    1. Wie legt man bei der Entwicklung eines z.B VC 20 Core fest, welches ROM von der CF Card wohin geladen wird ?


    Ich habe jetzt die ganze Zeit rumgesucht wo ich das schonmal genau beschrieben habe - aber leider nichts gefunden. Dashalb von vorn:
    Das Verzeichnis /boot auf der CF enthält alle benötigten Datein für die Cores. Die Dateinamen bestimmen zu welchem Core ein File gehört und wohin es geladen werden soll.
    Standardfiles zu jedem Core sind:
    XFPGA.bin - Hardwarebeschreibung für den 1K100,
    Xdesc.txt - Text für das Auswahlmenue,
    Xdrive.bin - startet den 1K100,
    X steht für die gewünschte Konfiguration, hier muß also ein Zeichen von '0' bis '9' eingesetzt werden. Wenn der VC20 z.B. Config 3 sein soll lauten die Dateinamen:
    "3FPGA.bin", "3desc.txt", "3drive.bin".

    Außerdem gibt es noch die ROMfiles mit folgendem Aufbau:
    1. Stelle - Confignummer (0-9),
    2. Stelle - 'r' als ROMkennung,
    3-8. Stelle Speicheradresse in Hexadezimal,

    Da der Startuprisc nur das erste MByte anprechen kann ist die 3. Stelle üblicherweise '0'.
    Alle ROMs werden mit der kompletten Filelänge in den SIMM kopiert. Der Adressbereich 040000-05FFFF wird gleichzeitig in den SRAM auf der CPU-Karte gespiegelt. Der 1K100 kann nur auf diesen SRAM und das SDRAM zugreifen. Der SIMM ist für den 1K30. Damit ist auch gleich 3. beantwortet. Alle Cores nutzen den SRAM-Speicher auf der CPU-Karte. Der 65C816 ist bisher ungenutzt.
    Die VC20-ROMs mit den Namen "3r04c000.bin" und "3r04e000.bin" stehen also für den VC20 Core im SRAM bei Adresse 0C000 und 0E000.

    Zitat

    2. Wie kann man aus einem Core heraus ein Diskimage laden ?


    Mit F8 wird eine Routine im Startupcore aufgerufen und es kann ein DSK in den SIMM ab 000000 geladen werden. Im 1K30 läuft ständig eine FDC 765. Der CPC nutzt diesen "doofen" FDC mit eigener Software. Die FDC-EMU muß also wirklich nur einzelne Sektoren schreiben und lesen. Die Kommunikation zwischen 1K100 und dem FDC im 1K30 läuft über die GBridge. Dieses Zusammenspiel ist auf der C-One-Seite genau beschrieben.
    Beim VC20 und C64 muß die Floppy viel komplexere Befehle ausführen. Und hier liegt das Problem. Der Startupcore müßte eine komplette 1541 ersetzen. Oder für den C64/VC20 muß jemand eine Software schreiben die direkt den FDC anspricht. Aber dann könnte man die CF auch direkt über das Symbiface(IDE-Controller im 1K30) nutzbar machen.

    Viele Grüße
    TobiFlex