80-Bus Journal

  

Mai 1983 · Ausgabe 5


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“).

Seite 6 von 28