'       ***********************
'       *  Die Initialsierung *
'       ***********************
; Es ist sinnvoll, einmal nach dem Netz-Ein die grundsätzlichen
; Adressen, Konstanten und Variablen festzulegen.
; Das Modul dient nur dem Verständnis und ist so nicht lauffähig.
'==================== Beginn ===========================
120 MTOP=3FFFH                  ' nur bei akkugepuffertem RAM nötig
130 STRING 500,16               ' Platz für 39 Strings   16 Zeichen
140 GOSUB 10000                 ' Initialsierung
150 GOTO 1000                   ' Hauptmenu
; -----------------------------------------------------------------------
;                       Initialisierung
; -----------------------------------------------------------------------
; im Folgenden ein Beispiels-Initialisierung. Wichtig sind die Adressen
; ADR und ADEPRO, sowie die Zahl der Var. VARANZAHL
;
;Initialisierung des Displays
10000 INIT DISP                 ; Display initialisieren
10010 INIT INP,3                ; Eingabe von Fronttastatur 42TE
10015 INIT OUT,1                ; Ausgabe auf Display
10020 PUSH 12 : CALL 481EH      ; Cursor aus
; bei StepCon 10050 CLS:? CHR(5),  ; screen clear, Cursor aus
10060 P. "**** MOTRON ****"
10070 P. "*Steuersysteme *",
; --- Konstanten festlegen ----------------------------
10100 ADR=5000H                 ; Variablenspeicher im RAM
10110 ADEPRO=0C000H             ; Variablenspeicher im EEPROM
10115 VARANZAHL=9               ; Anzahl der gespeicherten Variablen
;jetzt nur beispielsweise: Belegung der großen Tastatur
10120 DEL=127                   ; ASC-Code der Del-Taste
10130 ENT=13                    ; ASC-Code der ENTER-Taste
10140 ESC=27                    ; ASC-Code der ESCAPE-Taste
10200 F1=ASC(I)                 ; Funktionstastencode
10210 F2=ASC(N)                 ; auf der Folientastatur
10220 F3=ASC(T)                 ;
10230 F4=ASC(,)                 ;
10240 F5=ASC(O)                 ;
10250 F6=ASC(U)                 ;
10260 BLANK=ASC(P)              ; Leertaste oberhalb enter
' bei der kleinen Tastatur
'##### ESC=ASC(U)               ; ASC-Code der esc-Taste, oben rechts
'##### F1=ASC(I)                ; Funktionstastencode
'##### F2=ASC(O)                ; auf der Folientastatur
' ------------ einige beispielhafte Konstanten definieren --------------
10270 $(0)="                "   ; nützlich, um 16-stell. Zeilen zu löschen
10280 ZW=5                      ; ......
10290 CONST(1)=2.6		; ......
10300 CONST(2)=5.0		; ......
10310 CONST(3)=3.15		; ......
10315 CONST(4)=7.3		; ......
; Eingang/Ausgang definieren
; Ein- und Ausgaenge sind hardwarespezifisch 
; also je nach Geraet verschieden
10320 A0=0                      ; Ausgang 0
10330 A1=1                      ; Ausgang 1
10340 A2=2                      ; Ausgang 2
10350 A3=3                      ; Ausgang 3
10360 A4=4                      ; Ausgang 4
10370 A5=5                      ; Ausgang 5
10380 A6=6                      ; Ausgang 6
10390 A7=7                      ; Ausgang 7
10400 A8=157                    ; Ausgang 8
10410 END0=0                    ; Endschalter 1
10420 END1=4                    ; Endschalter 2
10430 STRG=5                    ; Eingang "Störung Endstufe"
10440 E0=8                      ; Eingang 0
10450 E1=9                      ; Eingang 1
10460 E2=10                     ; Eingang 2
10470 E3=11                     ; Eingang 3
10480 E4=12                     ; Eingang 4
10490 E5=13                     ; Eingang 5
10500 E6=14                     ; Eingang 6
10510 E7=15                     ; Eingang 7
10520 LEDR=159                  ; Leuchtdiode rot
10530 LEDG=158                  ; Leuchtdiode grün
; -- Daten aus dem Speicher holen ------------------------------
; siehe Modul Parameter speichern
10535 E=0
10540 PUSH VARANZ,ADEPRO        ; Uebergabedaten auf den Stack
10545 GOSUB 13500               ; lese die Systemdaten als gesamtes Feld ein
10550 CLS                       ; clear screen
10555 IF E=0 THEN ?"Speicher o.k.   " ELSE ?"Speicherfehler"
10555 IF E=0 THEN BITSET LEDG ELSE BITSET LEDR	; Front-Led ein
10570 RETURN
