erstellt am: 11 June 2020 aktualisiert am 11 June 2020

Commodore Cross-Entwicklung unter Windows XP

Mit den geeigneten Tools kann man unter Windows [XP] schnell Programme entwickeln und dank des VICE-Emulators auch gleich testen. So kommt man schnell zum Ergebnis.

Installieren

Folgende Programme werden benötigt, sie von der Homepage des jeweiligen Herstellers downloaden. Von npp die Zip-Version, nicht die mit dem Installer.

  • acme0.96.4-1win.zip von https://forum.emu64.net/acme/
  • WinVICE-3.1-x86.7z von https://vice-emu.sourceforge.io/windows.html
  • make-3.81.exe von http://gnuwin32.sourceforge.net/packages/make.htm
  • npp-7.8.7.bin.zip von https://notepad-plus-plus.org/downloads/v7.8.7/ (32-Bit-Version zip-Package nehmen)

So installieren: in c:\ einen ordner cbm anlegen Die Ordner mit den Programmen dorthin verschieben, und der Einfachheit halber in acme, make, npp und vice umbenenen. Achtung - bei Make braucht es das Programm make.exe und die 2 dlls. Siehe Bild. Man kanns natürlich auch ganz anders machen, ich habe mich jetzt mal für das entschieden. Diese Lösung hat den Vorteil, dass man dann ganz einfach das Verzeichnist c:\cbm zippen und auf einen anderen Rechner verschieben kann. Alle Einstellungen usw. sind dann erhalten. Man kann dieses Zipfile dann z. B. cbm-xdev-xtra-0.20.zip nennen und auf dem USB-Stick mitführen.

cbm-xdevel-install

Los gehts - einfaches Projekt Basic Boot

folgende 4 Dateien mit Notepad++ erstellen (oder einfach das zip mit allem unten Downloaden und entpacken).

constants.asm

;; Start of BASIC program
basic = $0801

;; Background color
bgcol = $d021

;; Border color
bocol = $d020

basic-boot.asm

; A BASIC booter, encodes `10 SYS <address>`.
; Macroified from http://www.pouet.net/topic.php?which=6541

!source "constants.asm"

!macro start_at .address {
  * = basic
  !byte $0c,$08,$00,$00,$9e
  !if .address >= 10000 { !byte 48 + ((.address / 10000) % 10) }
  !if .address >=  1000 { !byte 48 + ((.address /  1000) % 10) }
  !if .address >=   100 { !byte 48 + ((.address /   100) % 10) }
  !if .address >=    10 { !byte 48 + ((.address /    10) % 10) }
  !byte $30 + (.address % 10), $00, $00, $00
  * = .address
}

; A cooler example is to write
;
;   10 SYS <address>: REM <backspaces>Your comment
;
; When the user types LIST, he will just see
;
;   10 Your comment
;
; but still be able to run it.
; For this, see http://codebase64.org/doku.php?id=base:acme-macro-tut

index.asm

!source "basic-boot.asm"

+start_at $0900

; Set background and border to black
ldx #$00
stx bgcol
stx bocol

; Flicker border and background
.loop
  inc bgcol
  inc bocol
  jmp .loop

makefile

TARGETS :=  index
C1541 := c:\cbm\vice\c1541.exe
X64 := c:\cbm\vice\x64sc.exe

.PRECIOUS: %.d64

all: $(TARGETS)

%.prg: %.asm
	c:\cbm\acme\acme.exe --cpu 6510 --format cbm --outfile $@ $<

%.d64: %.prg
	$(C1541) -format foo,id d64 $@ -write $<

%: %.d64
	$(X64) $<

clean:
	rm -f $(TARGETS) *.prg *.d64

Das eigentliche Programm inst index.asm. Konstantendefinition sollte klar sein. Basic-Boot.asm generiert die SYS-Zeile, die das dahinter assemblierte Programm startet. Das Makefile ist die Steuerdatei für das ganze, um so mehr zu automatisieren. Braucht man nicht zwingend, wenn man eh nur eine Datei assemblieren will und alles mit include löst.

Download basic-boot.zip

Jetzt kann man make eingeben, das Programm wird übersetzt und im Vice gleich gestartet. Ich gebe es hier komplett mit dem Pfad ein. Aber man kann auch einfach path setzen:

path %PATH%;c:\cbm\make

cbm-make

Ausführen des Make-Kommandos direkt aus Notepad++

NppExec-Plugin installieren

  • folgendes von https://sourceforge.net/projects/npp-plugins/files/NppExec/ downloaden

NppExec_06RC3_dll.zip

Die Datei NppExec.dll aus dem Archiv in den Plugin-Folder der Notepad++-Installation kopieren, in diesem Fall

c:\cbm\npp\plugins

  • Notepad++ starten, dann das Plugin so installieren:
  • Settings -> Import -> Import plugin -> NppExec.dll auswählen und importieren. cbm-make
  • Notepad++ neu starten.

NppExec-Plugin konfigurieren

  • Starte Notepad++
  • F6 drücken, um das Execute-Fenster zu öffnen
  • die folgenden Kommandos eingeben:
    npp_save
    CD $(CURRENT_DIRECTORY)
    c:\cbm\make\make.exe
    

    cbm-make

  • Save klicken
  • Einen neuen Namen für das Skript eingeben (Bsp. “basic_boot”)
  • Gehe im Menü zu: Plugins -> Nppexec -> advanced options -> Menu Item
  • In der Combobox mit Namen ‘Associated Script’ das Script im Dropdown-Menu auswählen, Add/Modify auswählen und OK klicken.

cbm-make

  • Notepad++ neu starten
  • Gehe im Menü zu: Settings -> Shortcut mapper -> Plugins commands -> Skript-Name suchen (hier ganz unten!)
  • Skript-Name anklicken, gewünschten Shortcut definieren (F10), OK klicken cbm-make
  • Überprüfen, ob jetzt durch das drücken von F10 der Befehl auch wirklich ausgeführt wird

cbm-npp-execute

https://www.c64-wiki.de/wiki/ACME

https://csl.name/post/c64-coding/

https://vice-emu.sourceforge.io/

https://www.c64-wiki.de/wiki/C64_Crossdevelopment_unter_Windows_mit_Notepad%2B%2B