;**************************************************************************
;
; Filename : MAIN.ASM
; -------------------
;
; Main Modul für Jackophone Eprom 1 und 2
;
;
;
; Jackophone V5.00
; ----------------
; OBJ: $7000-$7FFF
;      $F000-$FFFF
;
;
;
; Assembler: AS65xx AMIGA Cross-Assembler V1.01, (c) 1989/90 by Thomas Lehmann
;
; Neuentwicklung Start : 12.02.1990
; Unterbrechung        : 19.05.1990
; Wiederaufnahme	   : 26.01.1991
; Softwarestand        : 22.03.1993
;
;
; ==================================================
; manuelles Multitasking am 01.02.1991 implementiert
; ==================================================
;
;
;
; (c) 1990/91 by:
; ---------------
; Thomas Lehmann
; Zedernstraße 36
; 4050 Mönchengladbach 2
; Tel.:02161/340012
;
;***************************************************************************


	; ***********************
	; Assembler Einstellungen
	; ***********************

	pro R65C02
	sernr TLS_B0001
	showsym f
	tabsize 3
	showpc $100

;===========================================================================



	; ************
	; Header Files
	; ************


	; Macros
	; ------
	include macros.d

	; Configuration
	; -------------
	include config.d

	; ACIA un Protokoll
	; -----------------
	include acia_tty.d

	; allgemeine Defines
	; ------------------
	include defs.d

	; Timer Defines
	; -------------
	include timer.d

	; Tastatur und LED Defines
	; ------------------------
	include tast_led.d

	; I/O Adressen
	; ------------
	include io.d

	; Display Defines
	; ---------------
	include display.d

	; RAM-Zuweisungen
	; ---------------
	include memory.d





; *****************************************************************************
;                          Programm Files für Eprom 1
; *****************************************************************************



	ifndef EPROM2

	*= EPR1_PAGE1	; Start Eprom1, Page1


	; Prg.-Version
	; ------------
	include version.tab
	include s1/version.asm

	; Main Routine
	; ------------
	include s1/main_task.asm

	; Initialisierung
	; ---------------
	include s1/init.asm

	; Interrupt Routine
	; -----------------
	include s1/irq.asm

	; LED Routinen
	; ------------
	include s1/led.asm

	; zyklisches Update der LED Matrix
	; --------------------------------
	include s1/led_update.asm

	; Display Handling
	; ----------------
	include s/display.asm

	; Tastaturabfrage
	; ---------------
	include s1/tast_abfr.asm

	; Programmverteiler für Tasten
	; ----------------------------
	include s1/tast_ausw.asm

	; Routinen für Funktions Tasten
	; -----------------------------
	include s1/funktast.asm

	; Wahl auf Leitung
	; ----------------
	include s1/wahl.asm

	; BTA Programm
	; ------------
	include s1/bta.asm

	; Tastenberechtigung
	; ------------------
	include s1/key_ber.asm

	; Leitungs Routinen
	; -----------------
	include s1/leitung.asm

	; Speicher Funktionen
	; -------------------
	include s1/speicher.asm

	; Kontroll Funktionen
	; -------------------
	include s1/kontrolle.asm

	; Notruf Funktionen
	; -----------------
	include s1/notruf.asm




HLP	set	*
_USED_E1P1 equ	HLP-EPR1_PAGE1	; benutzer Bereich in Eprom1, PAGE1

	*=  END_EPR1_P1		; Ende Eprom1, Page1
	*!= EPR1_PAGE2		; Startadr. Eprom1, Page2


	; Sprung nach Eprom 2, !! muß diese Adr. behalten
	; -----------------------------------------------
	include s1/epr2_jmp.asm




	; Anrufbeantworter und Postapparat
	; --------------------------------
	include s1/bea_post.asm

	; Software Watchdog
	; -----------------
	include s1/watchdog.asm

	; Namentasten Handling
	; --------------------
	include s1/namtast.asm

	; Setup
	; -----
	include s1/setup.asm

	; Ende Taste auswerten
	; --------------------
	include s1/key_ende.asm

	; Babyruf Funktionen
	; ------------------
	include s1/babyruf.asm

	; Relais ein/ausschalten
	; ----------------------
	include s1/relais.asm

	; Uhr Programm
	; ------------
	include s1/uhr.asm

	; Schlüsselschalter Routinen
	; --------------------------
	include s1/ss.asm

	; Anruf Routinen
	; --------------
	include s1/anruf.asm

	; Gebührenanzeige
	; ---------------
	include s1/gebuehren.asm

	; Hörtonauswertung
	; ----------------
	include s1/hoerton.asm

	; Summer Routinen
	; ---------------
	include s1/summer.asm

	; Termineinrichtung
	; -----------------
	include s1/termin.asm

	; Statistik Auswertung
	; --------------------
	include s1/statistik.asm

	; Löschtaste
	; ----------
	include s1/key_lösch.asm

	; Update Task für Ports, ...
	; --------------------------
	include s1/update.asm

	; GU Zustand einlesen
	; -------------------
	include s1/gu.asm

	; Utility Routinen
	; ----------------
	include s1/util.asm

	; Umrechnungs Routinen
	; --------------------
	include s/calculate.asm

	; Taskwechsler
	; ------------
	include s1/task.asm




HLP	set	*
_USED_E1P2 equ	HLP-EPR1_PAGE2		; benutzer Bereich in Eprom1, PAGE2



	; Reset und IRQ-Vektoren
	; ----------------------
	*= INIT_VEKT
	include s1/reset_vekt.asm


	endif				; Ende Eprom 1 Prg. Files





; *****************************************************************************
;                          Programm Files für Eprom 2
; *****************************************************************************





	ifdef EPROM2

	*= EPR2_PAGE1		; Start Eprom2, Page1


	; Kennung für Eprom2
	; ------------------
	include version.tab


	; Terminal Mode
	; -------------
	include s2/terminal.asm

	; ACIA 6551
	; ---------
	include s2/acia_6551.asm

	; Auswertg. der Cmd.`s von serieller Schnittstelle
	; ------------------------------------------------
	include s2/ext_cmd.asm

	; Telefonbuch
	; -----------
	include s2/telbuch.asm

	; Debugger
	; --------
	include s2/debug.asm





HLP	set	*
_USED_E2P1	equ	HLP-EPR2_PAGE1	; benutzer Bereich in PAGE1

	*=  END_EPR2_P1		; Ende Eprom 2, Page1 (Rest gefüllt)
	*!= EPR2_PAGE2		; Startadr. Eprom2, Page2


	; Sprung nach Eprom 1, !! muß diese Adr. behalten
	; -----------------------------------------------
	include s2/epr1_jmp.asm



	; ============================================
	; !! in beiden EPROMS vorhandene Funktionen !!
	; ============================================

	; Umrechnungs Routinen
	; --------------------
	include s/calculate.asm

	; Display Handling
	; ----------------
	include s/display.asm





HLP	set	*
_USED_E2P2	equ	HLP-EPR2_PAGE2	; benutzer Bereich in PAGE2


	*=  END_EPR2_P2		; Ende Eprom 2, Page2 (Rest gefüllt)


	endif




