reuplgin

Es gibt 69 Antworten in diesem Thema, welches 19.043 mal aufgerufen wurde. Der letzte Beitrag (22. März 2008 um 15:40) ist von hannenz.

  • Zitat

    Original von Oliver_A

    Es gibt einen Grund, warum ich die MMC64 Register auf die seltsamen Adressen $df10-$df13 gelegt habe. :)


    ja, gott sei lob und dank!!!!!

  • Zitat

    Original von hannenz
    x1541 ( cbmhardware: bitte checkt nochmal ob ihr sie richtige Version habt, evtl. nochmal das Archiv runterladen, wenn es dann trotzdem nicht gehen sollte, ist es was Ernstes!

    Ich habe auch die richtige Version. Meine Karte muesste FAT16 haben. 256MB SanDisk mit Win98 formatiert. Ansonsten funktionieren alle anderen Plugins.

    Das RAM-DOS funktioniert mit 1764 und 1750 einwandfrei. Nur beim Ausfuehren des Plugins friert es ein. Scheint entweder beim Starten oder vielleicht sogar beim Lesen der Dump-Datei zu geschehen. :nixwiss:

    Michael

    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. |

  • Also mein reuplgin.bin hat 7354 bytes und keinen Header :(

    Werde später nochmal ein 512er REU file und evtl. eine andere REU testen.

    Code: Floppy Fehlerkanal abfragen - Ausserdem kann ich bei "drive not ready" den I: und N: Befehl verwenden und notfalls den Kopf manuell zurĂĽckschieben. Und Finger weg vom Stepper!
    10 open1,8,15                   : rem 8 ist die Geräteadresse und das kann man bei Bedarf natürlich anpassen
    20 get#1,a$:?a$;:ifst<>64goto20 : rem Das CLOSE 1 am Ende kann man sich sparen, weil beim RUN automatisch ein CLOSE ALL ausgefĂĽhrt wird.
    RUN
  • Zitat

    Also mein reuplgin.bin hat 7354 bytes und keinen Header unglĂĽcklich


    ja, kann ich bestätigen, das ist dann die richtige Version.

    F****CK!
    Wieso nicht...?!

    Also grenzen wir mal bisschen ein: Es kommt ĂĽberhaupt keine Ausgabe...??!
    Friert sofort ein?
    D.h. das Problem liegt irgendwo in den Init-Routinen. Mit der REU u. den Dump-Files hat es dann nix zu tun, denn die REU-Erkenung (erster Zugriff) erfolgt erst nach der ersten Bildschirmausgabe, gaenauso werden die ersten Bytes aus dem File erst später gelesen...

    Ich hab Euch jettz mal ne kleine Debug Version gestrickt, die nach jedem Init-Aufruf die Rahmenfarbe ändert.

    weiss: Plugin wurde gestartet
    rot: Init erfolgreich beendet
    Cyan: Kernal erfolgreich initialisiert
    Purpur: openfile...

    so sieht das im Source Code aus...

    vielleicht bringt uns das weiter...?!

    ich musste die Datei umbenennen um sie hier hochzuladen, einfach wieder in reuplgin.bin umbenennen


    @Oliver_A: Kann es was damit zu tun haben, wo das Plugin in den Speicher lädt?! Meins lädt nämlich nach $801 und nicht etwa nach $c000 oder so... aber eigentlich dürfte das doch egal sein oder?

    Funktioniert es denn bei irgendjemandem bisher (ausser bei mir??)

  • Zitat

    Original von hannenz
    Also grenzen wir mal bisschen ein: Es kommt ĂĽberhaupt keine Ausgabe...??!
    Friert sofort ein?

    Erst sehe ich kurz ein paar weisse Rasterlinien durch den Border flitzen. Wie bei einem ueblichen Zugriff auf die Karte. Danach friert es ein.

    Vieleicht haengt es mit der verwendeten Karte zusammen ? - Ich habe nur zwei SanDisk 256MB.

    Zitat


    weiss: Plugin wurde gestartet
    rot: Init erfolgreich beendet
    Cyan: Kernal erfolgreich initialisiert
    Purpur: openfile...

    Prima, danke. Bei mir bleibt der Rahmen hellblau. Verhalten ist wie schon vorab beschrieben. Auch mit der Debug-Version. :/

    Michael

    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. |

  • oh - das heisst das plugin startet erst gar nicht.....
    also da kann ich nicht viel machen.... ??!?!?
    welche Bios Version sagtest du nochmal hast du?

  • Ich habe die aktuelle Bios-Version 1.10 . Wenn es schon bei zwei Leuten nicht funktioniert, duerfte das Problem sicher noch oefter auftreten.

    Vielleicht lassen sich die Routinen fuer den Zugriff auf alle Karten optimieren.

    Michael

    If we're evil or divine - we're the last in line. - Ronnie James Dio (1984) -
    Bitte melde dich an, um diesen Link zu sehen. | Bitte melde dich an, um diesen Link zu sehen. |

  • Bei mir ist es ĂĽbrigens genau das gleiche. Auch das debug plugin flimmert kurz (MMC BIOS sucht wohl die Datei) und dann friert es ein.

    Ich habe auch noch eine andere Karte verwendet eine 256MB SD Karte. Ăśbrigens die einzige bei der bei mir der MMC2IEC Bootloader lief, also die muss schon superkompatibel sein!

    @hannenz: ein .bin nach .txt umzubenennen halte ich für gewagt. ich glaube .prg wird vom Forum akzeptiert und ist wenigstens auch ein Binärformat :)

    Ansonsten ist fĂĽr eine Testversion auch immer die .alt extension gut (Plugin mit L-SHIFT starten), das musst Du dann halt kurz zippen. So muss man das "originale" Plugin nicht umbenennen :D

    Code: Floppy Fehlerkanal abfragen - Ausserdem kann ich bei "drive not ready" den I: und N: Befehl verwenden und notfalls den Kopf manuell zurĂĽckschieben. Und Finger weg vom Stepper!
    10 open1,8,15                   : rem 8 ist die Geräteadresse und das kann man bei Bedarf natürlich anpassen
    20 get#1,a$:?a$;:ifst<>64goto20 : rem Das CLOSE 1 am Ende kann man sich sparen, weil beim RUN automatisch ein CLOSE ALL ausgefĂĽhrt wird.
    RUN
  • Kurze Frage:
    Funktioniert das nur, wenn ich die REU direkt in das MMC einstöpsel und kann ich auch das plgin nutzen, wenn ich mittels einer Expansionsportweiche (CMD) alles zusammenbetreibe?
    Danke fĂĽr die Info.
    Jive

  • Zitat

    Originally posted by Jive
    Kurze Frage:
    Funktioniert das nur, wenn ich die REU direkt in das MMC einstöpsel und kann ich auch das plgin nutzen, wenn ich mittels einer Expansionsportweiche (CMD) alles zusammenbetreibe?
    Danke fĂĽr die Info.
    Jive

    kommt auf die Weiche an würde ich sagen. Die REU dekodiert den I/O Bereich nicht vollständig aus, und ich befürchte deswegen Konflikte mit den MMC64 Registern. Steckst Du die REU in das MMC ein, kann es sich darum kümmern, dass die REU nur Signale bekommt die für sie bestimmt sind.

    Code: Floppy Fehlerkanal abfragen - Ausserdem kann ich bei "drive not ready" den I: und N: Befehl verwenden und notfalls den Kopf manuell zurĂĽckschieben. Und Finger weg vom Stepper!
    10 open1,8,15                   : rem 8 ist die Geräteadresse und das kann man bei Bedarf natürlich anpassen
    20 get#1,a$:?a$;:ifst<>64goto20 : rem Das CLOSE 1 am Ende kann man sich sparen, weil beim RUN automatisch ein CLOSE ALL ausgefĂĽhrt wird.
    RUN
  • ja, funktioniert es denn _ĂĽberhaupt_ bei irgendjemandem...??!
    ich muss ehrlich sagen, dass ich da in der Sache im Moment nicht wirklich weiter weiss.... denn wenn das plugin noch nicht einmal startet, ja was soll ich denn da machen??!

    x1541: ist doch pups wie eine Datei endet.... alte DOS/ Windows Macke meiner Meinung nach, aus der Endung auf den Inhalt schliessen zu wollen ;)
    das mit Shift-L ist mir neu... kannst du mir dazu mehr erzählen, bitte??!

    @Oliver_A: Kannst du da in der Sache irgendwie weiterhelfen?! liegt das an den versch. Karten oder kann der Speicherbereich ein Rolle spielen, wohin das plugin lädt??! oder was kommt noch in Frage?!
    Ich kann auch gerne die Sourcen zur VerfĂĽgung stellen, wenn das jemandem weiterhilft.

  • Zitat

    Originally posted by hannenz
    x1541: ist doch pups wie eine Datei endet.... alte DOS/ Windows Macke meiner Meinung nach, aus der Endung auf den Inhalt schliessen zu wollen ;)
    das mit Shift-L ist mir neu... kannst du mir dazu mehr erzählen, bitte??!

    nein das ist ne Macke vom Webserver, der sagt ja dem Client ob er eine ASCII oder BIN Datei bekommt... Keine Ahnung wie das Forum das macht, aber eine Binärdatei als .txt umbenannt fürht sehr oft zu Grütze. passiert dir auch mit Unix ...

    Linke-Shift Taste drĂĽcken gibt es seit BIOS 1.09 glaub ich und dann wird eben (z.B.) reuplgin.alt ausgefĂĽhrt und nicht reuplgin.bin. Steht in OA's readme :)

    Code: Floppy Fehlerkanal abfragen - Ausserdem kann ich bei "drive not ready" den I: und N: Befehl verwenden und notfalls den Kopf manuell zurĂĽckschieben. Und Finger weg vom Stepper!
    10 open1,8,15                   : rem 8 ist die Geräteadresse und das kann man bei Bedarf natürlich anpassen
    20 get#1,a$:?a$;:ifst<>64goto20 : rem Das CLOSE 1 am Ende kann man sich sparen, weil beim RUN automatisch ein CLOSE ALL ausgefĂĽhrt wird.
    RUN
  • also da ich kein weiteres feedback mehr erhalten habe und noch nicht eine einzige RĂĽckmeldung, das das Plugin ĂĽberhaupt bei jemandem funktioniert ausser mir, nehme ich jetzt mal an, dass ich der einzig GlĂĽckliche bin, bei dem das Teil funktioniert - warum auch immer. Sorry, ich kann mir das absolut nicht erklären, da das Plugin ja noch nicht einmal startet, wofĂĽr ja mein Code wirklich nichts können kann, da er ja gar nicht ausgefĂĽhrt wird. Und wieso es ausgerechnet bei mir doch geht...???! Fragen ĂĽber Fragen - ich bin ĂĽberfragt.
    Ich hab inzwischen den Code so umgestrickt, dass eine Unterstützung für sämtliche abneren Speichererweitreungen sehr einfach ist. Man muss nur ein Modul schreiben, welches die Funktionen

    * get_ext_mem_size (liefert Grösse der Erweiterung in Kilobyte)
    * reset_ram_device (initialisierung und setzen der Zeiger auf Adresse 0)
    * stash_sector (schreibt 512 Bytes in die Erweiterung und zwar so, dass beim nächsten Aufruf die Zeiger entsprechend für den nächsten 512-Block gesetzt sind
    * fetch_sector (analog zu oben)
    * verify_sector (analog zu oben)

    implementiert, einen entsprechenden Eintrag im Makefile vornehmen und dann genĂĽgt ein

    Code
    make xxxplgin.bin


    und schon hat man sein Plugin fĂĽr seine Speichererweiterung. Wer will kann noch entspr. Sprites fĂĽr die Animation pixeln... werden auch automatisch eingebunden.
    Wie gesagt, ein GeoRam Modul hab ich mal geschrieben.
    Wenn da noch Interesse besteht, kann ich das ganze Sourcepaket mal uppen, im Moment mach ich noch ein bisschen "Aufräumarbeiten", Kommentiere das ganze ausführlich und letzter Schliff eben...

    Das ganze bringt natürlich nix, wenn das Plugin nachher nicht läuft, daher wäre ich froh, wenn da jemand helfen könnte bei der Fehlersuche (Oliver_A: !PLEASE HELP!)

    Andere Frage: Ist ĂĽberhaupt noch jemand an dem Plugin interessiert??!

  • Zitat

    Original von hannenz

    Andere Frage: Ist ĂĽberhaupt noch jemand an dem Plugin interessiert??!

    Hallo Hannez,

    ich hätte alle Voraussetzungen zu Hause (MMC und REU) und werde mir das Plugin am Abend mal ansehen.

    gruĂź,

    znarF

    Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.Bitte melde dich an, um diesen Link zu sehen.

  • also hier mal das komplette Paket:
    ich hab die sourcen so ausführlich wie möglich kommentiert und was man tun muss, um ein eigenes plugin für eine ander Speichererweiterung zu schreiben; das Makefile muss man eben dann noch um einen entsprechenden Eintrag erweitern.

    Man braucht ca65, ld65 und make.

    Implementiert sind REU und GEORAM, fĂĽr die beiden ist auch ein BIN im Stammverzeichnis vorkompiliert. GEO Plugin absolut ungetestet, da ich kein GeoRANM habe... evtl. muss man eben das Modul /georam/georam.s noch entspr. fixen.

    grab it Bitte melde dich an, um diesen Link zu sehen.

    ich fĂĽrchte leider nur, dass es wieder nirgends laufen wird, ausser bei mir.... :(

  • btw: kann es sein, dass das Verhalten (bug) mit der Filegrösse des Plugins zusammenhängt bzw. die Endadresse beim Laden einen bestimmten Wert ĂĽberschreitet...?!
    wollte für meine persönlichen Zwecke eben das REU Plugin erweitern, dabei liegt es jettzvon $801 - $57xx im Speicher und siehe da: ich hab genau das selbe Verhalten, wie von den anderen beschrieben: Border flasht kurz, dann totalfreeze. Plugin startet nicht.

    Meine Erklärungsversuche:
    a) Das Plugin ĂĽberschreibt beim Laden irgendwas wichtiges...???! dann wĂĽrde ich gern wissen, welche Speicherbereiche genau das Bios belegt/ benutzt.

    oder aber

    b) Die Bios-Routine die das Plugin lädt enthält einen Fehler, der erst bei grösseren files zum tragen kommt, z.Bsp. wird irgendwann der nächste Sektor falsch berechnet??! Ich meine mich sogar erinnern zu können, dass dies beim koalaplugin source von Oliver_A so war, bin mir aber nicht mehr sicher.... --> dann liegt der bug im Bios !!!
    ich hoffe es ist klar, was ich meine... irgendwie liegt das File aufgrund seiner Grösse so verteilt über die FAT Partition, dass irgendeine Berechnung mal schief geht, was bei kleineren Files (oder eben je nachdem, wie das file auf die Sektoren/ cluster verteilt ist) nicht weiter auffällt....

  • Die Bios Routinen funktionieren korrekt, da wird nix falsch berechnet. Du musst nur aufpassen, dass die Ladeadresse Deines Plugins ab $1000 liegt, und das Plugin beim Laden nicht den I/O Bereich ĂĽberschreibt. Ansonsten ĂĽberschreibst Du nämlich wichtige Datenstrukturen. ;)

    Ich hab momentan jedoch leider keine Zeit, Dir beim Bughunting zu helfen. :(

  • GeoRAM wird 100% in vice emuliert soweit ich weiss.
    Hab eines sonst hier aber kein MMC :)
    mmc2iec aber und ich habe das was Du da gecodest hast mal fuer tape programmiert.
    Ein 512KB dump auf tape hat knapp 20 Minuten gedauert - IM TurboTape-Format!!
    :) War mehr ne Spielerei.

    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.

  • Zitat

    Original von Oliver_A
    Die Bios Routinen funktionieren korrekt, da wird nix falsch berechnet. Du musst nur aufpassen, dass die Ladeadresse Deines Plugins ab $1000 liegt, und das Plugin beim Laden nicht den I/O Bereich ĂĽberschreibt.

    ja, das muss man wissen!!!!! (das mit $1000)
    also unter $1000 darf nix sein, ja?! komisch, mein plugin war schon uimmer bei $800 Ladeadresse.... war das dann Zufall dass es trotzdem funktionierte:.?!
    mit I/O meinst du $dxxx oder...?!
    danke fĂĽr die infos und sorry wenn ich dir auf den schlips getreten bin...;)

    enthusi: dass die georam von vice emuliert wird, weiss ich, hilft aber nicht viel...