Genie III Genieplus Card Reengineered

  • Nach den grundlegenden Durchbruechen zum Betrieb der Genieplus Card im SDLTRS Emulator Thread, habe ich mir in letzter Zeit dazu einige Gedanken gemacht.

    Und viele Sourcen durchgeschaut, was und wie die Karte vom Holte-CP/M unterstuetzt wird.


    Und soweit bin ich gekommen:

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    Die CF-Karte ist nur mal 'ne Idee den restlichen Platz zu nutzen.

  • Durchbruechen

    unterstuetzt

    Schöne Sache, aber hast Du eigentlich keine Umlaute auf der Tastatur? Oder ist das "aus Prinzip"? Die Lesbarkeit Deiner Beiträge wirkt dadurch reduziert.

  • eigentlich keine Umlaute auf der Tastatur?

    An meinem Arbeitsplatzrechner habe ich keine Umlaute.

    Am Laptop schon.

    Beim Programmieren (vornehmlich in C) braucht man oft [] {}. Da hab ich mir mal die Finger verstaucht. ;) Seitdem hab ich 'ne US Tastatur.

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Nach langer Zeit habe ich mir die Genieplus Card nochmal vorgenommen.

    Ich habe erstmal die Schaltung fuer das Banking des Zusatzspeichers aufgebaut.

    Die PCB-Groesse laesst sich kostenguenstig herstellen.

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    Ein Fehler ist mir schon aufgefallen, aber ich denke das bekommt man gefaedelt.

    JenGun , du hast doch die Geniecard im SDLTRS Emulator emuliert?

    Ich habe gerade das Problem, das wir im Genie3 das Banking von EPROM, Tastatur und VideoRAM haben und jetzt ein zusaetzliches RAM-Banking.

    Beides unabhaengig verstehe ich, aber gleichzeitig wird's schwierig.

    Kannst du mir deinen Emulator Code mal zeigen und erklaeren?

    Nachtrag:

    Hab's schon gefunden:

    src/trs_memory.c · master · Jens Guenther / SDLTRS · GitLab
    TRS-80 Model I/III/4/4P emulator SDLTRS/SDL2TRS focused on EACA, Prologica, TCS and other systems
    gitlab.com

    Zeile 762, case 0x23: /* EG 3200:<br>

    <br>

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Bits 0-2 von Port 28h wählen einen (von sechs) 64 KB-Block und Bit 3 dann die unteren bzw. oberen 32 KB davon:

    wenn auf Bank 0 (RAM) beim Genie III zugegriffen wird, erfolgt das "Banking" dann in den unteren 32 KB:

    Code: trs_memory.c
          /* Bank 0: RAM */
          if (address <= 0x7FFF) /* Low 32 KB for Genieplus Banking */
            return memory[address + bank_base];
          else
            return memory[address];

    ... im Holte-CP/M wird die "Bank-Nummer" angepasst:

    Code: cardsys.mac
    ;select memory bank:
    $SEL    EQU  28H        ;bank select port
    
    SWITCH: INC  A          ;adjust bank number
            SRL  A          ;upper or lower bank ?
            JR   NC,SWITC1  ;select lower bank
            SET  3,A        ;select upper bank
    SWITC1: OUT  ($SEL),A   ;select transfer bank
            RET

    die 384 KB der Genieplus Card stehen zusätzlich (zu den vorhandenen 64 KB) zur Verfügung ...

    Einmal editiert, zuletzt von JenGun (17. Juli 2024 um 16:34)

  • Nachdem ich den Schaltplan noch ein paar mal geaendert habe, habe ich die Platine bestueckt und die Aenderungen nachgefaedelt.

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.
    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    Die Tage habe ich mir das Boot-EPROM und das Diskimage besorgt (hier und dort).

    Nachdem die Genieplus natuerlich nicht sofort lief, habe ich wieder meinen LA angeschlossen.

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.

    Dann fehlte zu meiner Verwunderung das REFRSH Signal. Extender-Karte ist ok, auf der CPU-Platine geht's auf die Backplane, aber an der Genieplus kam's nicht an. Backplane kaputt?

    Also Draht auf die CPU-Platine geloetetund gemessen, Verbindung ist da. Refresh Signal mit LA gemessen, ok. :grübel:

    Halbe Stunde spaeter fehlte das Refresh schon wieder. Noch ein Draht angelotet (vor und hinter dem Buffer), gemessen, nach dem Treiber war's weg. Aber gerade war's doch gut. Also die Loetstellen nochmal neu gemacht, wieder alles ok. Vielleicht gab's da Haarrisse, wer weiss.

    Dann die Erleichterung, CPM 3 bootet.

    Der Inhalt kann nicht angezeigt werden, da du keine Berechtigung hast, diesen Inhalt zu sehen.
      :juchee:

    show m zeigt die RAM-Disk an.

    Nur das Tastaturlayout passt noch nicht. Aber das kriegen wir auch noch hin.

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • In KONFIG.COM -> Systemparameter -> Neue Tastatur auf N setzen und neu starten ...

    Ausser das der CRTC falsch oder gar nicht initialisiert wird und der Bildschirm dunkel wird, komme ich nicht weiter.

    Braucht man eine Grund-Konfig?

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Ausser das der CRTC falsch oder gar nicht initialisiert wird und der Bildschirm dunkel wird, komme ich nicht weiter.

    Braucht man eine Grund-Konfig?

    KONFIG.COM schreibt in die "System-Tracks": vielleicht wurde dabei etwas "beschädigt" ... im angehängten DMK ist die "alte Tastatur" eingeschaltet (bemerkt man auch in der Emulation) ... Änderungen mit KONFIG.COM sollten daher funktionieren ...