VolksForth icon indicating copy to clipboard operation
VolksForth copied to clipboard

Fehler Grafik-Demo auf Disk 4

Open cstrotm opened this issue 5 months ago • 6 comments

aus dem Fediverse von Wintermute_BBS:

Hallo nochmal, angeregt durch unseren letzten Austausch habe ich mir mal wieder #volksForth auf meinem #rc2014 aber auch auf meinem #C64 installiert.

Bei letzterem ist mir aufegfallen das die auf Diskette 4 enthaltene Grafik Demo ein paar Syntaxfehler enthält (vielleicht ist das aber schon bekannt?!):

Zum einen wird in screen &150 in der Definition von "RING" ein Wort "VIELECK" aufgerufen, es muss aber POLYGON heissen damit der Code lädt und funktioniert.

In screen &152 verwendet die Definition von "WORM" das wort "SCHNECKE", es muss aber "COIL" heissen. Zudem wird COIL hier erst nach dem Wort WORM definiert, was zu einem "Henne-Ei-Problem" führt. Ein Ändern der Reihenfolge der Definitionen in diesem Screen hat das Problem gelöst.

In screen &154 wird das Wort "HOUSEROW" verwendet, es muss aber "ROWOFHOUSES" heissen.

EDIT: in screen 147 gibt es einen Typo: das Wort "LINES" wird irrtümlich als "LINIES" definiert.

Mit den enstprechenden Änderungen lässt sich nun der Code laden und die einzelnen Demos ausführen. Hat halt meinen inneren "Monk" getriggert, das die Demo nicht wollte wie sie sollte ...

Bei Interesse lasse ich Dir gerne mein D64 Image mit den Änderungen zukommen.

cstrotm avatar Jun 16 '25 17:06 cstrotm

Moin, Wintermute_BBS bin dann wohl ich - anbei das D64 image mit den von mir o.g. Änderungen zum Grafik Demo.

Neben dem Grafik-Demo hat auch die Sprite-Demo ein Problem, hierfür habe ich noch keine Lösung. Hier gibt es zwar beim laden / kompilieren keinen Fehler, aber das Demo verlangt den Tasker. Ist dieser aber zusammen mit dem Assembler (egal ob Full oder Transient) geladen, bricht der Ladevorgang des Sprite Demos mit einem "Dictionary Full" ab.

vforth4_4.zip

WintermuteBBS avatar Jun 16 '25 18:06 WintermuteBBS

@WintermuteBBS Danke für die Diskette

für die Sprite-Demo: versuche einmal mehr Speicher freizuräumen, z.B. mit "1 buffers" direkt nach dem Start des UltraForth.

Siehe auch Seite 17 des Handbuchs "Anpassen der Speicherbelegung"

cstrotm avatar Jun 16 '25 18:06 cstrotm

@cstrotm Danke für den Tip mit den Buffers, muss ich nachher testen!

Nun bin ich auch noch dabei, die aktuelle Version 3.9.x "hinzubiegen" - das INCLUDE Wort ignoriert alles was über 173 Zeilen geht, das liegt an dem in vf-cbm-file.fth festgelegten Wert für die Konstante /tib. Nun ist 6502asm.fth und auch tracer.fth über 200 Zeilen lang. Das "beißt" sich also. Aktuell baue ich eine Version wo ich /tib auf 255 gesetzt habe. Mal sehen, ob das nun woanders einen negativen Impact hat.

EDIT: paar kleine Änderungen an den Skripten, welche VICE aufrufen hab ich auch noch gemacht da die aktuellen VICE Versionen leicht geänderte Optionen (z.B. für True Drive Emulation) nutzen.

WintermuteBBS avatar Jun 16 '25 19:06 WintermuteBBS

Moin, Wintermute_BBS bin dann wohl ich - anbei das D64 image mit den von mir o.g. Änderungen zum Grafik Demo.

Moin @WintermuteBBS, vielen Dankl für Deine Fixes; hab sie mit https://github.com/forth-ev/VolksForth/pull/54 eingepflegt.

pzembrod avatar Jun 22 '25 20:06 pzembrod

Nun bin ich auch noch dabei, die aktuelle Version 3.9.x "hinzubiegen" - das INCLUDE Wort ignoriert alles was über 173 Zeilen geht, das liegt an dem in vf-cbm-file.fth festgelegten Wert für die Konstante /tib.

Dieser Zusammenhang ist mir nicht klar. Warum führt /TIB dazu, daß ab Zeile 173 oder 174 alles ignoriert wird? /TIB hat doch nur mit Zeilenlänge zu tun, nicht mit Zeilenanzahl.

Außerdem liest INCLUDE problemlos die Sourcen des VF ein für den Targetcompile; die längste der Dateien, vf-cbm-core.fth, hat 2670 Zeilen.

In was für einem Setup siehst Du das Ignorieren ab Zeile 174?

EDIT: paar kleine Änderungen an den Skripten, welche VICE aufrufen hab ich auch noch gemacht da die aktuellen VICE Versionen leicht geänderte Optionen (z.B. für True Drive Emulation) nutzen.

Welche VICE-Version nutzt Du?

pzembrod avatar Jun 22 '25 21:06 pzembrod

@pzembrod ich nutze die aktuelle VICE Version. Und ja, /TIB war ein Irrtum meinerseits. Das Problem lag ebenfalls bei mir: ich hatte angenommen, das alle unter src/ befindlichen .FTH Dateien bei einem "make" ins PETSCII Format konvertiert werden, lt. Makefile betrifft dies aber nur die sourcen des Kernels (vf-xxxx.FTH und v4thxxxx.FTH).

Nachdem ich 6502ASM.FTH & Co. dann manuell konvertiert und auf das Disk Image gepackt habe hat INCLUDE diese auch sauber gelesen.

WintermuteBBS avatar Jun 23 '25 05:06 WintermuteBBS