;:open4,4
;:sys36864
	;.opt p4
	*= 49152
; eurocheque-karten-lese-software
; nikolaus heusler
; XXXXXXXXXXXX  XX
; XXXX XXXXXXXX XX
; april 92
par	=2
chr	=3
byt	=4
ztr	=5
xmem	=6
; **** karte auslesen
sose	ldx #0
	stx $dd03	;alle leitungen eingang
	stx 2
	stx 3	;zaehler
cl1	lda 198
	beq cl01
	rts
cl01	lda $dd01
	bmi cl1	;auf clock warten
	inx
	and #64
	lsr
	lsr
	lsr
	lsr
	lsr
	lsr
	and #1
	sta 50000,x
	cpx #230
	bcs end
off	lda $dd01
	bpl off
	bmi cl1
; **** paritaet kontrollieren, werte anzeigen
end	ldx #10
such1	inx
	lda 50000,x
	beq such1
	ldy #0
	dex
	lda #40
	sta ztr
zeich	lda #4
	sta chr
	lda #0
	sta par
	sta byt
weiter	inx
	lda 50000,x
	eor par
	sta par
	dec chr
	bmi endchr
	lda 50000,x
	lsr
	rol byt
	bpl weiter
endchr	stx xmem
	ldx byt
	lda hexd,x
	ldx xmem
	sta 1984,y
	lda par
	sta 1984+54272,y
	iny
	dec ztr
	bne zeich
	ldx #0
	ldy #0
d	dex
	bne d
	dey
	bne d
	jsr $e8ea
	lda #"?"
	sta 1984
	lda #1
	sta 1984+54272
	jmp sose
; codetabelle binaer -> hex
hexd	.byte "084\x032\x016\x05195\x043\x027\x06"
