Beiträge von Draco im Thema „C64 Eprom mit PC brennen, aber wie?“

    Also mit dem Batronix ist das kein Problem.

    Allerdings muss man beachten wo die Dateien her kommen, die man brennen will. Bei ROM Images (z.B. Kernal), die mit dem 64er geschrieben und dann auf den PC transferiert wurden, steht höchstwahrscheinlich noch die Startadresse vorne in der Datei, so dass sie 2 Bytes zu lang ist (z.B. 16386 statt 16384 für ein C64II Basic+Kernal oder 8194 statt 8192 für ein Kernal des alten C64). Die muss erst wieder entfernt werden. Das kann man mit einem Hexeditor o.ä. erledigen. Ich hab mir dafür allerdings ein kleines Java Programm geschrieben (siehe weiter unten). Das kann man wie folgt nutzen:

    javac c64topc.java (kompilieren)
    java -cp . c64topc c:/kernal.prg

    In diesem Beispiel wird aus dem kernal.prg eine eine Datei Kernal.prg.raw geschrieben, die die Loader-Adresse nicht mehr enthält. Die kannst Du dann brennen.

    Wegen Deiner anderen Fragen schaust Du am besten mal auf den Projektseiten zur jeweiligen Hardware nach, z.B.:

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

    Da ist doch eigentlich alles beschrieben.

    Viele Grüße,
    Sascha

    import java.util.*;
    import java.io.*;

    public class c64topc
    {
    public c64topc()
    {
    }
    public static void main(String[] args)
    {
    c64topc c64topc1 = new c64topc();
    c64topc1.convert(args[0]);
    }


    public void convert(String inName)
    {
    try
    {
    File f = new File(inName);
    long len = f.length();

    FileInputStream is = new FileInputStream(inName);
    FileOutputStream os = new FileOutputStream(inName+".raw");

    byte[] buffer = new byte[(int)len];
    is.read(buffer);

    os.write(buffer,2,(int)len-2);

    is.close();
    os.close();

    }
    catch (Exception x)
    {
    System.out.println("Exception x="+x);
    }
    }
    }