;:sys36864
	;.opt oo
	*= 49152
; eurocheque-karten-lese-software
; nikolaus heusler
; XXXXXXXXXXXX  XX
; XXXX XXXXXXXX XX
; april 92
par	=2
chr	=3
byt	=4
ztr	=5
xmem	=6
lrc	=247
	jsr $aefd
	jsr $b08b
	sta $49
	sty $4a
	jsr $b6a3
; **** karte auslesen
sose	ldx #0
	stx lrc
	stx $dd03	;alle leitungen eingang
cl1	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
	sta varmem,y
	lda byt
	eor lrc
	sta lrc
	ldx par
	lda parc,x
	sta parmem,y
	ldx xmem
	iny
	dec ztr
	bne zeich
	lda #80
	jsr $b475
	ldy #2
setpar	lda $61,y
	sta ($49),y
	dey
	bpl setpar
	ldy #79
setwor	lda varmem,y
	sta ($62),y
	dey
	bpl setwor
	rts
; codetabelle binaer -> hex
hexd	.byte "084c2a6e195d3b7f"
parc	.byte "*."
varmem	.word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
parmem	.word 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
