Forum: PC-Programmierung cpp -P -w -x assembler-with-cpp mit Windows 10


von Peter B. (funkheld)


Lesenswert?

Hallo, guten tag.
Ich möchte bitte unten das Programm compilieren mit cpp unter Win10
Was muss man bitte alles runterladen, damit ich eine "make" starten 
kann?

Bitte eine Hilfe, wo man dieses cpp und das Dazugehörige runterladen 
kann.
Wie funktioniert das Ganze unter Win10?

Danke.
Gruss

Die make :
---------------------------------------------
CPP := cpp -P -w -x assembler-with-cpp
BUILD_OPT :=
START_ADDR := 0x2000
ROM_ADDR := 0xA000
ROM_SIZE := 8192
SYSCONSTS := sysconsts.fs
ELECTIVES := assembler.fs autosave.fs debugger.fs dos.fs gameio.fs 
graphics.fs graphics-hires.fs graphics-usr.fs printer.fs sound.fs 
trig.fs vicrel.fs votrax.fs
EXAMPLES := demo.fs demo-graphics.fs
DATA_FILES := $(EXAMPLES) $(ELECTIVES) $(SYSCONSTS) $(EXTRA_SEQ)

.PHONY: all
all: vforth.rom vforth.d64

vforth.rom: vforth.fs system.fs
  $(CPP) $(BUILD_OPT:%=-D%) -DROM_TARGET $< | \
  python3 forth-compile.py -s $(ROM_ADDR) -a $(START_ADDR) -o $@ -
  [ $$(stat -c '%s' $@) -le $(ROM_SIZE) ]

vforth.prg: vforth.fs system.fs
  $(CPP) $(BUILD_OPT:%=-D%) $< | \
  python3 forth-compile.py -s $(START_ADDR) -S $(SYSCONSTS) -p -o $@ -

vforth.d64: vforth.prg vforth.rom loader $(DATA_FILES:%=%.cbm)
  c1541 -format vforth,vf d64 $@
  c1541 $@ -write $< -write vforth.rom -write loader
  c1541 $@ $(foreach e,$(DATA_FILES),-write $e.cbm $e,seq)

%.cbm: %
  expand $< | petcat -text -w2 -o $@

%: %.bas
  petcat -w2 -l 1201 -o $@ -- $<

.PHONY: clean
clean:
  rm -f vforth.prg vforth.rom loader vforth.d64 *.fs.cbm

.DELETE_ON_ERROR:
--------------------------------------------

: Bearbeitet durch User
von Jim M. (turboj)


Lesenswert?

Bei Win10 liefert M$ leider nix in der Richtung mit.

Am Besten ist derzeit MSYS2 (https://www.msys2.org/) allerdings ist der 
Installer nur ein stub, der installiert nur bash (MSYS2 shell) und die 
Paketverwaltung via pacman. Ich empfehle die 64-Bit Variante.

Wenn ich die aktuelle Anleitung richtig verstehe (jeweils in der MSYS 
Shell):
1
$ pacman -Syuu

Macht nach Installation die ersten Updates. Kann sein das man das 
mehrfach ausführen muss.


Die für GCC und Make notwendigen Pakete installiert man danach:
1
$ pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-make

Das sollte etliche abhängige Pakete mit installieren.

Ich sehe oben noch "phyton3" als Abhängigkeit. Das ist bei MSYS2:
1
$ pacman -S python


Für welche Zielplattform ist das gedacht? Obige Anleitung installiert 
den C-Compiler für Windows. Ich überblicke im Makefile nicht ob das der 
Host- oder der Target C++ Compiler sein soll.

Die Programme c1541 als C Compiler und petcat als Basic sind mir 
unbekannt. Falls Du die nicht hast, müsstest Du Tante Google bemühen.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Da Ganze ist wohl ein Forth-System für den C64, oder?

Folgende Pakete musst du installieren, falls noch nicht getan:

- Mingw-w64
  http://mingw-w64.org/doku.php
  -> make, cpp, expand, rm

- VICE
  http://vice-emu.sourceforge.net/
  -> c1541, petcat

- Python 3
  https://www.python.org/
  -> python3

Dann brauchst du noch folgende Dateien, die vermutlich aus derselben
Quelle wie auch das gepostete Makefile stammen:

sysconsts.fs, assembler.fs, autosave.fs, debugger.fs, dos.fs, gameio.fs
graphics.fs, graphics-hires.fs, graphics-usr.fs, printer.fs, sound.fs
trig.fs, vicrel.fs, votrax.fs, demo.fs, demo-graphics.fs, vforth.fs,
system.fs, forth-compile.py

Viel Spaß damit :)

: Bearbeitet durch Moderator
von Vincent H. (vinci)


Lesenswert?

Für Windows 10 ist das "Windows Subsystem for Linux" (WSL) mittlerweile 
mit Sicherheit die bessere Wahl als Mingw und Konsorten:
https://docs.microsoft.com/en-us/windows/wsl/install-win10

von Peter B. (funkheld)


Lesenswert?

Danke für eure Info.

Gruss

von CppBert (Gast)


Lesenswert?

"VICE is provided with a complete stand-alone disk image maintenance 
utility, called c1541."
http://vice-emu.sourceforge.net/vice_13.html

"The petcat program is a text conversion utility, it can convert between 
ASCII, PETSCII and tokenized BASIC."
http://vice-emu.sourceforge.net/vice_15.html

und das andere ist wohl vforth for VIC
http://sleepingelephant.com/~sleeping/ipw-web/bulletin/bb/viewtopic.php?f=2&t=7557&start=75

Es macht wohl sinn das im Vice Forum/Mailinglist zu fragen:

https://sourceforge.net/p/vice-emu/mailman/

von cppbert3 (Gast)


Lesenswert?

Vforth download - last update vor 3 tagen

https://eden.mose.org.uk/download/ - source und d64 image
http://eden.mose.org.uk/vforth.git/ - source repo
https://eden.mose.org.uk/gitweb/?p=vforth.git

Da gibt es auch alle Kontaktdaten vom Autor

von cppbert3 (Gast)


Lesenswert?

Das makefile ist von dem repo, also frag einfach den Autor, der wird 
genau wissen was benoetigt wird

https://eden.mose.org.uk/gitweb/?p=vforth.git;a=blob;f=Makefile

von CppBert (Gast)


Lesenswert?

und cpp bedeutet nicht C++ Kompiler sondern "cpp - The C Preprocessor"

https://linux.die.net/man/1/cpp

den Rest scheint das Python Programm zu machen

von CppBert (Gast)


Lesenswert?

die Frage die bleibt ist: Warum verwendest du nicht die fertige d64 
Datei?

von CppBert (Gast)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.