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.
Folgende Programme werden benötigt, sie von der Homepage des jeweiligen Herstellers downloaden. Von npp die Zip-Version, nicht die mit dem Installer.
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.
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.
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
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
npp_save
CD $(CURRENT_DIRECTORY)
c:\cbm\make\make.exe
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
Artikel erstellt am: 11 June 2020 , aktualisiert am 11 June 2020