mikrocontroller.net

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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Peter B. (funkheld)
Datum:

Bewertung
0 lesenswert
nicht 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
Autor: Jim M. (turboj)
Datum:

Bewertung
0 lesenswert
nicht 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):
$ 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:
$ 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:
$ 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.

Autor: Yalu X. (yalu) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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
Autor: Vincent H. (vinci)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Peter B. (funkheld)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für eure Info.

Gruss

Autor: CppBert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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/

Autor: cppbert3 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: cppbert3 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: CppBert (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: CppBert (Gast)
Datum:

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

Autor: CppBert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.