Hallo Besucher, der Thread wurde 2,5k mal aufgerufen und enthält 14 Antworten

letzter Beitrag von colaholiker am

.prg zu .rom zum eeprom brennen, tool, hilfe?

  • Moin,


    ich suche ein Tool oder jemanden der helfen kann, aus einen .prg one file mit sys Aufruf ein 8k/16k eeprom .bin File zu machen, welches dann vom Modul aus gebrannt gestartet werden kann.
    Ich habe das Netz schon ziemlich viel durchforstet und mir auch einige FTP Seiten mit 264er Serie Tools angeschaut, aber nichts passendes gefunden.


    Für den C64 gibt es einiges, sogar ein Python Tool, welches ein Programm nach $8000 schiebt, einen ASM Header davor packt und dann beim booten es wieder in den (beim C16 $1000) bereich verschiebt und von dort aufruft.
    Sowas wäre genau etwas, was für die 264er Serie benötigt werden würde.


    Wozu das ganze?


    Wir wollen ein C16/116/Plus4 Modul bauen, welches z.B. einen Filebrowser für ein SD2IEC bereits eingebaut hat, so dass man beim einschalten sofort loslegen kann.


    Software dazu gibt es auch schon, das Modul ist auch quasi schon fertig, nur bekommen wir es nicht aufs Eeprom, so dass es auch booten kann.


    Kann hier jemand helfen oder hat / kennt jemand ein existierendes Tool?


    Danke und Gruß
    PhantombrainM

  • ich habe mal in den Büchern gestöbert, und folgendes gefunden:


    Die Modul-Reset-Routine befindet sich im Betriebssystem-ROM ab Adresse $FCIE.
    Dort passiert folgendes:
    Nacheinander werden die Module 15, 10,5 und 0 eingeschaltet. Dann wird im gerade
    aktiven Modul in den Adressen $8007 bis $8009 nach der Kennung »CBM« gesucht.


    Wenn diese Kennung vorhanden ist, wird aus dem Modul der Inhalt der Adresse
    $8006 gelesen. Der gelesene Wert ist die Modulkennzahl. Das BASIC-ROM hat die
    Kennzahl 0 und die eingebaute Software die Kennzahl $OC.
    Diese Kennzahl wird in einer Tabelle ($05EC bis $05EF) abgespeichert. Wenn nun
    diese Kennzahl den Wert 1 hat, wird das Modul gestartet, und somit kann also ein
    automatischer Modulstart, ein »Auto-Start«, erfolgen.


    Wir zeigen Ihnen nun einen Hexdump eines Auto-Start-Moduls.
    >8000 4C 0A 80 00 00 00 01 43
    >8008 42 4D .. .


    In $8000 steht der Sprungbefehl in das eigentliche Modulprogramm, in $8006 steht
    der Wert 1 für den Auto-Start und in $8007-$8009 stehen die ASCII-Werte für
    »CBM«. In $800A beginnt das Programm.


    ... ich bin mir nur nicht ganz sicher, in welchem Speicherbereich der C16 oder plus4 üblicherweise
    Programme lädt. In den Beispielen benutzen sie immer den Kassettenpuffer ab $801.
    Weiß das jemand?


    LG

  • ich habe mal in den Büchern gestöbert, und folgendes gefunden:


    ... ich bin mir nur nicht ganz sicher, in welchem Speicherbereich der C16 oder plus4 üblicherweise
    Programme lädt. In den Beispielen benutzen sie immer den Kassettenpuffer ab $801.
    Weiß das jemand?


    LG


    Hey Andre,


    danke für die Headerinfos, das habe ich gleich mal so weitergeleitet an die Softwareabteilung, da uns die Header nicht genau bekannt waren!


    Ich denke, man kann sich aussuchen, wo du etwas ablegen willst. Wenn man den Kassettenpuffer überschreibt würde danach bestimmt die Kassette nicht mehr funktionieren, nehme ich mal an?
    Das Programm was ich habe startet bei $100D und ist demnach also safe für den Kassettenpuffer. Allgemein fängt man wohl im $1000 bereich beim 264er an? Die meisten Spiele auch.


    VG
    Manuel

  • in vielen PRGs finde ich immer wieder an Adresse 0x000007 diese Parameter (siehe screenshot).
    Was hat das zu bedeuten - muss man hier vielleicht ansetzen?


    Das ist ein Teil des SYS Befehls und da das Basic bei $1000 (4096) anfängt ist das wohl Normal das die meisten nicht-Basic Programme mit SYS4XXX anfangen.

  • Gibt es für den Plus4 denn eine SJLoad-Routine wie für den C64 ?
    In dem Falle könnte ich das schonmal mit dem CBM-FileBrowser zu einem PRG kombinieren.
    Das wäre dann auch schön schnell für User ohne JiffyDOS .
    Dabei müßte man nur noch eine JiffyDOS- / Standard-Kernal Erkennung mit einbauen, dann würde immer ein passender Fastloader zur Verfügung stehen - NIE MEHR SLOWLOAD @C16/Plus4 :thumbsup: .


    Ich hab das bei meinem AMIGA-LOOK-Modul_16k so gemacht - zusätzlich auch noch mit Trackloader und Laufwerkserkennung. Das war aber auf dem C64 - mit 264'ern kenne ich mich leider nich so aus ....


    und wenn dann das PRG soweit läuft, ist es nur noch ein kleiner Schritt, das Ganze auf ein EPROM zu packen und ne kleine Kopier-Routine zu coden.
    Und wenn Du Deine Modulplatine so universell machst, daß es jedes beliebige PRG startet, dann wäre es auch noch für andere Anwendungen / User interessant .....

  • GI-Joe:
    Fratzengeballer war auf dem Treffen schon an einem Kopiertool von $8000 nach $1000 dran und sein Democode lief schon. Mehr ging nicht, da er sein Notebook nicht dabei hatte.
    Er will vermutlich daraus ein Tool machen, sagte er mir eben gerade, welches dann ein PRG wie beschrieben umwandelt. Das wäre dann wirklich für alle User interessant.


    Man könnte den Sysaufruf vom PRG ja abfragen und die Adresse entsprechend als Wert setzen, dann kopiert das tool das PRG vom ROM an die Adresse und startet es von dort.


    Frag Auspuff bitte einmal nach dem ROM File bezüglich Jiffy.
    Weil ich habe es wirklich nur als ROM vorliegen (6.01) und nicht als Datei. Ist allerdings nur ein normales Jiffy, kein S-Jiffy. Ist das wichtig?


    Da die Software aus Ungarn noch nicht fertig ist wäre es natürlich auch interessant, wenn es jeder "zusammenfügen" könnte, also Fastloader und Programm, so dass nicht du bei jeder Version es per Hand neu basteln müsstest.
    Dann hätte man bald ein Uniprom Modul für die 264er Serie :-)


    Ich habe so dass Gefühl, da kommt was ins Rollen ;)

  • Dann hätte man bald ein Uniprom Modul für die 264er Serie :-)

    na soweit würde ich noch nicht gehen ;)


    Man könnte den Sysaufruf vom PRG ja abfragen und die Adresse entsprechend als Wert setzen, dann kopiert das tool das PRG vom ROM an die Adresse und startet es von dort.

    ja, so in der Art und Weise kann man sowas machen - dann wird es irgendwann schön universell


    kein S-Jiffy. Ist das wichtig?

    was den Fastloader angeht - nö


    Da die Software aus Ungarn noch nicht fertig ist wäre es natürlich auch interessant, wenn es jeder "zusammenfügen" könnte, also Fastloader und Programm, so dass nicht du bei jeder Version es per Hand neu basteln müsstest.

    immer schööön Eins nach dem Anderen. Erstmal muß es einen Fastloader(z.B. SJ-Load for (C16/plus4)geben. Dann wird der Fastloader so modifiziert, daß er sich "installiert" und mit RTS beendet. So kann man ihn einfach per JSR aufrufen.

    Ich habe das beim AMIGA-LOOK-Modul u.a. so gelöst:

    0. Modul, VIC, I/O, RAM init (in Eurem Falle natürlich nicht VIC sondern TED)
    1. JSR Kernal_Check
    2. wenn JiffyDOS-Kernal erkannt wurde , springe zu 4.
    3. kopiere SJ-Load in den passenden Speicherbereich und starte es mit JSR SJLOAD
    4. Kopiere CBM-Filebrowser an die passende RAM-Adresse, schalte das Modul aus und starte den Filebrowser mit JMP FB_RAM_Start_ADRESS


    Ich habe so dass Gefühl, da kommt was ins Rollen ;)

    naja, meine 264'er Geh -Versuche beschränken sich auf Vice :kruecke:

  • GI-Joe:


    Wir werden Dich auf die dunkle Seite der 8-bit Commodore holen (buchstäblich sogar) :bgdev:bgdev:bgdev


    Zusammen können wir mit den 264ern über die Galaxis herrschen ... oder so ähnlich :beer:


    @Phantombrain:


    Dein Avatar - bzw. Profilbild macht mich total fusselig :drunk:

  • Hello,

    ich suche ein Tool oder jemanden


    was ich hier lese mit booten und so...


    Wirf mal das Wort "Modulgenerator" oben in das Suchfeld, sieh dir die Plus4-World- Hompage an und werd glücklich.
    Das Modul $05 ist übrigens der ROM im Computer (wo mit F1 gestartet wird). Find ich eleganter als draußen was ranzustecken.


    Hans

  • Wirf mal das Wort "Modulgenerator" oben in das Suchfeld, sieh dir die Plus4-World- Hompage an und werd glücklich.
    Das Modul $05 ist übrigens der ROM im Computer (wo mit F1 gestartet wird). Find ich eleganter als draußen was ranzustecken.


    Hallo,


    colaholiker: Wie genial ist DAS denn? ich wundere mich, dass ich das nicht selber gefunden habe ...


    :thanx:

  • Also bei mir geht die seite .


    Dort kannst Du ein d64- File mit Solders Modulgenerator laden. Das muß auf eine Diskette. Außer dem Modulgenerator enthält die Disk auch Dokus und einige Modulköpfe.
    Der Modulgenerator schreibt Daten auf diese Disk und lädt die M-Köpfe, läuft also nicht ohne Floppy. Er kann, muß aber nicht, mit der 256K- Erweiterung rödeln.
    Die Modulköpfe sind für ein Auswahlmenü ausgelegt. Damit kann z.B. ein Schnellader plus ein Filebrowser gestartet werden.


    Hans