Hufig gestellte Fragen zu NiliPascal (Elektor-Buch):

1) USR-Funktionen mssen mindestens einen Parameter vor der 
Funktionsnummer haben, z.B. a := usr ($1000,1).  Dabei steht die 
Funktionsnummer (wie auch bei ASM-Prozeduren) immer zuletzt. Beispiel
in ASM_PROC.PAS und USR.INC

2) Beim Download berprfen Sie bitte, da sich Code- und Datensegment 
des Download- Programms nicht mit dem Datensegment des 
Monitorprogramms berschneiden. Der MINIMONI.ASM erwartet externes RAM 
fr seinen eigenen Bedarf standardmig ab Adresse $8000. Dieser Wert 
kann aber  in der Datei MINIMONI.VAR verndert werden: 

.segment externram
.externram
.org h'8000	; hier ist evtl. eine andere RAM-Adresse einzutragen.

Danach ist MINIMONI neu zu assemblieren. Jedes NiliPascal-Programm 
bentigt externes RAM!  

3) Die Baudrate des Minimonitors kann bei Bedarf verndert werden. 
Dazu mu auch in MINIMONI.ASM der Reloadwert fr die Schnittstelle 
gendert und diese Datei neu assembliert werden. Bei Verwendung eines 
80535-Controllers mit 12 MHz kann der zustzliche Baudratengenerator 
verwendet werden. Im Prinzip sind folgende nderungen erforderlich: 

(Datei MINIMONI.ASM)		(neu:)
basic_start:			basic_start:         
	mov sp,#47			mov sp,#47        
	mov scon,#82			mov scon,#82        
	mov tmod,#32			orl pcon,#128 ; nur bei 9600 Baud        
	mov th1,#h'FD			setb $DF        
	setb tr1

(Datei FPASINIT.ASM)		(neu:)
pascal_initialize:		pascal_initialize:
$IFNDEF NO_STACK_SER	$IFNDEF NO_STACK_SER         
	mov sp,#$55			mov sp,#$55               
	mov scon,#82			mov scon,#82         
	mov tmod,#32			orl pcon,#128 ; nur bei 9600 Baud         
	mov th1,#BAUD		setb $DF
$IFDEF DOUBLEBAUD		$ENDIF         
	orl pcon,#128
$ENDIF         
	setb tr1            
$ENDIF

4) In NILISER.CFG kann eine Konfiguration fr NILISER.EXE angelegt 
werden. Mgliche Eintrge sind: BAUD=1200 (oder 2400, 4800, 19200; 
default 9600) COM=2 (oder 3, 4; default = 1, d.h. Schnittstelle COM1). 
Bei Verwendung von NILISER.EXE knnen u.U. Probleme auftreten bei 
Aufruf aus Windows, bei Belegung derselben Schnittstelle mit anderem 
Treiber, bei Verwendung von 16550 UARTs oder bei komprimierten 
Laufwerken. In diesem Fall verwenden Sie bitte ein anderes 
Terminalprogramm (z.B. Procomm, Sharewareversion) anstelle von 
NILISER.EXE. Es wurde darber berichtet, da die ersten 3-4 Zeichen 
jeder Zeile beim Download eines Programmes verlorengehen. Ich konnte 
diesen Fehler bisher nicht nachvollziehen und daher nicht beheben. Ich 
denke, da es sich dabei um Fehler in der Speicherzuordnung bei Hard- 
und Software handelt.

5) Als Registrierung wird nur die Original-Registrierkarte akzeptiert, 
keine (auch noch so geschickt angefertigten) Fotokopien.  

6) Gewerbliche Verwendung der Software wird ohne Aufpreis gestattet, 
wenn der Lizenzvertrag fr gewerbliche Benutzer mit uns abgeschlossen 
wird. Dieser Vertrag wird Ihnen auf Anforderung zugeschickt.  

7) Im Editor kann eine Datei durch Klicken der Maus auf das 
Schliefeld geschlossen werden, nicht durch die Tastatur Alt-F3 und 
auch nicht ber den Menbefehl.  

8) Die Schaltungen und Platinen des 80535-Compuboards wurden vom 
Elektor-Verlag entwickelt.  Die Platinen sind nicht bei mir 
erhltlich.  Auf Seite 182 mu an Pin 27 von IC3 die Adresse A14 
liegen und an Pin 12 von IC 3 A15. Das Platinenlayout stimmt aber 
meines Erachtens. Weitere Anfragen zur Hardware bitte an den Elektor 
Verlag, z.Hd. Herrn Dr. Seiwert.

9) Das Prinzip von Puffern z.B. fr die serielle Schnittstelle sind 
beschrieben in Ben-Ari, M.: Grundlagen der Parallel-programmierung, 
Mnchen 1985, ISBN 3-446-14155-3, S. 59-62 oder in Zilker, M.: Praxis 
des Multitasking, Mnchen 1987, ISBN 3-7723-8561-3, S. 50ff 

10) Die Tabelle auf Seite 102 ist etwas durcheinander geraten. Port 1 
liegt an Adresse $90 und Port 2 an $A0.  

11) Bei Ansteuerung von LCD und Matrixtastatur darf sich der 
Adrebereich von externem RAM und LCD natrlich nicht berschneiden.  

12) Anfragen ohne frankierten Rckumschlag knnen leider nicht 
beantwortet werden. Ebenso knnen keine individuellen Anpassungen an 
bestehende Soft- oder Hardware o.. vorgenommen werden.

13) Falls nach Installation der neuen Dateien die Programme nicht mehr
laufen, ersetzen Sie in FPASINIT.ASM das Label "pascal_start" jeweils 
durch "pascal_initialize". Dies ist bei NiliPascal 2.0 Versionen erforderlich, 
die vor Erscheinen des Elektor-Buchs erworben wurden.

14) Korrekturen in der vorliegenden Version 2.1
a) f803.asm zur Umwandlung von char-> string
b) @ (Adrefunktion) arbeitet auch mit Arrays, in diesem
   Fall *keinen* Index angeben
c) Editor kann Dateien bis insgesamt ca. 50KB laden. Falls 
   sich der Assembler oder Compiler mit "Zu wenig Speicher" 
   meldet, diese von der DOS-Kommandozeile aus starten.  
d) Die Dateien F1341.ASM F1342.ASM F1343.ASM F304.ASM 
   F305.ASM F306.ASM F1403.ASM F1202.ASM F403 enthalten Bug-Fixes.
e) Fenster im Editor schlieen funktioniert jetzt ohne Maus mit Alt-F3
f) NiliSer wurde fr Korrekturen im Quelltext beigefgt.


F1341: pop_dec_t fehlte in Versionen vor Elektor-Buch
F1342
F1343

F304: Interrupttest fehlte in Versionen vor Elektor-Buch
F305
F306

F1403: Texte "false" und "true" in englischer Runtime vertauscht

F1202: mov a,ex sonst wird Exponent bei Zahlen >= 10 nicht gesetzt
       anstatt mov ex,a

F403: mov r0,UNIT mov r1,#0 anstatt mov r2,UNIT mov r3,#0 damit ein
      0-Code am Stringende angefgt wird.
      char->String Funktion ist neu ab Version 2.1
