Hallo Besucher, der Thread wurde 4,5k mal aufgerufen und enthält 24 Antworten

letzter Beitrag von plus4fan am

C128-Programm startet nicht mit der CFG...verzweiflung...BLACKJACK

  • Hmm... funktioniert bei mir nicht.


    Ich habe jetzt bei mir diese Config:


    Dieses ist die start.bat :
    cl65 -t c128 --config c128_4000.cfg test.c -o test.prg



    Hier die test.c :


    Programm wird sauber übersetzt.


    Habe den Vice-c128 gestartet.
    Dann "Load"test.prg",8
    Programm wird fehlerfrei geladen.


    Monitor gestartet:
    a 01000...usw
    ................


    Es erscheint alles wie hier im monitor:
    a 01000 ad 00 ff lda $ff00
    a 01003 48 pha
    a 01004 a9 0e lda #$0e
    a 01006 8d 00 ff sta $ff00
    a 01009 20 00 40 jsr $4000
    a 0100c 68 pla
    a 0100d 8d 00 ff sta $ff00
    a 01010 60 rts
    a 01011


    Danach "d 1000" eingegeben:
    es startet sich der Monitor...mein Programm nicht.


    Was habe ich hier falsch gemacht bzw nicht verstanden?


    danke.


    gruss

  • Warum willst du denn beim C128 ein Programm bei $1000 Ablegen. Die Adresse ist Problematisch da hier die Key Belegung ist.


    Ich würde das a 01004 a9 0e lda #$0e
    in a 01004 a9 3f lda #$3f


    ändern um in Rambank 0 zu kommen, mit 0x hast du Rambank 3, bzw. da nur 2 Rambänke eingebaut sin kommst du in Rambank 1. Bei xe hast du den I/O Bereich Eingeschaltet und mit xf ist er Ausgeschaltet.


    Ich würde nicht mit G1000 Starten sondern mit J1000, damit er nicht mit einem Break in Monitor springt sondern normal beendet.

  • Die geänderte Startroutine von Blackjack für den Monitor mit deinen Daten:


    a 01000 ad 00 ff lda $ff00
    a 01003 48 pha
    a 01004 a9 3f lda #$3f
    a 01006 8d 00 ff sta $ff00
    a 01009 20 00 40 jsr $4000
    a 0100c 68 pla
    a 0100d 8d 00 ff sta $ff00
    a 01010 60 rts
    a 01011


    Aber das Programm startet wieder in den Monitor mit J 1000.


    Es klappt nicht.
    Werde wohl deswegen den cc65 den Rücken kehren, schade.


    danke.


    gruss

  • Was soll er denn machen? diese Route macht nichts anderes als die Config sichern nach $4000 in Bank 0 zu Springen und wieder zurück. Wenn du auf $4000 kein Programm abgelegt hast, dann stößt er auf ein 00 BRK und Springt mit einem Break in Monitor. Ergänze doch mal mit:
    a 04000 a9 41 lda #$41
    a 04002 8d 00 04 sta $0400
    a 04005 60 rts


    Das sollte ein A in die linke obere Ecke des 40 Zeichen Bildschirm schreiben.

  • irgendwie lustig das noch niemand auf die scheinbar garnicht so naheliegende idee gekommen ist doch einfach mal zu disassemblieren bei $4000 und zu guckn ob da überhaupt der code steht den man da haben will.


    Doch, deshalb hab ich ja das Beispielprogramm Vorgeschlagen. Ich wollte ihn nur nicht vor den Kopf stoßen. Aber das hast du jetzt Nachgeholt.


  • Das Versteh ich nicht, es passen doch keine 8000 Byte auf den Screen. Kannst du mal ein Bild reinstellen?

  • Es werden die Bytes angezeigt die im Hiresmodus zu sehen sind und bei jedem Tastendruck flimmern irgendwelche darin.
    Wenn es mal in zwei Jahren laufen sollte , funktionieren vom C128 einpaar andere Sachen nicht.
    Ich lass die Finger davon, wenn solch eine einfache Configurationen schon so ein Chaos verursacht.
    Es lohnt sich nicht.


    danke.


    gruss

  • Arbeiten an 8 Bit Rechnern lohnen sich nicht, egal an welchem und schon gar nicht an Commodore. Wenn du wieder lust kriegst dann solltest du dich villeicht erst einmal näher mit der Hardware befassen, besonders mit der Speicherbelegung und dem Banking, sonst hast du nur Chaos.

  • besonders mit der Speicherbelegung und dem Banking, sonst hast du nur Chaos.


    Das ist es..., ich weiss auch nicht, was das ganze Zeugs in der CFG bedeutet, wann welches ROm/RAM gebraucht wird usw.
    Ich hatte am Wochenende mit Herrn Bassewitz Telefoniert, er konnte mir da auch nicht so weiterhelfen, weil er nur die Interna vom cc65 kennt aber nicht die Voraussetzungen für das Banking vom C128 und deren Reaktion.
    Und so wie ich sehe , haben sehr wenige den cc65 mit dem C128 im Einsatz.


    Am C64 macht der cc65 spass..., da klappt es auch mit der CFG..., weil die wenig Anspruch hat.


    gruss

  • besonders mit der Speicherbelegung und dem Banking, sonst hast du nur Chaos.


    Das ist es..., ich weiss auch nicht, was das ganze Zeugs in der CFG bedeutet, wann welches ROm/RAM gebraucht wird usw.
    Ich hatte am Wochenende mit Herrn Bassewitz Telefoniert, er konnte mir da auch nicht so weiterhelfen, weil er nur die Interna vom cc65 kennt aber nicht die Voraussetzungen für das Banking vom C128 und deren Reaktion.
    Und so wie ich sehe , haben sehr wenige den cc65 mit dem C128 im Einsatz.


    Oh, ich kenne Uz wohl acht Jahre, aber angerufen habe ich ihn noch nie.
    Er hat den Compiler an den C128 selbst anpasst, ich traue ihm viel zu ...
    Mein Tipp: ld65.sgml lesen