3-D-Grafik
BLS-PASCAL Nr. 4
von MICHAEL BACH
Ich
erwähnte
schon 'mal, daß bei meinen Nascom 1 die in Pascal
enthaltene Tastatur-Routine nicht richtig geht. Inzwischen habe ich
erfahren, daß das auch bei anderen so ist. Deshalb sei die Abhilfe hier
genauer beschrieben: Bei 219CH (RAM-Version, EPROM: 0D19CH) steht 0FH
72H (=SCAL NIM), womit der Zeiger auf die "Input table"
geändert wird. An diesen beiden Adressen braucht man nur 0 einzutragen
und die Eingabe läuft über die normale Routine (die allerdings auch die
serielle Schnittstelle abfragt, aber das kann sogar von Vorteil sein.)
Die angegebenen Adressen sind möglicherweise bei neueren Versionen
anders, man findet's mit DEBUG aber leicht. Hat übrigens schon jemand
das Pascal disassembliert? Würde mich ganz außerordentlich
interessieren!
Inzwischen habe ich neben UCSD-Pascal auch Erfahrung mit dem Pascal MT+
für CP/M sammeln können: Am komfortabelsten ist die
Programmentwicklung mit unserem BLS/NAS-PAS! Bei sehr umfangreichen
Projekten gibt's natürlich Speicherprobleme, aber bei kleineren wird
die Programmentwicklung unheimlich dadurch beschleunigt, daß
Editor, Compiler, Quelltext, run-time library und Objektkode
gleichzeitig im Speicher sind.
Noch eine Nebenbemerkung zu meiner neuen Assembler-Grafik: Die
Titelzeile kann mitbenutzt werden, dadurch gewinnt man 3 Punkte in
Y-Richtung.
Nun zum heutigen Pascal-Programm: Ein dreidimensionales Gebilde (hier
ein Würfel) wird auf die Bildschirmfläche projiziert; ein
Betrachtungswinkel wird geändert und wieder projiziert, wodurch eine
(ruckweise) Drehung zustande kommt. Als Spezialität (und deutliche
Verbesserung) besteht noch die Möglichkeit, einen Puffer für die
Bildschirmseite zu benutzen, in den der Würfel erst 'mal gezeichnet
wird; dann wird der Puffer "blitzartig" (mit einem
Maschinenprogramm das LDIR benutzt) zum Schirm kopiert; diese Methode
hat Herr Klement neulich als "Animation" in seinen Programm
"Swinghouse"
erwähnt. In der vorliegenden Form funktioniert
das nur mit der RAM-Version des Pascal, und zwar indem in der
Plotroutine der Bildschirm-Offset geändert wird. Am besten sollte die
Frage nach den Puffer erstmal nicht mit "J" beantwortet
werden. Näheres ersieht man aus dem Programm. Im
nächsten Journal
erfolgt dann eine Erweiterung dergestalt, daß nicht sichtbare Kanten
des Gegenstandes verdeckt werden ("hidden line elitmination").
| |

|