Hallo Besucher, der Thread wurde 7,5k mal aufgerufen und enthält 31 Antworten

letzter Beitrag von InsertDisk2 am

cartridge-modulprogram selber in asm proggen

  • Code
    1. eingabe
    2. lda $dc01
    3. and #$10 ; Space "Leertaste"
    4. bne eingabe


    Was kann denn daran so schwer sein ? - Wenn Du die Kernel-Routinen nicht verwenden kannst, benutzt Du einfach die Ports der Tastatur.
    $dc01 : CIA1 - PortB (PB4) - Bit4 ist dez./hex. #16/#$10 . Wenn Du nun eine andere Taste verwenden moechtest, musst Du Spalte/Reihe passend abfragen.


    Code
    1. and #00 ; 1
    2. and #01 ; DEL
    3. and #02 ; Control
    4. and #04 ; 2
    5. and #16 ; Space
    6. and #32 ; C=
    7. and #64 ; Q
    8. and #128 ; RUN/STOP


    Das steht ausfuehrlich auf der genannten Seite.


    Michael

  • Zitat

    Original von super_castle
    diese abfrage "jsr getin" geht doch im cartridgemodul nicht.


    Wieso das denn nicht? Ich habe dir doch extra die gesamte RESET-Prozedur geschickt, damit auch die Tastaturabfrage funktioniert.


    Nach dieser Initialisierung kannst du alle KERNAL-ROM-Routinen im Bereich $E3xx-$FFFF nutzen.


    Gruß,
    - Spiro.

  • Hallo,


    ich fleddere mal diese Leiche, um zu zeigen, dass ich schon ein bisschen gesucht habe, bevor ich dumm frage:


    Hier steht zwar, wie man einfache 8K-Cartridges programmiert. Wahrscheinlich gehen 16K auch ziemlich analog, aber bei den diversen CRT-Formaten, die die obskursten Banking-Mechanismen benutzen, hilft das dann nicht komplett weiter.


    Kennt Ihr irgendwo 'ne Doku, wie man die genau programmiert?


    http://ist.uwaterloo.ca/~schepers/formats/CRT.TXT kenne ich, aber da fehlt mir so einiges. ...


    Wie gut die jeweils mit MMC-Replay und 1541 Ultimate laufen, tät' mich auch interessieren. Also, ob die als CRT abgespielt werden, und auch, ob sie in die direkt zur Auswahl stehenden geflasht werden können.


    Also, so, wie ich das bisher gelesen habe, beschränkt sich die Schnittmenge von CRT-Format und dem, was ins MMCR geflasht werden kann, auf Cartridges, die das Mapping der Action-Replay verwenden, oder? Aber wie man dieses Mapping benutzt steht leider nirgendwo. (In obiger CRT-Doku ist genau die nicht so genau beschrieben wie viele andere.)


    Eigentlich hätte ich, um mir Bank-Switching zu sparen, gerne sowas wie das Comal-80-Format (4 Bänke mit je 16K gleichzeitig). Da finde ich aber nicht, ob das im MMCR und 1541U abgespielt, geschweige denn geflasht, werden kann.


    Schön wäre auch, wenn man gelegentlich, so wie es bei Simon's Basic beschrieben ist, die Hälfte einer 16K-Bank ausblenden kann, um mehr RAM zur Verfügung zu haben. Geht das irgendwie? Ja, OK, natürlich mit dem Simon's Basic-Format, aber das hat wieder nur 16K, ich meine jetzt zusammen mit mehreren alternativen Bänken. Quasi eine Kombination aus dem Simon's Basic- und dem Comal-80-Format.


    Grüße,
    hepta_sean

  • Zitat

    Eigentlich hätte ich, um mir Bank-Switching zu sparen, gerne sowas wie das Comal-80-Format (4 Bänke mit je 16K gleichzeitig). Da finde ich aber nicht, ob das im MMCR und 1541U abgespielt, geschweige denn geflasht, werden kann.


    Schön wäre auch, wenn man gelegentlich, so wie es bei Simon's Basic beschrieben ist, die Hälfte einer 16K-Bank ausblenden kann, um mehr RAM zur Verfügung zu haben. Geht das irgendwie? Ja, OK, natürlich mit dem Simon's Basic-Format, aber das hat wieder nur 16K, ich meine jetzt zusammen mit mehreren alternativen Bänken. Quasi eine Kombination aus dem Simon's Basic- und dem Comal-80-Format.


    der "super mapper" modus vom mmcr kann das.

  • *Ausgrab*


    Wenn ich die Beispiele hier versuche, dann sagt mir VICE: "Ungültiges Erweiterungsmodul Image"
    Ich versuche das .crt über das Menu "Datei -> Erweiterungsmodul einlegen... -> CRT Image..." zu starten.

  • *Ausgrab*


    Wenn ich die Beispiele hier versuche, dann sagt mir VICE: "Ungültiges Erweiterungsmodul Image"
    Ich versuche das .crt über das Menu "Datei -> Erweiterungsmodul einlegen... -> CRT Image..." zu starten.


    Wenn es lediglich der ROM-Inhalt ist und keine vollständige CRT-Datein, dann muss man schon die entsprechende Cartridge-Hardware auswählen. Oder aber vorher mit cartconv.exe (ist im WinVice Verzeichnis) die BIN-Datei in eine CRT-Datei konvertieren.

  • o.k.
    Wenn ich die obigen Beispiele nur compiliere und das .bin testen möchte, kann ich es in Vice unter Datei -> Erweiterungsmodul einlegen... -> Generisches 8kb Image.. einlegen?
    In dem Falle meldet er mir jedoch das selbe: Ungültiges Erweiterungsmodul Image



    Alternativ convertiere ich das .bin mit dem VICE Tool cartconv.exe. Was aber auch nicht wirklich funktioniert.





    Shell-Script
    1. Z:\C64StudioRelease\Modul64\Modul>Z:\WinVICE-2.4-x64\cartconv.exe -r -t prg -i m
    2. oduletest.bin -o moduletest.crt
    3. Warning: Can't load all banks of moduletest.bin
    4. Input file : moduletest.bin
    5. Output file : moduletest.crt
    6. Conversion from Generic Cartridge .crt to binary format successful.
  • Code
    1. cartconv.exe -r -t prg -i moduletest.bin -o moduletest.crt

    Das macht ja auch keinen Sinn. Wieso benutzt du cartconv, um eine BIN-Datei in eine PRG-Datei zu konvertieren?

    Stimmt, das war der letzte Versuch. Ich habe aber die anderen auch schon getestet und die haben auch nicht funktioniert.