Crossdevelopment mit dem Turbo Chameleon ....
Suche
Index
FAQ
Kontakt
Zurück


Chameleon 64 USB-Transfer







In der heutigen Zeit werden C64-Programme sehr oft mit dem Cross-Assembler und dem PC geschrieben. Emulatoren wie der VICE können hierzu leicht für erste Lauftests verwendet werden.

Wenn man direkt für den Userport oder aus einem anderen Grund auf dem echten C64 ausführen möchte, kann man das Chameleon64 und dessen USB-Verbindung verwenden. Das Tool chacocmd, das sich im Release-Archiv befindet, transferiert vom PC zum C64 und vice versa.

Man muß dabei jedoch beachten, daß es sich um einen reinen Transfer handelt ! - Beim C64 werden keine Pointer gesetzt. Bei Basic-Programmen müssen diese dann von Hand nachgetragen werden. Oder man verwendet die Speicherkarte.



Einige Parameter:



chacocmd --addr 0x$hexadr --writemem $prgname ; sendet eine Datei zum C64



chacocmd --addr 0x07ff --writemem meinpro.prg ; sendet ein Programm an $0801 (Basic-Start) inklusive der 2 Byte Start-Adresse









gEDIT füttert das Chameleon per USB (Linux)



Für Programmierer die den ACME-Assembler und gEDIT verwenden, ist hier noch eine kleine Transferhilfe per Hotkey "Strg+t".

Folgende Einstellungen müssen unter gEDIT vorgenommen werden:





1. Unter Einstellungen -> Plugins -> Externe Werkzeuge aktivieren

2. Danach Werkzeuge -> Manage External Tools -> "+"





Bild





Hier nochmal das gleiche bash-Script zum Mitnehmen:





#!/bin/sh
clear
acme $GEDIT_CURRENT_DOCUMENT_DIR/$GEDIT_CURRENT_DOCUMENT_NAME
QUELLE=$GEDIT_CURRENT_DOCUMENT_DIR/$GEDIT_CURRENT_DOCUMENT_NAME;
ZIEL=`grep '!to' $QUELLE | sed 's:.*"(.*)".*:1:'`;
MEM=`grep -m 1 '*=' $QUELLE`;
TC64MEM=`expr substr $MEM 4 4`;
chacocmd --addr  0x$TC64MEM --writemem $GEDIT_CURRENT_DOCUMENT_DIR/$ZIEL






Dank an spider-j (Forum-64) für die Hilfe.



Es gibt zwei kleine Einschränkungen für das Script: Das Speicherziel muß im Source immer als *=$hex, also z.B *=$0800 angegeben werden. Und der Dateiname für das PRG darf keine Leerzeichen enthalten.

Hier noch ein kleines Programm zum Testen:

!to "machwas.prg",plain

*= $0801
!byte $0c,$08,$0a,$00,$9e,$32,$30,$36,$33,$00,$00,$00,$00
*=$080f

        inc $d020
        rts



Mit dem Parameter "plain" kompiliert ACME ohne die 2-Byte Startadresse.








Weitere nützliche Transfer-Parameter

chacocmd --addr 0x00c00000 --len 0x80000 --readmem georam512.img : transferiert 512kb aus der GEORAM zum PC.

chacocmd --addr 0x00c00000 --dumpmem : so holt man sich einen Dump für eine visuelle Kontrolle zum PC.

 

Letzte Änderung: 2019-01-04 09:50:03
  Rubrik:  C64
Rubriken-Übersicht
 226 Besucher online 

Valid XHTML 1.0 Transitional Valid CSS!