Newer
Older
uBix-Retro / dump / oa-2.0.9 / sysapps / basic / basic4.a65
/****************************************************************************
   
    This BASIC interpreter is derived from Copyrighted source!
    Therefore I do not hold copyrights on it.
    The Copyright is held by ???

    That's why this is only an educational example of how to
    port programs to the OS/A65 operating system.

    DO NOT ASSEMBLE OR RUN THIS PROGRAM!
    
    This file is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  

****************************************************************************/


.(
#ifdef ROM

#ifndef BASICEXE
#define	BASICEXE $80
#endif
#ifndef BASICDEV
#define	BASICDEV 0
#endif

          .word endofbasic
          .byt PK_PRG+BASICEXE
          .byt 2
          .byt BASICDEV, BASICDEV
          .word BASIC
#ifndef ROMTEST
          .byt 8,8,9,9,$a,$a,$b,$b,$c,$c,$d,$d,$e,$e,<-1
#else
          .byt 8,$18,9,$19,$a,$1a,$b,$1b,$c,$1c,$d,$1d,$e,$1e,<-1
#endif
          .asc "basic",0,0

#else	/* ROM */

#include  "kdefs.i65"
#include  "kernel.i65"
#include  "fdefs.i65"

          ;.word $800
          *=$8000
          .word 0
          .byt PK_PRG
          .byt 16
          .word 0
          .word BASIC
          .byt 8,0,9,0,$a,0,$b,0,<-1

;          *=$8000

#endif /* ROM */

/*#define   SHOW*/

#ifndef BASICEND
#define	BASICEND $4000
#endif
#ifndef BASICSTART
#define	BASICSTART $800
#endif

RAMEND    =BASICEND
RAMANF    =BASICSTART
#print RAMANF
#print RAMEND


#define   E_OPEN         2
#define   E_TOOMANYF     1
#define   E_NOTINPUT     6
#define   E_FILEOPEN     2
#define   E_NOTOPEN      3
#define   E_NOTFND       4

/*#ifndef NOMMU*/
oldsyszp =syszp
-syszp    =$90		/* watch out - may not work on every ROM */
/*#endif*/

#echo oabasic:
#print    syszp

status    =syszp
;directfl  =syszp+1
filenr    =syszp+2
drive     =syszp+3
mode      =syszp+4
fnlen     =syszp+5
fnadr     =syszp+6  ;.w
actin     =syszp+8
&actout    =syszp+9
&stream    =syszp+10
dx        =syszp+11
-syszp    +=12

#define   MAXFILE   10
#define   F_FNR     0
#define   F_STR     1
#define   F_MOD     2
#define   F_DRV     3
#define   F_SLEN    4


BASIC     jsr inifiles
          jsr inidup
          jsr lffcc
          jmp le394

          .(
anzfile   =syszp
FTAB      =syszp+1
-syszp    +=1+MAXFILE*F_SLEN

&inifiles ldx #0
          stx anzfile
          rts

suchfile  .(
          txa
          ldx anzfile
sf1       dex
          bmi sfe
          cmp FTAB+F_SLEN*F_FNR,x
          bne sf1
sfe       rts
          .)

&lffc0    ldx filenr     ; open
          bne op1
          jmp notinput
op1       jsr suchfile
          bne op2
          jmp fileopen
op2       ldy anzfile
          cpy #MAXFILE
          bcc op3
          jmp toomanyf
op3       lda filenr
          sta FTAB+F_SLEN*F_FNR,y
          lda mode
          sta FTAB+F_SLEN*F_MOD,y
          lda drive
          sta FTAB+F_SLEN*F_DRV,y

          jsr xopen
          bcs end

          ldy anzfile
          lda stream
          sta FTAB+F_SLEN*F_STR,y
          inc anzfile

end       rts           
          
&xopen    jsr GETSTR
          bcc op4
          jmp nofile
op4       stx stream
          stx PCBUF+FS_OPEN_STR
          lda mode
          cmp #FS_OPEN_DR+1
          bcs xoperr
          lda #0
          sta PCBUF+FS_OPEN_PFAD
          jsr copen
          bcs xoperr
          rts

&copen    lda drive
          sta PCBUF+FS_OPEN_DRV
          ldy #0
          ldx #FS_OPEN_NAME
op5       cpy fnlen
          beq op5a
          lda (fnadr),y
          sta PCBUF,x
          iny
          inx
          bne op5
op5a      lda #0
          sta PCBUF,x
          inx
          txa
          tay
          lda mode
&ropen    ldx #SEND_FM
          jsr SEND
          bcs xcoperr
          sec
          jsr RECEIVE
          cmp #1
xcoperr   rts

xoperr    ldx stream
          jsr FRESTR
          lda #E_OPEN
          .byt $2c
&loaderr   lda #E_NOTFND
          .byt $2c
&nofile    lda #E_NOFILE
          .byt $2c
&toomanyf  lda #E_TOOMANYF
          .byt $2c
&notinput  lda #E_NOTINPUT
          .byt $2c
&fileopen  lda #E_FILEOPEN
          .byt $2c
&filenotop lda #E_NOTOPEN

          pha
          jsr lffcc          
          pla
          cmp #1
          rts
          
&lffe7    .(        ;clall
          lda anzfile
          beq cle
          lda FTAB+F_SLEN*F_FNR
          jsr lffc3
          jmp lffe7
cle       clc
          rts
          .)
          
&setfpar   lda FTAB+F_SLEN*F_FNR,x
          sta filenr
          lda FTAB+F_SLEN*F_STR,x
          sta stream
          lda FTAB+F_SLEN*F_DRV,x
          sta drive
          lda FTAB+F_SLEN*F_MOD,x
          sta mode
          rts
          
&lffc3    .(    ;close
          tax
          jsr suchfile
          beq clok
          clc
          rts
clok      jsr setfpar
          txa
          pha

          tay
          lda FTAB+F_SLEN*F_MOD,y
          cmp #FS_OPEN_RD
          beq clrd
          cmp #FS_OPEN_DR
          beq clrd
          ldx FTAB+F_SLEN*F_STR,y
          lda #SC_EOF
          jsr STRCMD
          lda FTAB+F_SLEN*F_MOD,y
          cmp #FS_OPEN_RW
          bne clx
clrd      ldx FTAB+F_SLEN*F_STR,y
          lda #SC_NUL
          jsr STRCMD
clx
          pla
          tax
          dec anzfile
          cpx anzfile
          beq clend
          ldy anzfile
          lda FTAB+F_SLEN*F_DRV,y
          sta FTAB+F_SLEN*F_DRV,x
          lda FTAB+F_SLEN*F_STR,y
          sta FTAB+F_SLEN*F_STR,x
          lda FTAB+F_SLEN*F_MOD,y
          sta FTAB+F_SLEN*F_MOD,x
          lda FTAB+F_SLEN*F_FNR,y
          sta FTAB+F_SLEN*F_FNR,x
clend     clc
          rts
          .)
                   
&lffc6    ;chkin
          jsr suchfile
          beq ckin
          jmp filenotop
ckin      jsr setfpar
          lda stream
          sta actin
          clc
          rts

&lffc9    ;chkout
          jsr suchfile
          beq ckout
          jmp filenotop
ckout     jsr setfpar
          lda stream
          sta actout
          clc
          rts
          .)
          
lffe4     .(        ;get
          stx dx
          ldx actin
          cpx #STDIN
          bne lcc1
          jsr GETC
          ldx dx
          bcc lcfe
          lda #0
lcfe      rts
          
&lffcf              ;basin
          stx dx
          ldx actin
&lcc1     jsr GETC
          bcc lcce
          cmp #E_EOF
          beq lccx
          jsr YIELD
          jmp lcc1
lccx      ldx dx
          jmp filenotop
lcce      ldx dx
          clc
          rts
          

          .)
          
          .(
#define   MAXDUP    5

intab     =syszp
outab     =syszp+MAXDUP
inpnt     =syszp+2*MAXDUP
outpnt    =syszp+2*MAXDUP+1
-syszp    +=2*MAXDUP+2

&inidup   lda #0
          sta inpnt
          sta outpnt
          clc
          rts

&cldup    .(
          ldy inpnt
cld1      dey
          bmi cld2
          lda intab,y
          tax
          lda #SC_NUL
          jsr STRCMD
          jmp cld1
cld2      lda #0
          sta inpnt
          ldy outpnt
cld3      dey
          bmi cld4
          lda outab,y
          tax
          lda #SC_EOF
          jsr STRCMD
          jmp cld3
cld4      lda #0
          sta outpnt
          clc
          rts
          .)
          
&dupout   ldy outpnt
          cpy #MAXDUP
          bcs duperr1
#ifdef SHOW
          pha
          lda #"o"
          jsr SEROUT
          pla
          pha
          jsr xHEXOUT
          pla
          clc
          ldy outpnt
#endif
          sta outab,y
          sta actout
          inc outpnt
duperr1   rts
          
&clout    ldy outpnt
          beq cl2
          dec outpnt
          lda outab-1,y
#ifdef SHOW
          pha
          lda #"c"
          jsr SEROUT
          pla
          pha
          jsr xHEXOUT
          pla
          clc
#endif
          tax
          lda #SC_EOF
          jsr STRCMD
          ldy outpnt
          beq cl1a
          lda outab-1,y
          .byt $2c
cl1a      lda #STDOUT
          sta actout
          clc
          rts

&clin     ldy inpnt
          beq cl2
          dec inpnt
          lda intab-1,y
          tax
          lda #SC_NUL
          jsr STRCMD
          ldy inpnt
          beq cl2a
          lda intab-1,y
          .byt $2c
cl2a      lda #STDIN
          sta actin
          clc
          rts
cl2       sec
          rts

&dupin    ldy inpnt
          cpy #MAXDUP
          bcs duperr1
          sta intab,y
          sta actin
          inc inpnt
          rts
           
&lffcc    ;clrch
          ldy inpnt
          dey
          bmi c1
          lda inpnt,y
          .byt $2c
c1        lda #STDIN
          sta actin
          ldy outpnt
          dey
          bmi c2
          lda outab,y
          .byt $2c
c2        lda #STDOUT
          sta actout
          clc
          rts
          .)
                             
lffd2     ;bsout
          stx dx
          ldx actout
ld21      pha
          jsr PUTC
          bcc ld2e
          cmp #E_NUL
          beq ld2x
          pla
          jsr YIELD
          jmp ld21
ld2x      pla
          jmp filenotop
ld2e      ldx dx
          pla
          rts

anfadr    =syszp
endadr    =syszp+2
loadfl    =syszp+4  ;.w!
-syszp    +=6
          
lffd5     ;load
          stx anfadr
          sty anfadr+1
          sta loadfl

          lda mode
          sta loadfl+1
          
          lda #FS_OPEN_RD
          sta mode
          jsr xopen
          bcs ldendx
          
          ldx stream
          jsr lcc1
          sta endadr
          bcs loaderrx
          ldx stream
          jsr lcc1
          sta endadr+1
          bcs loaderrx
          
          lda loadfl+1
          beq ld51
          
          lda endadr
          sta anfadr
          lda endadr+1
          sta anfadr+1
ld51      
          ldx stream
          jsr lcc1
          bcs ldend

          ldy #0
          sta (anfadr),y
          
          inc anfadr
          bne ld51
          inc anfadr+1
          bne ld51
ldend     
          ldx stream
          lda #SC_NUL
          jsr STRCMD
          
ldendx    ldx anfadr
          ldy anfadr+1
          clc
          rts
loaderrx  jsr ldend
          jmp loaderr

lffd8     ;save
          stx endadr
          sty endadr+1
          tax
          lda 0,x
          sta anfadr
          lda 1,x
          sta anfadr+1

          lda #FS_OPEN_WR
          sta mode
          jsr xopen
          bcs svend

          lda anfadr
          ldx stream
          jsr ld21
          lda anfadr+1
          ldx stream
          jsr ld21
          
ld81      lda anfadr+1
          cmp endadr+1
          bcc ld82
          bne ld8e
          lda anfadr
          cmp endadr
          bcs ld8e
ld82
          ldy #0
          lda (anfadr),y
          ldx stream
          jsr ld21
          
          inc anfadr
          bne ld81
          inc anfadr+1
          bne ld81
          
ld8e      ldx stream
          lda #SC_EOF
          jsr STRCMD
          cmp #1
svend     rts
          
lffdb     ;setime
          clc
          rts
          
lffde     ;getime
          clc
          rts
          
lffe1     ;getstop
          stx dx
          ldx #STDIN
          lda #SC_STAT
          jsr STRCMD
          ldx dx
          cmp #E_SEMPTY
          beq notpressd
          jsr lffcc
          lda #0
          sec
          rts
notpressd lda #1
          clc
          rts
          

          
lfff0     ;cursor
          clc
          rts
          
lfff3     ;getio
          clc
          rts

lff90     ;sta directfl
lffb7     lda status
          rts
          
lff99     ;bcc set
          ldx #<RAMEND
          ldy #>RAMEND
          rts

lff9c     ;bcc set
          ldx #<RAMANF
          ldy #>RAMANF
          rts
          
lffba     sta filenr
          stx drive      ;device
          sty mode       ;secadr
          rts

lffbd     sta fnlen
          stx fnadr
          sty fnadr+1
          rts

/*

lff90     =$ff90
lff99     =$ff99
lff9c     =$ff9c 
lffb7     =$ffb7
lffba     =$ffba
lffbd     =$ffbd
lffc0     =$ffc0
lffc3     =$ffc3
lffc6     =$ffc6
lffc9     =$ffc9
lffcc     =$ffcc
lffcf     =$ffcf
lffd2     =$ffd2
lffd5     =$ffd5
lffd8     =$ffd8
lffdb     =$ffdb
lffde     =$ffde
lffe1     =$ffe1
lffe4     =$ffe4
lffe7     =$ffe7
lfff0     =$fff0
lfff3     =$fff3

          .word le394,le37b:.byt "CBMBASIC"
      
*/

romanf    =*
          
l0003     =$03      ;.w
l0005     =$05      ;.w

SUCHCHAR  =$07
HKFL      =$08
TABSPAL   =$09
LOADFL    =$0a
DIM       =$0b
DIMFL     =$0c
STRINGFL  =$0d
INTFL     =$0e
LISTHKFL  =$0f
FNFL      =$10
INPUTFL   =$11
ATNSIGN   =$12
ACTIO     =$13

INT       =$14      ;.w

STRPTR    =$16
STRZEI    =$17     ;.w
STRSTCK   =$19     ; [0,+8]

l0022     =$22
l0023     =$23
l0024     =$24
l0025     =$25

REG       =$26      ; [0,+3]

BASANF    =$2b      ;.w
VARANF    =$2d      ;.w
ARRANF    =$2f      ;.w
ARREND    =$31      ;.w
STRANF    =$33      ;.w
l0035     =$35      ;.w
BASEND    =$37      ;.w
ZEINR     =$39      ;.w
PRVZEINR  =$3b      ;.w
NEXTSTAT  =$3d      ;.w
DZEINR    =$3f      ;.w
NEXTDATA  =$41      ;.w
l0043     =$43      ;.w
VARNAME   =$45      ;.w
VARADR    =$47      ;.w
FORVAR    =$49      ;.w 
l004b     =$4b      ;.w

l004d     =$4d
l004e     =$4e
l004f     =$4f
l0050     =$50
l0051     =$51

l0053     =$53
l0054     =$54
l0055     =$55      ;.w

akku3     =$57      ; [0,+4]
akku4     =akku3+5  ; [0,+4]
FAC       =akku4+5  ; [0,+7]
ARG       =FAC+8    ; [0,+7]

l0071     =$71

CHRGET    =$73
CHRGOT    =$79
BASZEI    =$7a

l0080     =$80

l008b     =$8b

l0100     =$100     ; [-1,+13]
stack     =$100

#ifdef TESTC64
l0200     =$200     ; [-5,+88]
#else
l0200     =$340     
#endif

l0300     =$300     ;.w
l0302     =$302     ;.w
l0304     =$304     ;.w
l0306     =$306     ;.w
l0308     =$308     ;.w
l030a     =$30a     ;.w

SYSAC     =$030c
SYSXR     =$030d
SYSYR     =$030e
SYSST     =$030f

lusr      =$0310    ; [0,+2]

lmkdir    lda #FS_MKDIR
          .byt $2c
lrmdir    lda #FS_RMDIR
          .byt $2c
lscratch   lda #FS_DELETE
          .byt $2c
lformat   lda #FS_FORMAT
          sta loadfl
          jsr le1d4
          lda mode
          sta PCBUF+FS_CMD_PFAD
          lda loadfl
          sta mode
          jsr copen
          bcc cmdok
          ldx #24
          jmp la437
cmdok     rts
          
lrename   jsr le257      ; filenamen holen
          ldx #FS_CMD_NAME
          ldy fnlen
          beq syntaxer
          ldy #0
lr1       lda (fnadr),y
          sta PCBUF,x
          iny
          inx
          cpy fnlen
          bcc lr1
          lda #0
          sta PCBUF,x
          inx
          stx loadfl
          jsr CHRGOT
          cmp #$a4       ; "to"-TokenCode
          bne syntaxer
          jsr CHRGET
          jsr le257
          ldy fnlen
          beq syntaxer
          ldy #0
          ldx loadfl
lr2       lda (fnadr),y
          sta PCBUF,x
          inx
          iny
          cpy fnlen
          bcc lr2
          lda #0
          sta PCBUF,x
          inx
          stx loadfl
          jsr le200
          stx PCBUF+FS_CMD_DRV
          lda #0
          sta PCBUF+FS_CMD_PFAD
          lda #FS_RENAME
          ldy loadfl
          jmp ropen
syntaxer  jmp syntax
illq      jmp illquant

buf       =syszp
-syszp    +=FS_DIR_NAME

ldir      beq syntaxer
          lda #0
          jsr lffbd
          jsr lad9e
          bit STRINGFL
          bpl drnoname
          jsr lb6a3
          ldx l0022
          ldy l0022+1
          jsr lffbd
          jsr le20e
          jsr lad9e
drnoname  bit STRINGFL
          bmi syntaxer
          jsr lb1b8
          ldx FAC+3
          bne illq
          ldx FAC+4
          stx drive
          lda #FS_OPEN_DR
          sta mode
          jsr xopen
          bcc drnloop
          rts

IN        ldx stream
          jmp lcc1
          
drnloop   jsr lffe1
          beq drend
          ldy #0
drl1      jsr IN
          bcs drend
          sta buf,y
          iny
          cpy #FS_DIR_NAME
          bcc drl1
          
          lda buf+FS_DIR_MODE
          cmp #FS_DIR_MOD_NAM
          bne drl2
          
          lda #<dnamtxt
          ldy #>dnamtxt
          jsr strout
          jsr dirname
          jmp drle
          
drl2      cmp #FS_DIR_MOD_FIL
          bne drl3
          jsr dnout
          jsr sizdatim
          jmp drle

drl3      cmp #FS_DIR_MOD_FRE
          bne drl4
          jsr sizeout
          lda #<bytfre
          ldy #>bytfre
          jsr strout
          jmp drle
          
drl4      cmp #FS_DIR_MOD_DIR
          bne drle
          jsr dnout
          lda #<ddirtxt
          ldy #>ddirtxt
          jsr strout
          jmp drle

drle      jsr laad7
          jmp drnloop

drend     ldx stream
          lda #SC_NUL
          jsr STRCMD
          clc
          rts
          
dnout     jsr dirname
          lda #","
          jsr lffd2
          ldx drive
          lda #0
          jsr adrout
          jsr DPOUT
          jmp SSPOUT

dirname   ldy #0
          lda #34
drn1      jsr lffd2
          jsr IN
          bcs drlne
          cmp #0
          beq drlne
          iny
          bne drn1
drlne     lda #34
drn2      jsr lffd2
          lda #" "
          iny
          cpy #23
          bcc drn2 
          rts
          
sizdatim  jsr sizeout
          jsr DPOUT
          lda PCBUF+FS_DIR_DAY
          jsr DEZOUT
          jsr PNTOUT
          lda PCBUF+FS_DIR_MONTH
          jsr DEZOUT
          jsr PNTOUT
          lda PCBUF+FS_DIR_YEAR
          jsr DEZOUT
          jsr SSPOUT
          lda PCBUF+FS_DIR_HOUR
          jsr DEZOUT
          jsr DPOUT
          lda PCBUF+FS_DIR_MIN
          jmp DEZOUT

DPOUT     lda #":"
          .byt $2c
SSPOUT    lda #" "
          .byt $2c
PNTOUT    lda #"."
          jmp lffd2
          
sizeout   lda #<buf+FS_DIR_LEN
          ldy #>buf+FS_DIR_LEN
          ldx #" "
          jmp ldezout

ddirtxt   .asc ":<dir>",0
dnamtxt   .asc "Diskettenname:",0
bytfre    .asc "Bytes free",0


          .(
da        =syszp
lb        =syszp+2
lo        =syszp+3
w         =syszp+4
out       =syszp+8
cnt       =syszp+9
-syszp    +=10

&ldezout  .(
          sta da
          sty da+1
          stx lb
          ldx #39

l1        ldy #3
l1c       lda dtab,x
          sta w,y
          dex
          dey
          bpl l1c
          stx lo
          iny
          sty out
          sty cnt
l2a       ldy #3
l2        lda (da),y
          cmp w,y
          bcc sloop
          bne shift
          dey
          bpl l2
          bmi xsub
shift     ldy #0
          ldx #4
          clc
h1        lda w,y
          rol
          sta w,y
          iny
          dex
          bne h1
          bcs ende
          inc cnt
          bne l2a

sloop     dec cnt
          bmi endx
          ldy #3
          clc
s0        lda w,y
          ror
          sta w,y
          dey
          bpl s0

xsub      ldy #3
x0        lda (da),y
          cmp w,y
          bcc d0
          bne d1
          dey
          bpl x0
d1        ldy #0
          ldx #4
          sec
d1a       lda (da),y
          sbc w,y
          sta (da),y
          iny
          dex
          bne d1a
          sec
          .byt $24
d0        clc
          rol out
          jmp sloop
         
endx      lda out
          beq e3
          ldx #0
          stx lb
          beq e1
e3        bit lo
          bmi e1
          lda lb
          bne e2
e1        ora #"0"
e2        jsr lffd2
          
          ldx lo
          bmi l1b
          jmp l1
l1b ende  rts

dtab      .word 1,0
          .word 10,0
          .word 100,0
          .word 1000,0
          .word 10000,0
          .word 34464,1
          .word 16960,15
          .word 38528,152
          .word 57600,1525
          .word 51712,15258
          .)

&DEZOUT   .(
l1        tay
          sec
          sbc #100
          bcs l1
          lda #0
          sta da
          tya
l2        tay
          sec
          sbc #10
          bcc l3
          inc da
          bcs l2
l3        asl da
          asl da
          asl da
          asl da
          tya
          ora da
&&HEXOUT
          pha
          lsr
          lsr
          lsr
          lsr
          jsr NIBOUT
          pla
          and #$0f
NIBOUT    clc  
          adc #"0"
          cmp #"9"+1
          bcc nout
          adc #6
nout      jmp lffd2
          .)

          .)

          .(
l00fb     =syszp
l00fd     =syszp+2
l00c8     =syszp+4
-syszp    +=5

&parlist  .(
          bcc a1
          beq a1
          cmp #$ab
          bne delerr1
a1        jsr la96b
          jsr la613
          jsr CHRGOT
          beq a2
          cmp #$ab
delerr1   bne delerr
          jsr CHRGET
          jsr la96b
          bne delerr
a2        rts
&delerr   jmp syntax
          .)

&ldump    .(
          bne delerr
          lda VARANF
          ldy VARANF+1
du1       cpy ARRANF+1
          bne du2
          cmp ARRANF
du2       bcs duvend
          sta INT
          sty INT+1
          jsr laad7      ; crlfout
          jsr getstop
          jsr dumpvar
          lda INT
          ldy INT+1
          clc
          adc #7
          bcc du1
          iny
          bne du1

dumpvar   jsr duname
          bcs dustrbin
          lda INT
          adc #2
          ldy INT+1
          bcc du3
          iny
du3       cpx #128
          bcs dufunk
          pha
          lda #" "
          jsr duglout
          pla
          jsr lbba2      ; fliesskommavar holen
du4       jsr lbddd      ; in ASC
          jmp strout      ; ausgeben
duvend    jmp duarr
dustrbin  txa
          bpl dustr      
          lda #"%"       ; integervar
          jsr duglout
          ldy #2
          lda (INT),y
          tax
          iny
          lda (INT),y
          tay
          txa
          jsr lb395
          jmp du4
dustr     lda #"$"       ; stringvar
          jsr duglout
          jsr duhkout
          ;lda #4
          ;jsr setfla
          ldy #2
          lda (INT),y    ; l�nge
          beq dustrr
          sta l00c8
          iny
          lda (INT),y
          sta l0022
          iny
          lda (INT),y
          sta l0022+1
          ldy #0
dust1     lda (l0022),y
          jsr lffd2
          iny
          cpy l00c8
          bne dust1
dustrr    
duhkout   lda #34
          jmp lffd2
dufunk    ldy #2         ;funktion
          lda (INT),y
          sta akku4+3
          iny
          lda (INT),y
          sta akku4+4
          iny
          lda (INT),y
          sec
          sbc #2
          sta l0022
          iny
          lda (INT),y
          sbc #0
          sta l0022+1
          lda #"("
          jsr lffd2
          ldy #0         ; argument
          lda (l0022),y
          jsr lffd2
          iny
          lda (l0022),y
          beq duf1
          jsr lffd2
duf1      lda #")"
          jsr duglout
          jsr dumplist
          rts
duend     jmp laad7
duarr     lda ARRANF     ; arrayvariable
          ldy ARRANF+1
dua1      cpy ARREND+1
          bne dua2
          cmp ARREND
dua2      bcs duend
          sta INT
          sty INT+1
          jsr laad7
          jsr getstop
          jsr duname
          bcc duafk
          txa
          bmi duaint
          lda #"$"
          .byt $2c
duaint    lda #"%"
          .byt $2c
duafk     lda #" "
          jsr lffd2
          lda #"("
          jsr lffd2
          ldy #4
          lda (INT),y
          sta l00fb      ; Anzahl Dimensionen
          clc
          lda #5
          adc INT
          sta l00fd
          lda INT+1
          adc #0
          sta l00fd+1
          jmp dua4
dua3      dec l00fb
          beq duaadd
          lda #","
          jsr lffd2
dua4      lda l00fb
          asl
          tay
          dey
          lda (l00fd),y
          sec
          sbc #1
          pha
          dey
          lda (l00fd),y
          sbc #0
          tay
          pla
          tax
          tya
          jsr adrout
          jmp dua3
duaadd    lda #")"
          jsr lffd2
          ldy #2
          lda (INT),y
          clc
          adc INT
          pha
          iny
          lda (INT),y
          adc INT+1
          tay
          pla
          jmp dua1

duname    ldy #0
          lda (INT),y
          tax
          and #127
          jsr lffd2
          iny
          lda (INT),y
          tay
          and #127
          beq dun1
          jsr lffd2
dun1      tya
          asl
          rts

duglout   jsr lffd2
          lda #"="
          jmp lffd2
          .)

&lfind    .(
          lda BASANF+1
          sta l00fd+1
          lda BASANF
          sta l00fd
          bne d1
          dec l00fd+1
d1        dec l00fd
          ;jsr d10
d2        ldy #0
          lda (l00fd),y
          bne d5
          iny            ; zeilenende
          iny
          lda (l00fd),y  ; hibyte verkettungsadr
          beq fiend      ; prgende
          lda l00fd
          sta akku4+3
          lda l00fd+1
          sta akku4+4
          lda l00fd      ; 5 f�r anfang text addieren
          clc
          adc #5
          sta l00fd
          bcc d4
          inc l00fd+1
d4        jsr getstop
          jmp d2
fiend     pla
          pla
          jmp ready
d5        cmp (BASZEI),y ; mit erstem Byte des zu suchenden Textes vergleichen
          bne d8
;          lda l00fd
;          sta l00fb
;          lda l00fd+1
;          sta l00fb+1
d6        iny
          lda (BASZEI),y ; cpy l00c8
          beq d9         ; listen
          lda (l00fd),y
          beq d7         ; ende der Zeile dann nicht gefunden
          cmp (BASZEI),y
          beq d6
d7;        lda l00fb
;          sta l00fd
;          lda l00fb+1
;          sta l00fd+1
d8        inc l00fd
          bne d2
          inc l00fd+1
          bne d2

d9        inc akku4+3
          bne d09
          inc akku4+4
d09       ldy #2
          lda (akku4+3),y
          tax
          iny
          lda (akku4+3),y
          jsr listline
          jsr laad7
          ldy #<-1
d13       iny
          lda (l00fd),y
          bne d13
          tya
          clc
          adc l00fd
          sta l00fd
          bcc d14
          inc l00fd+1
d14       jmp d2
/*
d10       ldy #<-1
d11       iny
          lda (BASZEI),y
          bne d11
          sty l00c8
          rts  */
          .)
                    
&ldelete  .(
          jsr parlist
          lda INT:ora INT+1
          bne a3
          ldy #0              ; hier alles bis ende l�schen
          tya
          sta (akku4+3),y
          iny
          sta (akku4+3),y
          jmp a9
a3        lda akku4+3
          ldy akku4+4
          sta l0022
          sty l0022+1
          jsr la613
          bcc a5
          ldy #0
          lda (akku4+3),y
          pha
          iny
          lda (akku4+3),y
          sta akku4+4
          pla
          sta akku4+3
a5        lda l0022+1
          cmp akku4+4
          bcc a5a
          bne a9
          lda l0022
          cmp akku4+3
          bcs a9
a5a       ldy #0
          ldx #3
a6        lda (akku4+3),y
          sta (l0022),y
          cmp #0
          bne a7
          dex
          beq a9
          bne a8
a7        ldx #3
a8        iny
          bne a6
          inc l0022+1
          inc akku4+4
          jmp a6
&a9       jsr bindbas
          lda #2
          clc
          adc l0022
          sta VARANF
          lda l0022+1
          adc #0
          sta VARANF+1
          jmp la663

&&lrenew  bne renewerr
          ldy #1
          tya
          sta (BASANF),y
          jsr a9
          jmp ready
          .)

renewerr  jmp syntax
&GETINT   jsr frmnum
          jmp getadr
          
paraut    .(
          lda #0
          sta l00fb+1
          sta l00fd+1
          lda #10
          sta l00fb
          lda #100
          sta l00fd
          jsr weitzei
          cmp #","
          beq paraut1
          jsr CHRGOT
          jsr GETINT
          sty l00fd
          sta l00fd+1
          jsr weitzei
          cmp #","
          beq paraut1
          jmp syntax
paraut1   jsr CHRGET
          jsr weitzei
          cmp #","
          beq paraut2
          jsr GETINT
          sty l00fb
          sta l00fb+1
paraut2   rts
          .)
          
          .(
rsyn      lda #11
          .byt $2c
rend      lda #128
          .byt $2c
rillq     lda #14
          .byt $2c
rmemer    lda #16
          sta l00c8
          jsr a9
          ldx l00c8
          jmp la437
          
&&lrenumber
          jsr paraut
          lda l00fb
          ora l00fb+1
          bne r00
          jmp illquant
r00       ldy #1
          lda (BASANF),y
          beq rend
          jsr a9
          jsr CHRGOT
          beq r0a
          cmp #","
          bne rsyn
          jsr CHRGET
r0a       jsr parlist
          lda INT
          ora INT+1
          bne r01
          ldx #<-1
          ldy #<-1
          bne r02
r01       ldx INT
          ldy INT+1
r02       stx l0022
          sty l0022+1
          jmp r03
riq1      bcs rillq
r1        stx akku4+3
          sty akku4+4
r03       ldy #1
          lda (akku4+3),y
          beq r4
          ldy #3
          lda (akku4+3),y
          cmp l0022+1
          bcc rrr
          bne r4
          dey
          lda (akku4+3),y
          cmp l0022
          bcc rrr
          bne r4
rrr       lda STRANF
          sec
          sbc #4
          sta STRANF
          tax
          lda STRANF+1
          sbc #0
          sta STRANF+1
          cmp VARANF+1
          bcc rmemer
          bne r1a
          cpx VARANF
          bcc rmemer
r1a       ldy #3              ; alte Zeilennummer speichern
          lda (akku4+3),y
          sta (STRANF),y
          dey
          lda (akku4+3),y
          sta (STRANF),y
          dey
          lda l00fd+1         ; und neue dazu
          sta (STRANF),y
          tax
          dey
          lda l00fd
          sta (STRANF),y
          ldy #2
          sta (akku4+3),y
          iny
          txa
          sta (akku4+3),y
          lda l00fd           ; neue Zeilennr erh�hen
          clc
          adc l00fb
          sta l00fd
          lda l00fd+1
          adc l00fb+1
          sta l00fd+1
          bcs riq1
          ldy #0              ; n�xte Zeile suchen
          lda (akku4+3),y
          tax
          iny
          lda (akku4+3),y
          tay
          bne r1
r4        jsr la68e           ; start Zeilennr im Text �ndern
r5        ldy #0
          lda (BASZEI),y
          bne r6
          iny
          lda (BASZEI),y
          bne r7
          iny
          lda (BASZEI),y
          bne r7
          jmp rend
r7        lda BASZEI
          clc
          adc #5
          sta BASZEI
          bcc r5
          inc BASZEI+1
          bne r5
r6        cmp #$a7
          beq rthen
r8        cmp #$89       ; goto-Code
          beq rgot
          cmp #$8d       ; gosub-Code
          beq rgot
          cmp #$cb       ; go-Code
          beq rgo
          cmp #34        ; Hochkomma
          beq rhoko
r9        inc BASZEI
          bne r5
          inc BASZEI+1
          bne r5
rhoko     ldy #1         ; Text in Hochkomma �berspringen
rho1      lda (BASZEI),y
          beq rho3
          cmp #34        ; Ende mit Hochkomma
          beq rho2
          iny
          bne rho1
rho2      iny
rho3      tya
          clc
          adc BASZEI
          sta BASZEI
          bcc r5
          inc BASZEI+1
          bne r5
rthen     jsr CHRGET
          beq r9
          bcs r8
          bcc r10
rgo       jsr CHRGET
          cmp #$a4       ; to-Code
          bne r5
rgot      jsr CHRGET
          bcs r5
r10       lda BASZEI
          sta l00fd
          lda BASZEI+1
          sta l00fd+1
          jsr GETINT
          sec
          lda BASZEI
          sbc l00fd
          sta akku3

          ; neue Zeilennr finden

          lda STRANF
          sta l0035
          lda STRANF+1
          sta l0035+1
r11       ldy #3
          lda (l0035),y
          cmp INT+1
          bne r12
          dey
          lda (l0035),y
          cmp INT
          beq r13
r12       lda #4
          clc
          adc l0035
          sta l0035
          tax
          bcc r12a
          inc l0035+1
r12a      lda l0035+1
          cmp BASEND+1
          bcc r11
          bne r11a
          cpx BASEND
          bcc r11
r11a      lda INT+1
          ldx INT
          jmp r14
r13       dey            ; ZNr in Tabelle gefunden
          lda (l0035),y
          pha
          dey
          lda (l0035),y
          tax
          pla
r14       jsr rfacasc    ; und nach ASC wandeln
          ldy #<-1
r15       iny
          lda stack,y
          bne r15
          lda l00fd
          sta akku4+3
          lda l00fd+1
          sta akku4+4
          tya
          sec
          sbc akku3
          sta akku3
          beq r16        ; Zahlen im Text gleich lang
          bcc r17        ; neue < alte -> kleinere Adresse
          lda VARANF
          sta akku3+3
          clc
          adc akku3
          sta akku3+1
          sta VARANF
          lda VARANF+1
          sta akku3+4
          adc #0
          sta akku3+2
          sta VARANF+1
          
          cmp STRANF+1
          bcc r18
          beq r18a
r18b      jmp rmemer
r18a      lda VARANF
          cmp STRANF
          bcs r18b
r18       jsr la3bf
          jmp r16
          
r17       lda BASZEI          ; neue Zahl kleiner als alte
          sta akku4+3
          clc
          adc akku3
          sta l00fb
          lda BASZEI+1
          sta akku4+4
          sbc #0
          sta l00fb+1
r20       ldy #0
          lda (akku4+3),y
          sta (l00fb),y
          inc l00fb
          bne r20a
          inc l00fb+1
r20a      inc akku4+3
          bne r20b
          inc akku4+4
r20b      lda akku4+3
          cmp VARANF
          bne r20
          lda akku4+4
          cmp VARANF+1
          bne r20
r16       lda l00fd      ; ZNr gleich lang
          sta BASZEI
          lda l00fd+1
          sta BASZEI+1
          ldy #0
r21       lda stack,y
          beq r22
          sta (BASZEI),y
          iny
          bne r21
r22       tya
          clc
          adc BASZEI
          sta BASZEI
          bcc r23
          inc BASZEI+1
r23       jsr CHRGOT
          cmp #","       ; test auf on x goto/gosub
          bne r24
          jsr CHRGET
          bcs r24
          jmp r10
r24       jmp r5

rfacasc   sta FAC+1
          stx FAC+2
          ldx #$90
          sec
          jsr lbc49
          jmp lbddf
          .)
          .)

quit      .(
          jsr lffe7      ; clall
          jsr cldup
          jmp TERM
          .)
          
          .(
&lomem    .(
          jsr GETINT
          lda INT+1
          cmp #>RAMEND
          bne lmh
          lda INT
          cmp #<RAMEND
lmh       bcc lmok
&lmerr    jmp la435
lmok      lda INT
          sta BASANF
          clc 
          adc #<-1
          sta INT
          lda INT+1
          sta BASANF+1
          adc #<-1
          sta INT+1
          lda #0
          tay
          sta (INT),y
          jmp la644
          .)

&himem    .(
          jsr GETINT
          lda VARANF+1
          cmp INT+1
          bne hmt
          lda VARANF
          cmp INT
hmt       bcs lmerr
          lda INT
          sta BASEND
          lda INT+1
          sta BASEND+1
          jmp la663
          .)
          .)
          
la00c     .word lend-1,lfor-1,lnext-1,ldata-1,linputf-1,linput-1
          .word ldim-1,lread-1,llet-1,lgoto-1,lrun-1,lif-1,lrestore-1
          .word lgosub-1,lreturn-1,lrem-1,lstop-1,lon-1,lwait-1
          .word lload-1,lsave-1,lverify-1,ldef-1,lpoke-1
          .word lprintf-1,lprint-1,lcont-1,llist-1,lclr-1,lcmd-1
          .word lsys-1,lopen-1,lclose-1,lget-1,lnew-1

          .word ldir-1,lmkdir-1,lrmdir-1,lscratch-1,lrename-1,lformat-1
          .word ldelete-1,lrenumber-1,lrenew-1,ldump-1,lfind-1
          .word himem-1,lomem-1,quit-1,enter-1,call-1,puts-1,gets-1
                    
la052     .word lsgn,lint,labs,lusr,lfre,lpos,lsqr,lrnd,llog
          .word lexp,lcos,lsin,ltan,latn,lpeek,llen,lstr,lval
          .word lasc,lchr,lleft,lright,lmid

la080     .byt $79 : .word ladd-1
          .byt $79 : .word lsub-1
          .byt $7b : .word lmul-1
          .byt $7b : .word ldiv-1
          .byt $7f : .word lpot-1
          .byt $50 : .word land-1
          .byt $46 : .word lor-1
          .byt $7d : .word lneg-1
          .byt $5a : .word lnot-1
          .byt $64 : .word lcmp-1

la09e     .asc "EN","D"+$80
          .asc "FO","R"+$80
          .asc "NEX","T"+$80
          .asc "DAT","A"+$80
          .asc "INPUT","#"+$80
          .asc "INPU","T"+$80
          .asc "DI","M"+$80
          .asc "REA","D"+$80
          .asc "LE","T"+$80
          .asc "GOT","O"+$80
          .asc "RU","N"+$80
          .asc "I","F"+$80
          .asc "RESTOR","E"+$80
          .asc "GOSU","B"+$80
          .asc "RETUR","N"+$80
          .asc "RE","M"+$80
          .asc "STO","P"+$80
          .asc "O","N"+$80
          .asc "WAI","T"+$80
          .asc "LOA","D"+$80
          .asc "SAV","E"+$80
          .asc "VERIF","Y"+$80
          .asc "DE","F"+$80
          .asc "POK","E"+$80
          .asc "PRINT","#"+$80
          .asc "PRIN","T"+$80
          .asc "CON","T"+$80
          .asc "LIS","T"+$80
          .asc "CL","R"+$80
          .asc "CM","D"+$80
          .asc "SY","S"+$80
          .asc "OPE","N"+$80
          .asc "CLOS","E"+$80
          .asc "GE","T"+$80
          .asc "NE","W"+$80
          .asc "TAB","("+$80
          .asc "T","O"+$80
          .asc "F","N"+$80
          .asc "SPC","("+$80
          .asc "THE","N"+$80
          .asc "NO","T"+$80
          .asc "STE","P"+$80
          .asc "+"+$80
          .asc "-"+$80
          .asc "*"+$80
          .asc "/"+$80
          .asc "^^"+$80
          .asc "AN","D"+$80
          .asc "O","R"+$80
          .asc ">"+$80
          .asc "="+$80
          .asc "<"+$80
          .asc "SG","N"+$80
          .asc "IN","T"+$80
          .asc "AB","S"+$80
          .asc "US","R"+$80
          .asc "FR","E"+$80
          .asc "PO","S"+$80
          .asc "SQ","R"+$80
          .asc "RN","D"+$80
          .asc "LO","G"+$80
          .asc "EX","P"+$80
          .asc "CO","S"+$80
          .asc "SI","N"+$80
          .asc "TA","N"+$80
          .asc "AT","N"+$80
          .asc "PEE","K"+$80
          .asc "LE","N"+$80
          .asc "STR","$"+$80
          .asc "VA","L"+$80
          .asc "AS","C"+$80
          .asc "CHR","$"+$80
          .asc "LEFT","$"+$80
          .asc "RIGHT","$"+$80
          .asc "MID","$"+$80
          .asc "G","O"+$80,0

la09enew  .asc "DI","R"+$80
          .asc "MKDI","R"+$80
          .asc "RMDI","R"+$80
          .asc "SCRATC","H"+$80
          .asc "RENAM","E"+$80
          .asc "HEADE","R"+$80
          
          .asc "DELET","E"+$80
          .asc "RENUMBE","R"+$80
          .asc "RENE","W"+$80
          .asc "DUM","P"+$80
          .asc "FIN","D"+$80
          
          .asc "HIME","M"+$80
          .asc "LOME","M"+$80
          .asc "QUI","T"+$80
          .asc "ENTE","R"+$80
          .asc "CAL","L"+$80
          .asc "SPU","T"+$80
          .asc "SGE","T"+$80
          .byt 0
   
le1       .asc "TOO MANY FILE","S"+$80
le2       .asc "FILE OPE","N"+$80
le3       .asc "FILE NOT OPE","N"+$80
le4       .asc "FILE NOT FOUN","D"+$80
le5       .asc "DEVICE NOT PRESEN","T"+$80
le6       .asc "NOT INPUT FIL","E"+$80
le7       .asc "NOT OUTPUT FIL","E"+$80
le8       .asc "MISSING FILE NAM","E"+$80
le9       .asc "ILLEGAL DEVICE NUMBE","R"+$80
le10      .asc "NEXT WITHOUT FO","R"+$80
le11      .asc "SYNTA","X"+$80
le12      .asc "RETURN WITHOUT GOSU","B"+$80
le13      .asc "OUT OF DAT","A"+$80
le14      .asc "ILLEGAL QUANTIT","Y"+$80
le15      .asc "OVERFLO","W"+$80
le16      .asc "OUT OF MEMOR","Y"+$80
le17      .asc "UNDEF'D STATEMEN","T"+$80
le18      .asc "BAD SUBSCRIP","T"+$80
le19      .asc "REDIM'D ARRA","Y"+$80
le20      .asc "DIVISION BY ZER","O"+$80
le21      .asc "ILLEGAL DIREC","T"+$80
le22      .asc "TYPE MISMATC","H"+$80
le23      .asc "STRING TOO LON","G"+$80
le24      .asc "FILE DAT","A"+$80
le25      .asc "FORMULA TOO COMPLE","X"+$80
le26      .asc "CAN'T CONTINU","E"+$80
le27      .asc "UNDEF'D FUNCTIO","N"+$80
le28      .asc "VERIF","Y"+$80
le29      .asc "LOA","D"+$80

la328     .word le1,le2,le3,le4,le5,le6,le7,le8,le9
          .word le10,le11,le12,le13,le14,le15,le16
          .word le17,le18,le19,le20,le21,le22
          .word le23,le24,le25,le26,le27,le28,le29
          .word lbreak

la364     .byt 13,10,"OK",13,10,0
lerror    .byt "  ERROR",0
la371     .byt " IN ",0
lready    .byt 13,10,"READY.",13,10,0
la381     .byt 13,10
lbreak    .byt "BREAK",0
          
la38a tsx 
 104 inx :inx :inx :inx :la38f lda stack+1,x
 105 cmp #$81:bne la3b7:lda FORVAR+1:bne la3a4:lda stack+2,x
 106 sta FORVAR:lda stack+3,x:sta FORVAR+1:la3a4 cmp stack+3,x:bne la3b0
 107 lda FORVAR:cmp stack+2,x:beq la3b7:la3b0 txa :clc 
 108 adc #$12:tax :bne la38f:la3b7 rts :la3b8 jsr la408
 109 sta ARREND:sty ARREND+1:la3bf sec :lda akku3+3:sbc akku4+3
 110 sta l0022:tay :lda akku3+4:sbc akku4+4:tax 
 111 inx :tya :beq la3f3:lda akku3+3:sec 
 112 sbc l0022:sta akku3+3:bcs la3dc:dec akku3+4:sec 
 113 la3dc lda akku3+1:sbc l0022:sta akku3+1:bcs la3ec:dec akku3+2
 114 bcc la3ec:la3e8 lda (akku3+3),y:sta (akku3+1),y:la3ec dey :bne la3e8
 115 lda (akku3+3),y:sta (akku3+1),y:la3f3 dec akku3+4:dec akku3+2:dex 
 116 bne la3ec:rts :la3fb asl :adc #$3e:bcs la435
 117 sta l0022:tsx :cpx l0022:bcc la435:rts 
 118 la408 cpy STRANF+1:bcc la434:bne la412:cmp STRANF:bcc la434
 119 la412 pha :ldx #$09:tya :la416 pha :lda akku3,x
 120 dex :bpl la416:jsr lb526:ldx #$f7:la421 pla 
 121 sta FAC,x:inx :bmi la421:pla :tay 
 122 pla :cpy STRANF+1:bcc la434:bne la435:cmp STRANF
 123 bcs la435:la434 rts :la435 ldx #$10:la437 jmp (l0300):la43a txa 
 124 asl :tax :lda la328-2,x:sta l0022:lda la328-1,x
 125 sta l0022+1:jsr lffcc:lda #$00:sta ACTIO:jsr laad7
 126 jsr lab45:ldy #$00:la456 lda (l0022),y:pha :and  #$7f
 127 jsr basout:iny :pla :bpl la456:jsr la67a
 128 lda #<lerror:ldy #>lerror:la469 jsr strout:ldy ZEINR+1:iny 
 129 beq ready:jsr lbdc2:ready lda #<lready:ldy #>lready:jsr strout
 130 lda #$80:jsr lff90:la480 jmp (l0302)
 la483 jsr linein:stx BASZEI
 131 sty BASZEI+1:exestart jsr CHRGET:;la48d: tax :beq la480:ldx #$ff
 132 stx ZEINR+1:bcc la49c:jsr la579:jmp la7e1:la49c jsr la96b
 133 jsr la579:sty DIM:jsr la613:bcc la4ed:ldy #$01
 134 lda (akku4+3),y:sta l0023:lda VARANF:sta l0022:lda akku4+4
 135 sta l0025:lda akku4+3:dey :sbc (akku4+3),y:clc 
 136 adc VARANF:sta VARANF:sta l0024:lda VARANF+1:adc #$ff
 137 sta VARANF+1:sbc akku4+4:tax :sec :lda akku4+3
 138 sbc VARANF:tay :bcs la4d7:inx :dec l0025
 139 la4d7 clc :adc l0022:bcc la4df:dec l0023:clc 
 140 la4df lda (l0022),y:sta (l0024),y:iny :bne la4df:inc l0023
 141 inc l0025:dex :bne la4df:la4ed jsr la659:jsr bindbas
 142 lda l0200:beq la480:clc :lda VARANF:sta akku3+3
 143 adc DIM:sta akku3+1:ldy VARANF+1:sty akku3+4:bcc la508
 144 iny :la508 sty akku3+2:jsr la3b8:lda INT:ldy INT+1
 145 sta l0200-2:sty l0200-1:lda ARREND:ldy ARREND+1:sta VARANF
 146 sty VARANF+1:ldy DIM:dey :la522 lda l0200-4,y:sta (akku4+3),y
 147 dey :bpl la522:;la52a: jsr la659:jsr bindbas:jmp la480
 148 bindbas 
     lda BASANF:ldy BASANF+1:sta l0022:sty l0023:clc 
 149 la53c ldy #$01:lda (l0022),y:beq la55f:ldy #$04:la544 iny 
 150 lda (l0022),y:bne la544:iny :tya :adc l0022
 151 tax :ldy #$00:sta (l0022),y:lda l0023:adc #$00
 152 iny :sta (l0022),y:stx l0022:sta l0023:bcc la53c
 153 la55f rts 

linein     .(
          LDx #0
MO1       JSR lffcf      ; le112
          bcc mo1a
/*     pha
     lda #"E"
     jsr SEROUT
     pla
     pha
     jsr HEXOUT
     pla*/
          cmp #E_NOTOPEN
          bne MO1
          txa
          pha
          jsr clin
          pla
          tax
          bcc MO1
          jmp TERM
          
mo1a      cmp #$1f
          bcs MO1A

          CMP #13:BEQ MO2

          CMP #8:BNE MO1
          cpx #0:beq MO1
          dex
          jsr lffd2
          jmp MO1

MO1A      STA l0200,x
          jsr lffd2
          INx:CPx #$59
          BCC MO1
          ldx #$17:jmp la437
/*MO2S      sec:.byt $24*/
MO2       jmp laaca
          .)
/*
 linein ldx #$00:la562 jsr le112:jsr lffd2:cmp #$0d:beq la576
 154 sta l0200,x:inx :cpx #$59:bcc la562:ldx #$17
 155 jmp la437:la576 ;lda #10:;jsr lffd2:jmp laaca
*/
 la579 jmp (l0304)
 la57c
#if l0200 & $00ff
          lda BASZEI
          sec
          sbc #<l0200
          tax
#else
          ldx BASZEI
#endif
          ldy #$04
 156 sty LISTHKFL:la582 lda l0200,x:bpl la58e:cmp #$ff:beq la5c9
 157 inx :bne la582:la58e cmp #$20:beq la5c9:sta HKFL
 158 cmp #$22:beq la5eex:bit LISTHKFL:bvs la5c9:cmp #$3f
 159 bne la5a4:lda #$99:bne la5c9:la5a4 cmp #$30:bcc la5ac
 160 cmp #$3c:bcc la5c9:la5ac sty l0071:ldy #$00:sty DIM
 161 dey :stx BASZEI:dex 
 la5b6    iny :inx 
 la5b8    lda l0200,x:sec :sbc la09e,y:beq la5b6
          cmp #$20:beq la5b6
          cmp #$a0:beq la5c5
          cmp #$80:beq la5c5

          ldx BASZEI:inc DIM
 la5f9n   iny :lda la09e-1,y:bpl la5f9n
          lda la09e,y:bne la5b8
          ldy #<-1:dex

 la5b6n   iny:inx
 la5b8n   lda l0200,x:sec:sbc la09enew,y:beq la5b6n
          cmp #$20:beq la5b6n
          cmp #$a0:beq la5c5:la5eex beq la5ee
          cmp #$80:bne la5f5

 la5c5    and #$80:ora DIM
 la5c7    ldy l0071
 la5c9    inx :iny 
          sta l0200-5,y:lda l0200-5,y
          beq la609:sec :sbc #$3a
          beq la5dc:cmp #$49
          bne la5de
 la5dc    sta LISTHKFL
 la5de    sec 
          sbc #$55:beq la582x:jmp la582:la582x
          sta HKFL
 la5e5    lda l0200,x:beq la5c9
          cmp HKFL:beq la5c9
 la5ee    iny :sta l0200-5,y
          inx :bne la5e5

 la5f5    ldx BASZEI:inc DIM
 la5f9    iny :lda la09enew-1,y
          bpl la5f9:lda la09enew,y:bne la5b8n

          lda l0200,x:bpl la5c7
 la609    sta l0200-3,y
#if l0200 & $00ff
          lda #>l0200-1:sta BASZEI+1
#else
          dec BASZEI+1
#endif
 lda #<l0200-1:sta BASZEI:rts 
 171 la613 lda BASANF:ldx BASANF+1:la617 ldy #$01:sta akku4+3:stx akku4+4
 172 lda (akku4+3),y:beq la640:iny :iny :lda INT+1
 173 cmp (akku4+3),y:bcc la641:beq la62e:dey :bne la637
 174 la62e lda INT:dey :cmp (akku4+3),y:bcc la641:beq la641
 175 la637 dey :lda (akku4+3),y:tax :dey :lda (akku4+3),y
 176 bcs la617:la640 clc :la641 rts 
 lnew bne la641:la644 lda #$00
 177 tay :sta (BASANF),y:iny :sta (BASANF),y:lda BASANF
 178 clc :adc #$02:sta VARANF:lda BASANF+1:adc #$00
 179 sta VARANF+1:la659 jsr la68e:lda #$00
 lclr bne la68d:la660 jsr lffe7
 180 la663 lda BASEND:ldy BASEND+1:sta STRANF:sty STRANF+1:lda VARANF
 181 ldy VARANF+1:sta ARRANF:sty ARRANF+1:sta ARREND:sty ARREND+1
 182 la677 jsr la81d:la67a ldx #$19:stx STRPTR:pla :tay 
 183 pla :ldx #$fa:txs :pha :tya 
 184 pha :lda #$00:sta NEXTSTAT+1:sta FNFL:la68d rts 
 185 la68e clc :lda BASANF:adc #$ff:sta BASZEI:lda BASANF+1
 186 adc #$ff:sta BASZEI+1:rts 

listfl    =syszp
-syszp    +=1

 enter    .(
          beq ll1
          cmp #34   ; Hochkomma
          bne ll1
          lda #$00:jsr lffbd
          ldx #<-1:ldy #FS_OPEN_RD:jsr lffba
          jsr CHRGOT
          jsr le257      ; Filename holen
          jsr CHRGOT:beq ll1
          jsr le200      ; byte nach x holen
          ldy #FS_OPEN_RD
          jsr lffba
          jsr CHRGOT:beq ll4
 ll1      jmp syntax
 ll4      jsr xopen
          bcc ll2
          jmp la437
 ll2      lda stream
          jsr dupin
          bcc ll1y
          tax
          lda #SC_NUL
          jsr STRCMD
          ldx #1
          jmp la437
 ll1y     rts
          .)
          
 llist    .(
          cmp #34   ; Hochkomma
          bne ll1
          lda #$00:jsr lffbd
          ldx #<-1:ldy #FS_OPEN_WR:jsr lffba
          jsr CHRGOT:beq ll1
          jsr le257      ; Filename holen
          jsr CHRGOT:beq ll1
          jsr le200      ; byte nach x holen
          ldy #FS_OPEN_WR
          jsr lffba
          jsr CHRGOT:beq ll4
          jsr prkomma      ; falls noch zeichen dann test auf komma
 ll4      jsr xopen
          bcc ll2
          jmp la437
 ll2      lda stream
          jmp ll1x
 ll1      ldx #STDOUT
          lda #SC_REG_WR
          jsr STRCMD
          lda #STDOUT
 ll1x     jsr dupout
          bcc ll1y
          tax
          lda #SC_EOF
          jsr STRCMD
          ldx #1
          jmp la437
 ll1y     jsr CHRGOT:jsr parlist
          pla :pla :lda INT:ora INT+1
 190 bne la6c9:lda #$ff:sta INT:sta INT+1:la6c9 jsr laad7
 ldy #$01
 191 sty LISTHKFL:lda (akku4+3),y:beq la714:jsr lffe1:bne lok
 jsr clout:lda #0:jmp lstop:lok ;jsr laad7
 192 iny :lda (akku4+3),y:tax :iny :lda (akku4+3),y
 193 cmp INT+1:bne la6e6:cpx INT:beq la6e8:la6e6 bcs la714
 194 la6e8 ;sty FORVAR
          jsr listline
          bcs la714
          tay :lda (akku4+3),y:tax 
          iny :lda (akku4+3),y:stx akku4+3:sta akku4+4:bne la6c9
 la714    jsr clout
          jmp le386
          .)
          
 dumplist lda #128
          sta listfl
          ldy #0
          jmp la703

 la714n   sec
          rts
 la707n   clc
          rts 
 listline sty FORVAR
          jsr adrout
          lda #0
          sta listfl
          lda #$20
 la6ef    ldy FORVAR:and  #$7f
 la6f3    cmp #":":bne la6f6
          bit listfl:bmi la707n
 la6f6    jsr basout:cmp #$22:bne la700
          lda LISTHKFL:eor  #$ff:sta LISTHKFL
 la700    iny :beq la714n
 la703    lda (akku4+3),y:beq la707n;bne la717
 ;la717   : jmp (l0306)
 la71a    bpl la6f3:cmp #$ff:beq la6f3
          bit LISTHKFL:bmi la6f3:sec :sbc #$7f:tax 
          sty FORVAR:ldy #$ff
 la72c    dex :beq la737
 la72f    iny 
          lda la09e,y:beq newlist:bpl la72f:bmi la72c
 la737    iny :lda la09e,y
          beq nll
          bmi la6ef:jsr basout:bne la737

 nll      ldy #<-1
          bne nl2
 newlist  ldy #<-1
          bne nl3
 nl1      dex
          beq nl2
 nl3      iny
          lda la09enew,y
          bpl nl3
          bmi nl1
 nl2      iny
          lda la09enew,y
          bmi la6ef
          jsr basout
          bne nl2
          
 lfor lda #$80:sta FNFL
 204 jsr la9a5:jsr la38a:bne la753:txa :adc #$0f
 205 tax :txs :la753 pla :pla :lda #$09
 206 jsr la3fb:jsr la906:clc :tya :adc BASZEI
 207 pha :lda BASZEI+1:adc #$00:pha :lda ZEINR+1
 208 pha :lda ZEINR:pha :lda #$a4:jsr laeff
 209 jsr lad8d:jsr frmnum:lda FAC+5:ora #$7f:and  FAC+1
 210 sta FAC+1:lda #<la78b:ldy #>la78b:sta l0022:sty l0023
 211 jmp lae43:la78b lda #<lb9bc:ldy #>lb9bc:jsr lbba2:jsr CHRGOT
 212 cmp #$a9:bne la79f:jsr CHRGET:jsr frmnum:la79f jsr lbc2b
 213 jsr lae38:lda FORVAR+1:pha :lda FORVAR:pha 
 214 lda #$81:pha :la7ae jsr getstop:lda BASZEI:ldy BASZEI+1
 215 cpy #>l0200:beq la7be:sta NEXTSTAT:sty NEXTSTAT+1
 216 la7be ldy #$00:lda (BASZEI),y:bne la807:ldy #$02:lda (BASZEI),y
 217 clc :bne la7ce:jmp la84b:la7ce iny :lda (BASZEI),y
 218 sta ZEINR:iny :lda (BASZEI),y:sta ZEINR+1:tya 
 219 adc BASZEI:sta BASZEI:bcc la7e1:inc BASZEI+1:la7e1 jmp (l0308)
 la7e4 jsr CHRGET:la7e7 jsr la7ed:jmp la7ae:la7ed beq la82b:la7ef sbc #$80
 221 bcc la804
#ifdef SHOW
          pha
          jsr xHEXOUT
          pla
#endif
          cmp #$4c            ; ist neuer Befehl
          bcc la7f3           ; nein dann normal
          sbc #$4c-$23        ; neue adressen direkt hinter alten
          jmp la7f7
 la7f3    cmp #$23:bcs la80e  ; dann function-code
 la7f7    
#ifdef SHOW
          pha
          jsr xHEXOUT
          pla
#endif
          asl :tay 
 222 lda la00c+1,y:pha :lda la00c,y:pha :jmp CHRGET
 223 la804 jmp la9a5:la807 cmp #$3a:beq la7e1:la80b jmp syntax:la80e cmp #$4b
 224 bne la80b:jsr CHRGET:lda #$a4:jsr laeff:jmp la8a0
 lrestore la81d sec :lda BASANF:sbc #$01:ldy BASANF+1:bcs la827
 226 dey :la827 sta NEXTDATA:sty NEXTDATA+1:la82b rts :getstop jsr lffe1
 lstop bcs la832:
 lend clc :la832 bne la870:lda BASZEI:ldy BASZEI+1
 228 ldx ZEINR+1:inx :beq la849:sta NEXTSTAT:sty NEXTSTAT+1
 229 lda ZEINR:ldy ZEINR+1:sta PRVZEINR:sty PRVZEINR+1:la849 pla 
 230 pla :la84b lda #<la381:ldy #>la381:bcc la854:jmp la469
 231 la854 jmp le386
 lcont bne la870:ldx #$1a:ldy NEXTSTAT+1:bne la862
 232 jmp la437:la862 lda NEXTSTAT:sta BASZEI:sty BASZEI+1:lda PRVZEINR
 233 ldy PRVZEINR+1:sta ZEINR:sty ZEINR+1:la870 rts :
 lrun php 
 234 lda #$00:jsr lff90:plp :bne la87d:jmp la659
 235 la87d jsr la660:jmp la897
 lgosub lda #$03:jsr la3fb:lda BASZEI+1
 236 pha :lda BASZEI:pha :lda ZEINR+1:pha 
 237 lda ZEINR:pha :lda #$8d:pha :la897 jsr CHRGOT
 238 jsr la8a0:jmp la7ae
 lgoto la8a0 jsr la96b:jsr la909:sec 
 239 lda ZEINR:sbc INT:lda ZEINR+1:sbc INT+1:bcs la8bc
 240 tya :sec :adc BASZEI:ldx BASZEI+1:bcc la8c0
 241 inx :bcs la8c0:la8bc lda BASANF:ldx BASANF+1:la8c0 jsr la617
 242 bcc la8e3:lda akku4+3:sbc #$01:sta BASZEI:lda akku4+4
 243 sbc #$00:sta BASZEI+1:la8d1 rts 
 lreturn bne la8d1:lda #$ff
 244 sta FORVAR+1:jsr la38a:txs :cmp #$8d:beq la8eb
 245 ldx #$0c:.byt $2c :la8e3 ldx #$11:jmp la437:la8e8 jmp syntax
 246 la8eb pla :pla :sta ZEINR:pla :sta ZEINR+1
 247 pla :sta BASZEI:pla :sta BASZEI+1
 ldata la8f8 jsr la906
 248 la8fb tya :clc :adc BASZEI:sta BASZEI:bcc la905
 249 inc BASZEI+1:la905 rts :la906 ldx #$3a:.byt $2c :la909 ldx #$00
 250 stx SUCHCHAR:ldy #$00:sty HKFL:la911 lda HKFL:ldx SUCHCHAR
 251 sta SUCHCHAR:stx HKFL:la919 lda (BASZEI),y:beq la905:cmp HKFL
 252 beq la905:iny :cmp #$22:bne la919:beq la911
 lif jsr lad9e:jsr CHRGOT:cmp #$89:beq la937:lda #$a7
 254 jsr laeff:la937 lda FAC:bne la940
 lrem jsr la909:beq la8fb
 255 la940 jsr CHRGOT:bcs la948:jmp la8a0:la948 jmp la7ed
 lon jsr getbyt
 256 pha :cmp #$8d:beq la957:la953 cmp #$89:bne la8e8
 257 la957 dec FAC+4:bne la95f:pla :jmp la7ef:la95f jsr CHRGET
 258 jsr la96b:cmp #$2c:beq la957:pla :la96a rts 
 259 la96b ldx #$00:stx INT:stx INT+1:la971 bcs la96a:sbc #$2f
 260 sta SUCHCHAR:lda INT+1:sta l0022:cmp #$19:bcs la953
 261 lda INT:asl :rol l0022:asl :rol l0022
 262 adc INT:sta INT:lda l0022:adc INT+1:sta INT+1
 263 asl INT:rol INT+1:lda INT:adc SUCHCHAR:sta INT
 264 bcc la99f:inc INT+1:la99f jsr CHRGET:jmp la971
 llet la9a5 jsr lb08b:sta FORVAR:sty FORVAR+1:lda #$b2
 266 jsr laeff:lda INTFL:pha :lda STRINGFL:pha 
 267 jsr lad9e:pla :rol :jsr lad90:bne la9d9
 268 pla :la9c2 bpl la9d6:jsr lbc1b:jsr lb1bf:ldy #$00
 269 lda FAC+3:sta (FORVAR),y:iny :lda FAC+4:sta (FORVAR),y
 270 rts :la9d6 jmp lbbd0:la9d9 pla :la9da ldy FORVAR+1:cpy #$bf
 271 bne laa2c:jsr lb6a6:cmp #$06:bne laa24:ldy #$00
 272 sty FAC:sty FAC+5:la9ed sty l0071:jsr laa1d:jsr lbae2
 273 inc l0071:ldy l0071:jsr laa1d:jsr lbc0c:tax 
 274 beq laa07:inx :txa :jsr lbaed:laa07 ldy l0071
 275 iny :cpy #$06:bne la9ed:jsr lbae2:jsr lbc9b
 276 ldx FAC+3:ldy FAC+2:lda FAC+4:jmp lffdb:laa1d lda (l0022),y
 277 jsr l0080:bcc laa27:laa24 jmp illquant:laa27 sbc #$2f:jmp lbd7e
 278 laa2c ldy #$02:lda (FAC+3),y:cmp STRANF+1:bcc laa4b:bne laa3d
 279 dey :lda (FAC+3),y:cmp STRANF:bcc laa4b:laa3d ldy FAC+4
 280 cpy VARANF+1:bcc laa4b:bne laa52:lda FAC+3:cmp VARANF
 281 bcs laa52:laa4b lda FAC+3:ldy FAC+4:jmp laa68:laa52 ldy #$00
 282 lda (FAC+3),y:jsr lb475:lda l0050:ldy l0051:sta ARG+6
 283 sty ARG+7:jsr lb67a:lda #<FAC:ldy #>FAC:laa68 sta l0050
 284 sty l0051:jsr lb6db:ldy #$00:lda (l0050),y:sta (FORVAR),y
 285 iny :lda (l0050),y:sta (FORVAR),y:iny :lda (l0050),y
 286 sta (FORVAR),y:rts 
 lprintf jsr laa86:jmp labb5
 lcmd laa86 jsr getbyt
 287 beq laa90:lda #$2c:jsr laeff:laa90 php :stx ACTIO
 288 jsr le118:plp :jmp laaa0:laa9a jsr lab21:laa9d jsr CHRGOT
 lprint laaa0 beq laad7:laaa2 beq laae7:cmp #$a3:beq laaf8:cmp #$a6
 290 clc :beq laaf8:cmp #$2c:beq laae8:cmp #$3b
 291 beq lab13:jsr lad9e:bit STRINGFL:bmi laa9a:jsr lbddd
 292 jsr lb487:jsr lab21:jsr lab3b:bne laa9d:laaca lda #$00
 293 sta l0200,x:ldx #<l0200-1:ldy #>l0200-1:lda ACTIO:bne laae7
 294 laad7 lda #$0d:jsr basout:;bit ACTIO:;bpl laae5:lda #$0a
 295 jsr basout:laae5 eor  #$ff:laae7 rts :laae8 sec :jsr lfff0
 296 tya :sec :laaee sbc #$0a:bcs laaee:eor  #$ff
 297 adc #$01:bne lab0e:laaf8 php :sec :jsr lfff0
 298 sty TABSPAL:jsr lb79b:cmp #$29:bne lab5f:plp 
 299 bcc lab0f:txa :sbc TABSPAL:bcc lab13:lab0e tax 
 300 lab0f inx :lab10 dex :bne lab19:lab13 jsr CHRGET:jmp laaa2
 301 lab19 jsr lab3b:bne lab10:strout jsr lb487:lab21 jsr lb6a6:tax 
 302 ldy #$00:inx :lab28 dex :beq laae7:lda (l0022),y
 303 jsr basout:iny :cmp #$0d:bne lab28:jsr laae5
 304 jmp lab28:lab3b lda ACTIO:beq lab42:lda #$20:.byt $2c 
 305 lab42 lda #$1d:.byt $2c :lab45 lda #$3f:basout jsr le10c:and  #$ff
 306 rts :lab4d lda INPUTFL:beq lab62:bmi lab57:ldy #$ff
 307 bne lab5b:lab57 lda DZEINR:ldy DZEINR+1:lab5b sta ZEINR:sty ZEINR+1
 308 lab5f jmp syntax:lab62 lda ACTIO:beq lab6b:ldx #$18:jmp la437
 309 lab6b lda #<lad0c:ldy #>lad0c:jsr strout:lda NEXTSTAT:ldy NEXTSTAT+1
 310 sta BASZEI:sty BASZEI+1:rts 
 lget jsr lb3a6:cmp #$23
 311 bne lab92:jsr CHRGET:jsr getbyt:lda #$2c:jsr laeff
 312 stx ACTIO:jsr le11e:lab92 ldx #<l0200+1:ldy #>l0200+1:lda #$00
 313 sta l0200+1:lda #$40:jsr lac0f:ldx ACTIO:bne labb7
 314 rts 
 linputf jsr getbyt:lda #$2c:jsr laeff:stx ACTIO
 315 jsr le11e:jsr labce:labb5 lda ACTIO:labb7 jsr lffcc:ldx #$00
 316 stx ACTIO:rts 
 linput cmp #$22:bne labce:jsr laebd
 317 lda #$3b:jsr laeff:jsr lab21:labce jsr lb3a6:lda #$2c
 318 sta l0200-1:labd6 jsr labf9:lda ACTIO:beq labea:jsr lffb7
 319 and  #$02:beq labea:jsr labb5:jmp la8f8:labea lda l0200
 320 bne lac0d:lda ACTIO:bne labd6:jsr la906:jmp la8fb
 321 labf9 lda ACTIO:bne lac03:jsr lab45:jsr lab3b:lac03 jmp linein
 lread ldx NEXTDATA:ldy NEXTDATA+1:lda #$98:.byt $2c :lac0d lda #$00
 323 lac0f sta INPUTFL:stx l0043:sty l0043+1:lac15 jsr lb08b:sta FORVAR
 324 sty FORVAR+1:lda BASZEI:ldy BASZEI+1:sta l004b:sty l004b+1
 325 ldx l0043:ldy l0043+1:stx BASZEI:sty BASZEI+1:jsr CHRGOT
 326 bne lac51:bit INPUTFL:bvc lac41:jsr le124:sta l0200
 327 ldx #<l0200-1:ldy #>l0200-1:bne lac4d:lac41 bmi lacb8:lda ACTIO
 328 bne lac4a:jsr lab45:lac4a jsr labf9:lac4d stx BASZEI:sty BASZEI+1
 329 lac51 jsr CHRGET:bit STRINGFL:bpl lac89:bit INPUTFL:bvc lac65
 330 inx :stx BASZEI:lda #$00:sta SUCHCHAR:beq lac71
 331 lac65 sta SUCHCHAR:cmp #$22:beq lac72:lda #$3a:sta SUCHCHAR
 332 lda #$2c:lac71 clc :lac72 sta HKFL:lda BASZEI:ldy BASZEI+1
 333 adc #$00:bcc lac7d:iny :lac7d jsr lb48d:jsr lb7e2
 334 jsr la9da:jmp lac91:lac89 jsr lbcf3:lda INTFL:jsr la9c2
 335 lac91 jsr CHRGOT:beq lac9d:cmp #$2c:beq lac9d:jmp lab4d
 336 lac9d lda BASZEI:ldy BASZEI+1:sta l0043:sty l0043+1:lda l004b
 337 ldy l004b+1:sta BASZEI:sty BASZEI+1:jsr CHRGOT:beq lacdf
 338 jsr prkomma:jmp lac15:lacb8 jsr la906:iny :tax 
 339 bne lacd1:ldx #$0d:iny :lda (BASZEI),y:beq lad32
 340 iny :lda (BASZEI),y:sta DZEINR:iny :lda (BASZEI),y
 341 iny :sta DZEINR+1:lacd1 jsr la8fb:jsr CHRGOT:tax 
 342 cpx #$83:bne lacb8:jmp lac51:lacdf lda l0043:ldy l0043+1
 343 ldx INPUTFL:bpl lacea:jmp la827:lacea ldy #$00:lda (l0043),y
 344 beq lacfb:lda ACTIO:bne lacfb:lda #<lacfc:ldy #>lacfc
 345 jmp strout:lacfb rts
 lacfc    .asc "?EXTRA IGNORED",13,0
 lad0c    .asc "?REDO FROM START",13,0
 lnext bne lad24:ldy #$00:beq lad27:lad24 jsr lb08b
 350 lad27 sta FORVAR:sty FORVAR+1:jsr la38a:beq lad35:ldx #$0a
 351 lad32 jmp la437:lad35 txs :txa :clc :adc #$04
 352 pha :adc #$06:sta l0024:pla :ldy #$01
 353 jsr lbba2:tsx :lda stack+9,x:sta FAC+5:lda FORVAR
 354 ldy FORVAR+1:jsr lb867:jsr lbbd0:ldy #$01:jsr lbc5d
 355 tsx :sec :sbc stack+9,x:beq lad78:lda stack+$f,x
 356 sta ZEINR:lda stack+$10,x:sta ZEINR+1:lda stack+$12,x:sta BASZEI
 357 lda stack+$11,x:sta BASZEI+1:lad75 jmp la7ae:lad78 txa :adc #$11
 358 tax :txs :jsr CHRGOT:cmp #$2c:bne lad75
 359 jsr CHRGET:jsr lad24
 frmnum jsr lad9e:lad8d clc :.byt $24 
 360 lad8f sec :lad90 bit STRINGFL:bmi lad97:bcs lad99:lad96 rts 
 361 lad97 bcs lad96:lad99 ldx #$16:jmp la437
 lad9e 
     ldx BASZEI:bne lada4
 362 dec BASZEI+1:lada4 dec BASZEI
 ldx #$00:.byt $24 :lada9 pha 
 363 txa :pha :lda #$01:jsr la3fb:jsr lae83
 364 lda #$00:sta l004d:ladb8 jsr CHRGOT:ladbb sec :sbc #$b1
 365 bcc ladd7:cmp #$03:bcs ladd7:cmp #$01:rol 
 366 eor  #$01:eor  l004d:cmp l004d:bcc lae30:sta l004d
 367 jsr CHRGET:jmp ladbb
 ladd7
     ldx l004d:bne lae07:bcs lae58x
 368 adc #$07:bcc lae58x:adc STRINGFL:bne lade8:jmp lb63d
 369 lade8 adc #$ff:sta l0022:asl :adc l0022:tay 
 370 ladf0 pla :cmp la080,y:bcs lae5d:jsr lad8d:ladf9 pha 
 371 ladfa jsr lae20:pla :ldy l004b:bpl lae19:tax 
 372 beq lae5b:bne lae66:lae07 lsr STRINGFL:txa :rol 
 373 ldx BASZEI:bne lae11:dec BASZEI+1:lae11 dec BASZEI:ldy #$1b
 374 sta l004d:bne ladf0:lae19 cmp la080,y:bcs lae66:bcc ladf9
 375 lae20 lda la080+2,y:pha :lda la080+1,y:pha :

     jsr lae33
     lda l004d:jmp lada9
 lae30 jmp syntax

 lae58x jmp lae58

 lae33    lda FAC+5:ldx la080,y

 lae38    tay :pla :sta l0022:pla:sta l0022+1
          inc l0022:bne laexx:inc l0022+1:laexx

 378 tya :pha :lae43 jsr lbc1b:lda FAC+4
 379 pha :lda FAC+3:pha :lda FAC+2:pha 
 380 lda FAC+1:pha :lda FAC:pha :jmp (l0022)
 381 lae58 ldy #$ff:pla :lae5b beq lae80:lae5d cmp #$64:beq lae64
 382 jsr lad8d:lae64 sty l004b:lae66 pla :lsr :sta ATNSIGN
 383 pla :sta ARG:pla :sta ARG+1:pla 
 384 sta ARG+2:pla :sta ARG+3:pla :sta ARG+4
 385 pla :sta ARG+5:eor  FAC+5:sta ARG+6:lae80 lda FAC
 386 rts 
 
 laea8    .byt $82,$49,$0f,$da,$a1

 lae83    jmp (l030a)
 lae86    lda #$00:sta STRINGFL:lae8a jsr CHRGET
          bcs lae92:lae8f jmp lbcf3
 lae92    ;hier neue Functionen einbinden
          jsr lb113:bcc lae9a
          jmp laf28
 lae9a    cmp #"$":beq dezhex
          cmp #"%":beq decbin
          cmp #"&":beq decoktx
          cmp #$ff:bne laead:lda #<laea8:ldy #>laea8:jsr lbba2
          jmp CHRGET

 390 laead cmp #$2e:beq lae8f:cmp #$ab:beq laf0dx:cmp #$aa
 391 beq lae8a:cmp #$22:bne laeccx:laebd lda BASZEI:ldy BASZEI+1
 392 adc #$00:bcc laec6:iny :laec6 jsr lb487:jmp lb7e2

 laf0dx   jmp laf0d
 laeccx   jmp laecc
 decoktx  jmp decokt
 
 decbin   lda #0:sta FAC+1:sta FAC+2
          ldy #1
 deb1     lda (BASZEI),y:jsr decbit:bcs hexend
          lsr:rol FAC+2:rol FAC+1:bcs overfl
          iny:bpl deb1:bmi hexend
 
 decbit   sec:sbc #"0":cmp #2:rts
  
 dezhex   ldy #1:lda #0
          sta FAC+2:sta FAC+1
 hex1     lda (BASZEI),y
          jsr deznib:bcs hexend
          asl FAC+2:rol FAC+1:bcs overfl
          asl FAC+2:rol FAC+1:bcs overfl
          asl FAC+2:rol FAC+1:bcs overfl
          asl FAC+2:rol FAC+1:bcs overfl
          clc
          adc FAC+2
          sta FAC+2          
          iny
          bpl hex1
 hexend   tya
          clc
          adc BASZEI
          sta BASZEI
          bcc dec2
          inc BASZEI+1
 dec2     ldx #$90:sec:jmp lbc49
 
 deznib   sec:sbc #"0":cmp #10:bcc dec1
          cmp #"A"-"0":bcc nend
          sec:sbc #7:dec1 cmp #16:bcc nenc
          eor #%00100000:cmp #16:rts
 nend     sec:nenc rts

 overfl   jmp illquant
 
 decokt   ldy #1:lda #0
          sta FAC+2:sta FAC+1
 okt1     lda (BASZEI),y
          jsr oktnib:bcs hexend
          asl FAC+2:rol FAC+1:bcs overfl
          asl FAC+2:rol FAC+1:bcs overfl 
          asl FAC+2:rol FAC+1:bcs overfl
          clc
          adc FAC+2
          sta FAC+2          
          iny
          bpl okt1
          tya
          clc
          adc BASZEI
          sta BASZEI
          bcc okt2
          inc BASZEI+1
 okt2     ldx #$90:sec:jmp lbc49
 
 oktnib   sec:sbc #"0":cmp #8:rts

 393 laecc cmp #$a8:bne laee3:ldy #$18:bne laf0f
 lnot jsr lb1bf
 394 lda FAC+4:eor  #$ff:tay :lda FAC+3:eor  #$ff
 395 jmp lb391:laee3 cmp #$a5:bne laeea:jmp lb3f4:laeea cmp #$b4
 396 bcc laef1:jmp lafa7:laef1 jsr laefa:jsr lad9e:laef7 lda #$29
 397 .byt $2c :laefa lda #$28:.byt $2c :prkomma lda #$2c:laeff ldy #$00
 398 cmp (BASZEI),y:bne syntax:jmp CHRGET:syntax ldx #$0b:jmp la437
 399 laf0d ldy #$15:laf0f pla :pla :jmp ladfa:laf14 sec 
 400 lda FAC+3:sbc #<romanf:lda FAC+4:sbc #>romanf:bcc laf27
 401 lda #<romend:sbc FAC+3:lda #>romend:sbc FAC+4:laf27 rts 
 402 laf28 jsr lb08b:sta FAC+3:sty FAC+4:ldx VARNAME:ldy VARNAME+1
 403 lda STRINGFL:beq laf5d:lda #$00:sta ARG+7:jsr laf14
 404 bcc laf5c:cpx #$54:bne laf5c:cpy #$c9:bne laf5c
 405 jsr laf84:sty akku4+2:dey :sty l0071:ldy #$06
 406 sty akku4+1:ldy #$24:jsr lbe68:jmp lb46f:laf5c rts 
 407 laf5d bit INTFL:bpl laf6e:ldy #$00:lda (FAC+3),y:tax 
 408 iny :lda (FAC+3),y:tay :txa :jmp lb391
 409 laf6e jsr laf14:bcc lafa0:cpx #$54:bne laf92:cpy #$49
 410 bne lafa0:jsr laf84:tya :ldx #$a0:jmp lbc4f
 411 laf84 jsr lffde:stx FAC+3:sty FAC+2:sta FAC+4:ldy #$00
 412 sty FAC+1:rts :laf92 cpx #$53:bne lafa0:cpy #$54
 413 bne lafa0:jsr lffb7:jmp lbc3c:lafa0 lda FAC+3:ldy FAC+4
 414 jmp lbba2:lafa7 asl :pha :tax :jsr CHRGET
 415 cpx #$8f:bcc lafd1:jsr laefa:jsr lad9e:jsr prkomma
 416 jsr lad8f:pla :tax :lda FAC+4:pha 
 417 lda FAC+3:pha :txa :pha :jsr getbyt
 418 pla :tay :txa :pha :jmp lafd6
 419 lafd1 jsr laef1:pla :tay :lafd6 lda la052-$68,y:sta l0055
 420 lda la052-$67,y:sta l0055+1:jsr l0054:jmp lad8d
 lor ldy #$ff:.byt $2c
 land ldy #0:sty DIM:jsr lb1bf:lda FAC+3:eor  DIM
 422 sta SUCHCHAR:lda FAC+4:eor  DIM:sta HKFL:jsr lbbfc
 423 jsr lb1bf:lda FAC+4:eor  DIM:and  HKFL:eor  DIM
 424 tay :lda FAC+3:eor  DIM:and  SUCHCHAR:eor  DIM
 425 jmp lb391
 lcmp jsr lad90:bcs lb02e:lda ARG+5:ora #$7f
 426 and  ARG+1:sta ARG+1:lda #<ARG:ldy #>ARG:jsr lbc5b
 427 tax :jmp lb061:lb02e lda #$00:sta STRINGFL:dec l004d
 428 jsr lb6a6:sta FAC:stx FAC+1:sty FAC+2:lda ARG+3
 429 ldy ARG+4:jsr lb6aa:stx ARG+3:sty ARG+4:tax 
 430 sec :sbc FAC:beq lb056:lda #$01:bcc lb056
 431 ldx FAC:lda #$ff:lb056 sta FAC+5:ldy #$ff:inx 
 432 lb05b iny :dex :bne lb066:ldx FAC+5:lb061 bmi lb072
 433 clc :bcc lb072:lb066 lda (ARG+3),y:cmp (FAC+1),y:beq lb05b
 434 ldx #$ff:bcs lb072:ldx #$01:lb072 inx :txa 
 435 rol :and  ATNSIGN:beq lb07b:lda #$ff:lb07b jmp lbc3c
 436 lb07e jsr prkomma
 ldim tax :jsr lb090:jsr CHRGOT:bne lb07e
 437 rts :lb08b ldx #$00:jsr CHRGOT:lb090 stx DIMFL:lb092 sta VARNAME
 438 jsr CHRGOT:jsr lb113:bcs lb09f:lb09c jmp syntax:lb09f ldx #$00
 439 stx STRINGFL:stx INTFL:jsr CHRGET:bcc lb0af:jsr lb113
 440 bcc lb0ba:lb0af tax :lb0b0 jsr CHRGET:bcc lb0b0:jsr lb113
 441 bcs lb0b0:lb0ba cmp #$24:bne lb0c4:lda #$ff:sta STRINGFL
 442 bne lb0d4:lb0c4 cmp #$25:bne lb0db:lda FNFL:bne lb09c
 443 lda #$80:sta INTFL:ora VARNAME:sta VARNAME:lb0d4 txa 
 444 ora #$80:tax :jsr CHRGET:lb0db stx VARNAME+1:sec 
 445 ora FNFL:sbc #$28:bne lb0e7:jmp lb1d1:lb0e7 ldy #$00
 446 sty FNFL:lda VARANF:ldx VARANF+1:lb0ef stx akku4+4:lb0f1 sta akku4+3
 447 cpx ARRANF+1:bne lb0fb:cmp ARRANF:beq lb11d:lb0fb lda VARNAME
 448 cmp (akku4+3),y:bne lb109:lda VARNAME+1:iny :cmp (akku4+3),y
 449 beq lb185a:dey :lb109 clc :lda akku4+3:adc #$07
 450 bcc lb0f1:inx :bne lb0ef

 lb113 cmp #"A":bcc lb11c:cmp #"Z"+1:bcc lb1cs
 cmp #"a":bcc lb11c:cmp #"z"+1:bcc lb1cs:lb11c clc:rts
 lb1cs sec: rts:lb185a beq lb185 

 lb11d pla 
 452 pha :cmp #<laf28+2; lobyte R�cksprungadresse
          bne lb128:lb123 lda #<lbf13:ldy #>lbf13
 453 rts :lb128 lda VARNAME:ldy VARNAME+1:cmp #$54:bne lb13b
 454 cpy #$c9:beq lb123:cpy #$49:bne lb13b:lb138 jmp syntax
 455 lb13b cmp #$53:bne lb143:cpy #$54:beq lb138:lb143 lda ARRANF
 456 ldy ARRANF+1:sta akku4+3:sty akku4+4:lda ARREND:ldy ARREND+1
 457 sta akku3+3:sty akku3+4:clc :adc #$07:bcc lb159
 458 iny :lb159 sta akku3+1:sty akku3+2:jsr la3b8:lda akku3+1
 459 ldy akku3+2:iny :sta ARRANF:sty ARRANF+1:ldy #$00
 460 lda VARNAME:sta (akku4+3),y:iny :lda VARNAME+1:sta (akku4+3),y
 461 lda #$00:iny :sta (akku4+3),y:iny :sta (akku4+3),y
 462 iny :sta (akku4+3),y:iny :sta (akku4+3),y:iny 
 463 sta (akku4+3),y:lb185 lda akku4+3:clc :adc #$02:ldy akku4+4
 464 bcc lb18f:iny :lb18f sta VARADR:sty VARADR+1:rts 
 465 lb194 lda DIM:asl :adc #$05:adc akku4+3:ldy akku4+4
 466 bcc lb1a0:iny :lb1a0 sta akku3+1:sty akku3+2:rts 
 lb1a5    .byt $90,$80,$00,$00,$00
 lb1aa    jsr lb1bf
 468 lda FAC+3:ldy FAC+4:rts :lb1b2 jsr CHRGET:jsr lad9e
 469 lb1b8 jsr lad8d:lda FAC+5:bmi lb1cc:lb1bf lda FAC:cmp #$90
 470 bcc lb1ce:lda #<lb1a5:ldy #>lb1a5:jsr lbc5b:lb1cc bne illquant
 471 lb1ce jmp lbc9b:lb1d1 lda DIMFL:ora INTFL:pha :lda STRINGFL
 472 pha :ldy #$00:lb1db tya :pha :lda VARNAME+1
 473 pha :lda VARNAME:pha :jsr lb1b2:pla 
 474 sta VARNAME:pla :sta VARNAME+1:pla :tay 
 475 tsx :lda stack+2,x:pha :lda stack+1,x:pha 
 476 lda FAC+3:sta stack+2,x:lda FAC+4:sta stack+1,x:iny 
 477 jsr CHRGOT:cmp #$2c:beq lb1db:sty DIM:jsr laef7
 478 pla :sta STRINGFL:pla :sta INTFL:and  #$7f
 479 sta DIMFL:ldx ARRANF:lda ARRANF+1:lb21c stx akku4+3:sta akku4+4
 480 cmp ARREND+1:bne lb228:cpx ARREND:beq lb261:lb228 ldy #$00
 481 lda (akku4+3),y:iny :cmp VARNAME:bne lb237:lda VARNAME+1
 482 cmp (akku4+3),y:beq lb24d:lb237 iny :lda (akku4+3),y:clc 
 483 adc akku4+3:tax :iny :lda (akku4+3),y:adc akku4+4
 484 bcc lb21c:lb245 ldx #$12:.byt $2c :illquant ldx #$0e:lb24a jmp la437
 485 lb24d ldx #$13:lda DIMFL:bne lb24a:jsr lb194:lda DIM
 486 ldy #$04:cmp (akku4+3),y:bne lb245:jmp lb2ea:lb261 jsr lb194
 487 jsr la408:ldy #$00:sty l0071+1:ldx #$05:lda VARNAME
 488 sta (akku4+3),y:bpl lb274:dex :lb274 iny :lda VARNAME+1
 489 sta (akku4+3),y:bpl lb27d:dex :dex :lb27d stx l0071
 490 lda DIM:iny :iny :iny :sta (akku4+3),y
 491 lb286 ldx #$0b:lda #$00:bit DIMFL:bvc lb296:pla 
 492 clc :adc #$01:tax :pla :adc #$00
 493 lb296 iny :sta (akku4+3),y:iny :txa :sta (akku4+3),y
 494 jsr lb34c:stx l0071:sta l0071+1:ldy l0022:dec DIM
 495 bne lb286:adc akku3+2:bcs lb30b:sta akku3+2:tay 
 496 txa :adc akku3+1:bcc lb2b9:iny :beq lb30b
 497 lb2b9 jsr la408:sta ARREND:sty ARREND+1:lda #$00:inc l0071+1
 498 ldy l0071:beq lb2cd:lb2c8 dey :sta (akku3+1),y:bne lb2c8
 499 lb2cd dec akku3+2:dec l0071+1:bne lb2c8:inc akku3+2:sec 
 500 lda ARREND:sbc akku4+3:ldy #$02:sta (akku4+3),y:lda ARREND+1
 501 iny :sbc akku4+4:sta (akku4+3),y:lda DIMFL:bne lb34b
 502 iny :lb2ea lda (akku4+3),y:sta DIM:lda #$00:sta l0071
 503 lb2f2 sta l0071+1:iny :pla :tax :sta FAC+3
 504 pla :sta FAC+4:cmp (akku4+3),y:bcc lb30e:bne lb308
 505 iny :txa :cmp (akku4+3),y:bcc lb30f:lb308 jmp lb245
 506 lb30b jmp la435:lb30e iny :lb30f lda l0071+1:ora l0071:clc 
 507 beq lb320:jsr lb34c:txa :adc FAC+3:tax 
 508 tya :ldy l0022:lb320 adc FAC+4:stx l0071:dec DIM
 509 bne lb2f2:sta l0071+1:ldx #$05:lda VARNAME:bpl lb331
 510 dex :lb331 lda VARNAME+1:bpl lb337:dex :dex 
 511 lb337 stx REG+2:lda #$00:jsr lb355:txa :adc akku3+1
 512 sta VARADR:tya :adc akku3+2:sta VARADR+1:tay 
 513 lda VARADR:lb34b rts :lb34c sty l0022:lda (akku4+3),y:sta REG+2
 514 dey :lda (akku4+3),y:lb355 sta REG+3:lda #$10:sta akku4+1
 515 ldx #$00:ldy #$00:lb35f txa :asl :tax 
 516 tya :rol :tay :bcs lb30b:asl l0071
 517 rol l0071+1:bcc lb378:clc :txa :adc REG+2
 518 tax :tya :adc REG+3:tay :bcs lb30b
 519 lb378 dec akku4+1:bne lb35f:rts 
 lfre lda STRINGFL:beq lb384
 520 jsr lb6a6:lb384 jsr lb526:sec :lda STRANF:sbc ARREND
 521 tay :lda STRANF+1:sbc ARREND+1:lb391 ldx #$00:stx STRINGFL
 lb395 sta FAC+1:sty FAC+2:ldx #$90:jmp lbc44
 lpos sec 
 523 jsr lfff0:lb3a2 lda #$00:beq lb391
 lb3a6 ldx ZEINR+1:inx 
 524 bne lb34b:ldx #$15:.byt $2c :lb3ae ldx #$1b:jmp la437
 ldef jsr lb3e1:jsr lb3a6:jsr laefa:lda #$80:sta FNFL
 526 lb3c0 jsr lb08b:jsr lad8d:jsr laef7:lda #$b2:jsr laeff
 527 pha :lda VARADR+1:pha :lda VARADR:pha 
 528 lda BASZEI+1:pha :lda BASZEI:pha :jsr la8f8
 529 jmp lb44f:lb3e1 lda #$a5:jsr laeff:ora #$80:sta FNFL
 530 jsr lb092:sta l004e:sty l004f:jmp lad8d
 lb3f4 jsr lb3e1
 531 lda l004f:pha :lda l004e:pha :jsr laef1
 532 jsr lad8d:pla :sta l004e:pla :sta l004f
 533 ldy #$02:lda (l004e),y:sta VARADR:tax :iny 
 534 lda (l004e),y:beq lb3ae:sta VARADR+1:iny :lb418 lda (VARADR),y
 535 pha :dey :bpl lb418:ldy VARADR+1:jsr lbbd4
 536 lda BASZEI+1:pha :lda BASZEI:pha :lda (l004e),y
 537 sta BASZEI:iny :lda (l004e),y:sta BASZEI+1:lda VARADR+1
 538 pha :lda VARADR:pha :jsr frmnum:pla 
 539 sta l004e:pla :sta l004f:jsr CHRGOT:beq lb449
 540 jmp syntax:lb449 pla :sta BASZEI:pla :sta BASZEI+1
 541 lb44f ldy #$00:pla :sta (l004e),y:pla :iny 
 542 sta (l004e),y:pla :iny :sta (l004e),y:pla 
 543 iny :sta (l004e),y:pla :iny :sta (l004e),y
 544 rts 
 lstr jsr lad8d:ldy #$00:jsr lbddf:pla 
 545 pla :lb46f lda #<l0100-1:ldy #>l0100-1
#if (l0100-1)&$ff00
          bne lb487
#else
          beq lb487
#endif
 lb475 ldx FAC+3
 546 ldy FAC+4:stx l0050:sty l0051:lb47d jsr lb4f4:stx FAC+1
 547 sty FAC+2:sta FAC:rts :lb487 ldx #$22:stx SUCHCHAR
 548 stx HKFL:lb48d sta ARG+6:sty ARG+7:sta FAC+1:sty FAC+2
 549 ldy #$ff:lb497 iny :lda (ARG+6),y:beq lb4a8:cmp SUCHCHAR
 550 beq lb4a4:cmp HKFL:bne lb497:lb4a4 cmp #$22:beq lb4a9
 551 lb4a8 clc :lb4a9 sty FAC:tya :adc ARG+6:sta l0071
 552 ldx ARG+7:bcc lb4b5:inx :lb4b5 stx l0071+1:lda ARG+7
 553 beq lb4bf:cmp #>l0200:bne lb4ca:lb4bf tya :jsr lb475
 554 ldx ARG+6:ldy ARG+7:jsr lb688:lb4ca ldx STRPTR:cpx #$22
 555 bne lb4d5:ldx #$19:lb4d2 jmp la437:lb4d5 lda FAC:sta $00,x
 556 lda FAC+1:sta $01,x:lda FAC+2:sta $02,x:ldy #$00
 557 stx FAC+3:sty FAC+4:sty ARG+7:dey :sty STRINGFL
 558 stx STRZEI:inx :inx :inx :stx STRPTR
 559 rts :lb4f4 lsr LISTHKFL:lb4f6 pha :eor  #$ff:sec 
 560 adc STRANF:ldy STRANF+1:bcs lb501:dey :lb501 cpy ARREND+1
 561 bcc lb516:bne lb50b:cmp ARREND:bcc lb516:lb50b sta STRANF
 562 sty STRANF+1:sta l0035:sty l0035+1:tax :pla 
 563 rts :lb516 ldx #$10:lda LISTHKFL:bmi lb4d2:jsr lb526
 564 lda #$80:sta LISTHKFL:pla :bne lb4f6:lb526 ldx BASEND
 565 lda BASEND+1:lb52a stx STRANF:sta STRANF+1:ldy #$00:sty l004f
 566 sty l004e:lda ARREND:ldx ARREND+1:sta akku4+3:stx akku4+4
 567 lda #<STRSTCK:ldx #>STRSTCK:sta l0022:stx l0023:lb544 cmp STRPTR
 568 beq lb54d:jsr lb5c7:beq lb544:lb54d lda #$07:sta l0053
 569 lda VARANF:ldx VARANF+1:sta l0022:stx l0023:lb559 cpx ARRANF+1
 570 bne lb561:cmp ARRANF:beq lb566:lb561 jsr lb5bd:beq lb559
 571 lb566 sta akku3+1:stx akku3+2:lda #$03:sta l0053:lb56e lda akku3+1
 572 ldx akku3+2:lb572 cpx ARREND+1:bne lb57d:cmp ARREND:bne lb57d
 573 jmp lb606:lb57d sta l0022:stx l0023:ldy #$00:lda (l0022),y
 574 tax :iny :lda (l0022),y:php :iny 
 575 lda (l0022),y:adc akku3+1:sta akku3+1:iny :lda (l0022),y
 576 adc akku3+2:sta akku3+2:plp :bpl lb56e:txa 
 577 bmi lb56e:iny :lda (l0022),y:ldy #$00:asl 
 578 adc #$05:adc l0022:sta l0022:bcc lb5ae:inc l0023
 579 lb5ae ldx l0023:lb5b0 cpx akku3+2:bne lb5b8:cmp akku3+1:beq lb572
 580 lb5b8 jsr lb5c7:beq lb5b0:lb5bd lda (l0022),y:bmi lb5f6:iny 
 581 lda (l0022),y:bpl lb5f6:iny :lb5c7 lda (l0022),y:beq lb5f6
 582 iny :lda (l0022),y:tax :iny :lda (l0022),y
 583 cmp STRANF+1:bcc lb5dc:bne lb5f6:cpx STRANF:bcs lb5f6
 584 lb5dc cmp akku4+4:bcc lb5f6:bne lb5e6:cpx akku4+3:bcc lb5f6
 585 lb5e6 stx akku4+3:sta akku4+4:lda l0022:ldx l0023:sta l004e
 586 stx l004f:lda l0053:sta l0055:lb5f6 lda l0053:clc 
 587 adc l0022:sta l0022:bcc lb601:inc l0023:lb601 ldx l0023
 588 ldy #$00:rts :lb606 lda l004f:ora l004e:beq lb601
 589 lda l0055:and  #$04:lsr :tay :sta l0055
 590 lda (l004e),y:adc akku4+3:sta akku3+3:lda akku4+4:adc #$00
 591 sta akku3+4:lda STRANF:ldx STRANF+1:sta akku3+1:stx akku3+2
 592 jsr la3bf:ldy l0055:iny :lda akku3+1:sta (l004e),y
 593 tax :inc akku3+2:lda akku3+2:iny :sta (l004e),y
 594 jmp lb52a:lb63d lda FAC+4:pha :lda FAC+3:pha 
 595 jsr lae83:jsr lad8f:pla :sta ARG+6:pla 
 596 sta ARG+7:ldy #$00:lda (ARG+6),y:clc :adc (FAC+3),y
 597 bcc lb65d:ldx #$17:jmp la437:lb65d jsr lb475:jsr lb67a
 598 lda l0050:ldy l0051:jsr lb6aa:jsr lb68c:lda ARG+6
 599 ldy ARG+7:jsr lb6aa:jsr lb4ca:jmp ladb8:lb67a ldy #$00
 600 lda (ARG+6),y:pha :iny :lda (ARG+6),y:tax 
 601 iny :lda (ARG+6),y:tay :pla :lb688 stx l0022
 602 sty l0023:lb68c tay :beq lb699:pha :lb690 dey 
 603 lda (l0022),y:sta (l0035),y:tya :bne lb690:pla 
 604 lb699 clc :adc l0035:sta l0035:bcc lb6a2:inc l0035+1
 605 lb6a2 rts :lb6a3 jsr lad8f:lb6a6 lda FAC+3:ldy FAC+4:lb6aa sta l0022
 606 sty l0023:jsr lb6db:php :ldy #$00:lda (l0022),y
 607 pha :iny :lda (l0022),y:tax :iny 
 608 lda (l0022),y:tay :pla :plp :bne lb6d6
 609 cpy STRANF+1:bne lb6d6:cpx STRANF:bne lb6d6:pha 
 610 clc :adc STRANF:sta STRANF:bcc lb6d5:inc STRANF+1
 611 lb6d5 pla :lb6d6 stx l0022:sty l0023:rts :lb6db cpy STRZEI+1
 612 bne lb6eb:cmp STRZEI:bne lb6eb:sta STRPTR:sbc #$03
 613 sta STRZEI:ldy #$00:lb6eb rts 
 lchr jsr lb7a1:txa 
 614 pha :lda #$01:jsr lb47d:pla :ldy #$00
 615 sta (FAC+1),y:pla :pla :jmp lb4ca
 lleft jsr lb761
 616 cmp (l0050),y:tya :lb706 bcc lb70c:lda (l0050),y:tax 
 617 tya :lb70c pha :lb70d txa :lb70e pha :jsr lb47d
 618 lda l0050:ldy l0051:jsr lb6aa:pla :tay 
 619 pla :clc :adc l0022:sta l0022:bcc lb725
 620 inc l0023:lb725 tya :jsr lb68c:jmp lb4ca
 lright jsr lb761
 621 clc :sbc (l0050),y:eor  #$ff:jmp lb706
 lmid lda #$ff
 622 sta FAC+4:jsr CHRGOT:cmp #$29:beq lb748:jsr prkomma
 623 jsr getbyt:lb748 jsr lb761:beq lb798:dex :txa 
 624 pha :clc :ldx #$00:sbc (l0050),y:bcs lb70d
 625 eor  #$ff:cmp FAC+4:bcc lb70e:lda FAC+4:bcs lb70e
 626 lb761 jsr laef7:pla :tay :pla :sta l0055
 627 pla :pla :pla :tax :pla 
 628 sta l0050:pla :sta l0051:lda l0055:pha 
 629 tya :pha :ldy #$00:txa :rts 
 llen jsr lb782:jmp lb3a2:lb782 jsr lb6a3:ldx #$00:stx STRINGFL
 631 tay :rts
 lasc jsr lb782:beq lb798:ldy #$00
 632 lda (l0022),y:tay :jmp lb3a2:lb798 jmp illquant:lb79b jsr CHRGET
 633 getbyt jsr frmnum:lb7a1 jsr lb1b8:ldx FAC+3:bne lb798:ldx FAC+4
 634 jmp CHRGOT
 lval jsr lb782:bne lb7b5:jmp lb8f7:lb7b5 ldx BASZEI
 635 ldy BASZEI+1:stx l0071:sty l0071+1:ldx l0022:stx BASZEI
 636 clc :adc l0022:sta l0024:ldx l0023:stx BASZEI+1
 637 bcc lb7cd:inx :lb7cd stx l0025:ldy #$00:lda (l0024),y
 638 pha :tya :sta (l0024),y:jsr CHRGOT:jsr lbcf3
 639 pla :ldy #$00:sta (l0024),y:lb7e2 ldx l0071:ldy l0071+1
 640 stx BASZEI:sty BASZEI+1:rts :lb7eb jsr frmnum:jsr getadr
 641 lb7f1 jsr prkomma:jmp getbyt:getadr lda FAC+5:bmi lb798:lda FAC
 642 cmp #$91:bcs lb798:jsr lbc9b:lda FAC+3:ldy FAC+4
 643 sty INT:sta INT+1:rts 
 lpeek lda INT+1:pha 
 644 lda INT:pha :jsr getadr:ldy #$00:lda (INT),y
 645 tay :pla :sta INT:pla :sta INT+1
 646 jmp lb3a2
 lpoke jsr lb7eb:txa :ldy #$00:sta (INT),y
 647 rts 
 lwait jsr lb7eb:stx FORVAR:ldx #$00:jsr CHRGOT
 648 beq lb83c:jsr lb7f1:lb83c stx FORVAR+1:ldy #$00:lb840 lda (INT),y
 649 eor  FORVAR+1:and  FORVAR:beq lb840:lb848 rts 
 lb849 lda #<lbf11
 650 ldy #>lbf11:jmp lb867:lb850 jsr lba8c
 lsub lb853 lda FAC+5:eor  #$ff:sta FAC+5:eor  ARG+5:sta ARG+6
 652 lda FAC:jmp lb86a:lb862 jsr lb999:bcc lb8a3:lb867 jsr lba8c
 ladd lb86a bne lb86f:jmp lbbfc:lb86f ldx ARG+7
 654 stx l0055+1:ldx #ARG:lda ARG:lb877 tay :beq lb848
 655 sec :sbc FAC:beq lb8a3:bcc lb893:sty FAC
 656 ldy ARG+5:sty FAC+5:eor  #$ff:adc #$00:ldy #$00
 657 sty l0055+1:ldx #FAC:bne lb897:lb893 ldy #$00:sty ARG+7
 658 lb897 cmp #$f9:bmi lb862:tay :lda ARG+7:lsr $01,x
 659 jsr lb9b0:lb8a3 bit ARG+6:bpl lb8fe:ldy #FAC:cpx #ARG
 660 beq lb8af:ldy #ARG:lb8af sec :eor  #$ff:adc l0055+1
 661 sta ARG+7:lda $04,y:sbc $04,x:sta FAC+4:lda $03,y
 662 sbc $03,x:sta FAC+3:lda $02,y:sbc $02,x:sta FAC+2
 663 lda $01,y:sbc $01,x:sta FAC+1:lb8d2 bcs lb8d7:jsr lb947
 664 lb8d7 ldy #$00:tya :clc :lb8db ldx FAC+1:bne lb929
 665 ldx FAC+2:stx FAC+1:ldx FAC+3:stx FAC+2:ldx FAC+4
 666 stx FAC+3:ldx ARG+7:stx FAC+4:sty ARG+7:adc #$08
 667 cmp #$20:bne lb8db:lb8f7 lda #$00:lb8f9 sta FAC:lb8fb sta FAC+5
 668 rts :lb8fe adc l0055+1:sta ARG+7:lda FAC+4:adc ARG+4
 669 sta FAC+4:lda FAC+3:adc ARG+3:sta FAC+3:lda FAC+2
 670 adc ARG+2:sta FAC+2:lda FAC+1:adc ARG+1:sta FAC+1
 671 jmp lb936:lb91d adc #$01:asl ARG+7:rol FAC+4:rol FAC+3
 672 rol FAC+2:rol FAC+1:lb929 bpl lb91d:sec :sbc FAC
 673 bcs lb8f7:eor  #$ff:adc #$01:sta FAC:lb936 bcc lb946
 674 lb938 inc FAC:beq lb97e:ror  FAC+1:ror  FAC+2:ror  FAC+3
 675 ror  FAC+4:ror  ARG+7:lb946 rts :lb947 lda FAC+5:eor  #$ff
 676 sta FAC+5:lb94d lda FAC+1:eor  #$ff:sta FAC+1:lda FAC+2
 677 eor  #$ff:sta FAC+2:lda FAC+3:eor  #$ff:sta FAC+3
 678 lda FAC+4:eor  #$ff:sta FAC+4:lda ARG+7:eor  #$ff
 679 sta ARG+7:inc ARG+7:bne lb97d:lb96f inc FAC+4:bne lb97d
 680 inc FAC+3:bne lb97d:inc FAC+2:bne lb97d:inc FAC+1
 681 lb97d rts :lb97e ldx #$0f:jmp la437:lb983 ldx #REG-1:lb985 ldy $03+1,x
 682 sty ARG+7:ldy $03,x:sty $03+1,x:ldy $02,x:sty $03,x
 683 ldy $01,x:sty $02,x:ldy FAC+7:sty $01,x:lb999 adc #$08
 684 bmi lb985:beq lb985:sbc #$08:tay :lda ARG+7
 685 bcs lb9ba:lb9a6 asl $01,x:bcc lb9ac:inc $01,x:lb9ac ror $01,x
 686 ror $01,x:lb9b0 ror $02,x:ror $03,x:ror $03+1,x:ror  
 687 iny :bne lb9a6:lb9ba clc :rts 
 lb9bc    .byt $81,$00,$00,$00,$00
 lb9c1    .byt $03
          .byt $7f,$5e,$56,$cb,$79
          .byt $80,$13,$9b,$0b,$64
          .byt $80,$76,$38,$93,$16
          .byt $82,$38,$aa,$3b,$20
 lb9d6    .byt $80,$35,$04,$f3,$34
 lb9db    .byt $81,$35,$04,$f3,$34
 lb9e0    .byt $80,$80,$00,$00,$00
 lb9e5    .byt $80,$31,$72,$17,$f8
 llog lb9ea jsr lbc2b
 695 beq lb9f1:bpl lb9f4:lb9f1 jmp illquant:lb9f4 lda FAC:sbc #$7f
 696 pha :lda #$80:sta FAC:lda #<lb9d6:ldy #>lb9d6
 697 jsr lb867:lda #<lb9db:ldy #>lb9db:jsr lbb0f:lda #<lb9bc
 698 ldy #>lb9bc:jsr lb850:lda #<lb9c1:ldy #>lb9c1:jsr le043
 699 lda #<lb9e0:ldy #>lb9e0:jsr lb867:pla :jsr lbd7e
 700 lda #<lb9e5:ldy #>lb9e5:lba28 jsr lba8c
 lmul bne lba30:jmp lba8b
 701 lba30 jsr lbab7:lda #$00:sta REG:sta REG+1:sta REG+2
 702 sta REG+3:lda ARG+7:jsr lba59:lda FAC+4:jsr lba59
 703 lda FAC+3:jsr lba59:lda FAC+2:jsr lba59:lda FAC+1
 704 jsr lba5e:jmp lbb8f:lba59 bne lba5e:jmp lb983:lba5e lsr 
 705 ora #$80:lba61 tay :bcc lba7d:clc :lda REG+3
 706 adc ARG+4:sta REG+3:lda REG+2:adc ARG+3:sta REG+2
 707 lda REG+1:adc ARG+2:sta REG+1:lda REG:adc ARG+1
 708 sta REG:lba7d ror  REG:ror  REG+1:ror  REG+2:ror  REG+3
 709 ror  ARG+7:tya :lsr :bne lba61:lba8b rts 
 710 lba8c sta l0022:sty l0023:ldy #$04:lda (l0022),y:sta ARG+4
 711 dey :lda (l0022),y:sta ARG+3:dey :lda (l0022),y
 712 sta ARG+2:dey :lda (l0022),y:sta ARG+5:eor  FAC+5
 713 sta ARG+6:lda ARG+5:ora #$80:sta ARG+1:dey 
 714 lda (l0022),y:sta ARG:lda FAC:rts :lbab7 lda ARG
 715 lbab9 beq lbada:clc :adc FAC:bcc lbac4:bmi lbadf
 716 clc :.byt $2c :lbac4 bpl lbada:adc #$80:sta FAC
 717 bne lbacf:jmp lb8fb:lbacf lda ARG+6:sta FAC+5:rts 
 718 lbad4 lda FAC+5:eor  #$ff:bmi lbadf:lbada pla :pla 
 719 jmp lb8f7:lbadf jmp lb97e:lbae2 jsr lbc0c:tax :beq lbaf8
 720 clc :adc #$02:bcs lbadf:lbaed ldx #$00:stx ARG+6
 721 jsr lb877:inc FAC:beq lbadf:lbaf8 rts
 lbaf9    .byt $84,$20,$00,$00,$00
 lbafe jsr lbc0c:lda #<lbaf9
 723 ldy #>lbaf9:ldx #$00:lbb07 stx ARG+6:jsr lbba2:jmp lbb12
 724 lbb0f jsr lba8c
 ldiv lbb12 beq lbb8a:jsr lbc1b:lda #$00:sec 
 725 sbc FAC:sta FAC:jsr lbab7:inc FAC:beq lbadf
 726 ldx #$fc:lda #$01:lbb29 ldy ARG+1:cpy FAC+1:bne lbb3f
 727 ldy ARG+2:cpy FAC+2:bne lbb3f:ldy ARG+3:cpy FAC+3
 728 bne lbb3f:ldy ARG+4:cpy FAC+4:lbb3f php :rol 
 729 bcc lbb4c:inx :sta REG+3,x:beq lbb7a:bpl lbb7e
 730 lda #$01:lbb4c plp :bcs lbb5d:lbb4f asl ARG+4:rol ARG+3
 731 rol ARG+2:rol ARG+1:bcs lbb3f:bmi lbb29:bpl lbb3f
 732 lbb5d tay :lda ARG+4:sbc FAC+4:sta ARG+4:lda ARG+3
 733 sbc FAC+3:sta ARG+3:lda ARG+2:sbc FAC+2:sta ARG+2
 734 lda ARG+1:sbc FAC+1:sta ARG+1:tya :jmp lbb4f
 735 lbb7a lda #$40:bne lbb4c:lbb7e asl :asl :asl 
 736 asl :asl :asl :sta ARG+7:plp 
 737 jmp lbb8f:lbb8a ldx #$14:jmp la437:lbb8f lda REG:sta FAC+1
 738 lda REG+1:sta FAC+2:lda REG+2:sta FAC+3:lda REG+3
 739 sta FAC+4:jmp lb8d7:lbba2 sta l0022:sty l0023:ldy #$04
 740 lda (l0022),y:sta FAC+4:dey :lda (l0022),y:sta FAC+3
 741 dey :lda (l0022),y:sta FAC+2:dey :lda (l0022),y
 742 sta FAC+5:ora #$80:sta FAC+1:dey :lda (l0022),y
 743 sta FAC:sty ARG+7:rts :lbbc7 ldx #akku4:.byt $2c 
 744 lbbca ldx #akku3:ldy #$00:beq lbbd4:lbbd0 ldx FORVAR:ldy FORVAR+1
 745 lbbd4 jsr lbc1b:stx l0022:sty l0023:ldy #$04:lda FAC+4
 746 sta (l0022),y:dey :lda FAC+3:sta (l0022),y:dey 
 747 lda FAC+2:sta (l0022),y:dey :lda FAC+5:ora #$7f
 748 and  FAC+1:sta (l0022),y:dey :lda FAC:sta (l0022),y
 749 sty ARG+7:rts :lbbfc lda ARG+5:lbbfe sta FAC+5:ldx #$05
 750 lbc02 lda FAC+7,x:sta akku4+4,x:dex :bne lbc02:stx ARG+7
 751 rts :lbc0c jsr lbc1b:lbc0f ldx #$06:lbc11 lda akku4+4,x:sta FAC+7,x
 752 dex :bne lbc11:stx ARG+7:lbc1a rts :lbc1b lda FAC
 753 beq lbc1a:asl ARG+7:bcc lbc1a:lbc23 jsr lb96f:bne lbc1a
 754 jmp lb938:lbc2b lda FAC:beq lbc38:lbc2f lda FAC+5:lbc31 rol 
 755 lda #$ff:bcs lbc38:lda #$01:lbc38 rts 
 lsgn jsr lbc2b
 756 lbc3c sta FAC+1:lda #$00:sta FAC+2:ldx #$88:lbc44 lda FAC+1
 757 eor  #$ff:rol :lbc49 lda #$00:sta FAC+4:sta FAC+3
 758 lbc4f stx FAC:sta ARG+7:sta FAC+5:jmp lb8d2:
 labs lsr FAC+5
 759 rts: lbc5b sta l0024:lbc5d sty l0025:ldy #$00:lda (l0024),y
 760 iny :tax :beq lbc2b:lda (l0024),y:eor  FAC+5
 761 bmi lbc2f:cpx FAC:bne lbc92:lda (l0024),y:ora #$80
 762 cmp FAC+1:bne lbc92:iny :lda (l0024),y:cmp FAC+2
 763 bne lbc92:iny :lda (l0024),y:cmp FAC+3:bne lbc92
 764 iny :lda #$7f:cmp ARG+7:lda (l0024),y:sbc FAC+4
 765 beq lbcba:lbc92 lda FAC+5:bcc lbc98:eor  #$ff:lbc98 jmp lbc31
 766 lbc9b lda FAC:beq lbce9:sec :sbc #$a0:bit FAC+5
 767 bpl lbcaf:tax :lda #$ff:sta FAC+7:jsr lb94d
 768 txa :lbcaf ldx #FAC:cmp #$f9:bpl lbcbb:jsr lb999
 769 sty FAC+7:lbcba rts :lbcbb tay :lda FAC+5:and #$80
 770 lsr FAC+1:ora FAC+1:sta FAC+1:jsr lb9b0
 771 sty FAC+7:rts 
 lint lbccc lda FAC:cmp #$a0:bcs lbcf2
 772 jsr lbc9b:sty ARG+7:lda FAC+5:sty FAC+5:eor  #$80
 773 rol :lda #$a0:sta FAC:lda FAC+4:sta SUCHCHAR
 774 jmp lb8d2:lbce9 sta FAC+1:sta FAC+2:sta FAC+3:sta FAC+4
 775 tay :lbcf2 rts 
 lbcf3 ldy #$00:ldx #$0a:lbcf7 sty akku4+1,x
 776 dex :bpl lbcf7:bcc lbd0d:cmp #$2d:bne lbd06
 777 stx FAC+6:beq lbd0a:lbd06 cmp #$2b:bne lbd0f:lbd0a jsr CHRGET
 778 lbd0d bcc lbd6a:lbd0f cmp #$2e:beq lbd41:cmp #$45:bne lbd47
 779 jsr CHRGET:bcc lbd33:cmp #$ab:beq lbd2e:cmp #$2d
 780 beq lbd2e:cmp #$aa:beq lbd30:cmp #$2b:beq lbd30
 781 bne lbd35:lbd2e ror  akku4+4:lbd30 jsr CHRGET:lbd33 bcc lbd91:lbd35 bit akku4+4
 782 bpl lbd47:lda #$00:sec :sbc akku4+2:jmp lbd49
 783 lbd41 ror  akku4+3:bit akku4+3:bvc lbd0a:lbd47 lda akku4+2:lbd49 sec 
 784 sbc akku4+1:sta akku4+2:beq lbd62:bpl lbd5b:lbd52 jsr lbafe
 785 inc akku4+2:bne lbd52:beq lbd62:lbd5b jsr lbae2:dec akku4+2
 786 bne lbd5b:lbd62 lda FAC+6:bmi lbd67:rts :lbd67 jmp lbfb4
 787 lbd6a pha :bit akku4+3:bpl lbd71:inc akku4+1:lbd71 jsr lbae2
 788 pla :sec :sbc #$30:jsr lbd7e:jmp lbd0a
 789 lbd7e pha :jsr lbc0c:pla :jsr lbc3c:lda ARG+5
 790 eor  FAC+5:sta ARG+6:ldx FAC:jmp lb86a:lbd91 lda akku4+2
 791 cmp #$0a:bcc lbda0:lda #$64:bit akku4+4:bmi lbdae
 792 jmp lb97e:lbda0 asl :asl :clc :adc akku4+2
 793 asl :clc :ldy #$00:adc (BASZEI),y:sec 
 794 sbc #$30:lbdae sta akku4+2:jmp lbd30
 lbdb3    .byt $9b,$3e,$bc,$1f,$fd
 lbdb8    .byt $9e,$6e,$6b,$27,$fd
 lbdbd    .byt $9e,$6e,$6b,$28,$00
 lbdc2 lda #<la371:ldy #>la371:jsr lbdda
 797 lda ZEINR+1:ldx ZEINR:adrout sta FAC+1:stx FAC+2:ldx #$90
 798 sec :jsr lbc49:jsr lbddf:lbdda jmp strout:lbddd ldy #$01
 799 lbddf lda #$20:bit FAC+5:bpl lbde7:lda #$2d:lbde7 sta l0100-1,y
 800 sta FAC+5:sty l0071:iny :lda #$30:ldx FAC
 801 bne lbdf8:jmp lbf04:lbdf8 lda #$00:cpx #$80:beq lbe00
 802 bcs lbe09:lbe00 lda #<lbdbd:ldy #>lbdbd:jsr lba28:lda #$f7
 803 lbe09 sta akku4+1:lbe0b lda #<lbdb8:ldy #>lbdb8:jsr lbc5b:beq lbe32
 804 bpl lbe28:lbe16 lda #<lbdb3:ldy #>lbdb3:jsr lbc5b:beq lbe21
 805 bpl lbe2f:lbe21 jsr lbae2:dec akku4+1:bne lbe16:lbe28 jsr lbafe
 806 inc akku4+1:bne lbe0b:lbe2f jsr lb849:lbe32 jsr lbc9b:ldx #$01
 807 lda akku4+1:clc :adc #$0a:bmi lbe47:cmp #$0b
 808 bcs lbe48:adc #$ff:tax :lda #$02:lbe47 sec 
 809 lbe48 sbc #$02:sta akku4+2:stx akku4+1:txa :beq lbe53
 810 bpl lbe66:lbe53 ldy l0071:lda #$2e:iny :sta l0100-1,y
 811 txa :beq lbe64:lda #$30:iny :sta l0100-1,y
 812 lbe64 sty l0071:lbe66 ldy #$00:lbe68 ldx #$80:lbe6a lda FAC+4:clc 
 813 adc lbf16+3,y:sta FAC+4:lda FAC+3:adc lbf16+2,y:sta FAC+3
 814 lda FAC+2:adc lbf16+1,y:sta FAC+2:lda FAC+1:adc lbf16,y
 815 sta FAC+1:inx :bcs lbe8e:bpl lbe6a:bmi lbe90
 816 lbe8e bmi lbe6a:lbe90 txa :bcc lbe97:eor  #$ff:adc #$0a
 817 lbe97 adc #$2f:iny :iny :iny :iny 
 818 sty VARADR:ldy l0071:iny :tax :and  #$7f
 819 sta l0100-1,y:dec akku4+1:bne lbeb2:lda #$2e:iny 
 820 sta l0100-1,y:lbeb2 sty l0071:ldy VARADR:txa :eor  #$ff
 821 and  #$80:tax :cpy #$24:beq lbec4:cpy #$3c
 822 bne lbe6a:lbec4 ldy l0071:lbec6 lda l0100-1,y:dey :cmp #$30
 823 beq lbec6:cmp #$2e:beq lbed3:iny :lbed3 lda #$2b
 824 ldx akku4+2:beq lbf07:bpl lbee3:lda #$00:sec 
 825 sbc akku4+2:tax :lda #$2d:lbee3 sta l0100+1,y:lda #$45
 826 sta l0100,y:txa :ldx #$2f:sec :lbeef inx 
 827 sbc #$0a:bcs lbeef:adc #$3a:sta l0100+3,y:txa 
 828 sta l0100+2,y:lda #$00:sta l0100+4,y:beq lbf0c:lbf04 sta l0100-1,y
 829 lbf07 lda #$00:sta l0100,y:lbf0c lda #<l0100:ldy #>l0100:rts 
 lbf11    .byt $80,$00
 lbf13    .byt $00,$00,$00
 lbf16    .byt $fa,$0a,$1f,$00
          .byt $00,$98,$96,$80
          .byt $ff,$f0,$bd,$c0
          .byt $00,$01,$86,$a0
          .byt $ff,$ff,$d8,$f0
          .byt $00,$00,$03,$e8
          .byt $ff,$ff,$ff,$9c
          .byt $00,$00,$00,$0a
          .byt $ff,$ff,$ff,$ff
          
          .byt $ff,$df,$0a,$80
          .byt $00,$03,$4b,$c0
          .byt $ff,$ff,$73,$60
          .byt $00,$00,$0e,$10
          .byt $ff,$ff,$fd,$a8
          .byt $00,$00,$00,$3c
          .byt $ec

#ifdef TESTC64  
 840 tax :tax
 841 tax :tax :tax :tax :tax 
 842 tax :tax :tax :tax :tax 
 843 tax :tax :tax :tax :tax 
 844 tax :tax :tax :tax :tax 
 845 tax :tax :tax :tax :tax 
 846 tax :tax :tax
#endif

 lsqr jsr lbc0c:lda #<lbf11
 847 ldy #>lbf11:jsr lbba2
 lpot beq lbfed:lda ARG:bne lbf84
 848 jmp lb8f9:lbf84 ldx #$4e:ldy #$00:jsr lbbd4:lda ARG+5
 849 bpl lbf9e:jsr lbccc:lda #$4e:ldy #$00:jsr lbc5b
 850 bne lbf9e:tya :ldy SUCHCHAR:lbf9e jsr lbbfe:tya 
 851 pha :jsr lb9ea:lda #$4e:ldy #$00:jsr lba28
 852 jsr lbfed:pla :lsr :bcc lbfbe
 lneg lbfb4 lda FAC:beq lbfbe:lda FAC+5:eor  #$ff:sta FAC+5
 854 lbfbe rts 
 lbfbf    .byt $81,$38,$aa,$3b,$29
 lbfc4    .byt $07
          .byt $71,$34,$58,$3e,$56
          .byt $74,$16,$7e,$b3,$1b
          .byt $77,$2f,$ee,$e3,$85
          .byt $7a,$1d,$84,$1c,$2a
          .byt $7c,$63,$59,$58,$0a
          .byt $7e,$75,$fd,$e7,$c6
          .byt $80,$31,$72,$18,$10
          .byt $81,$00,$00,$00,$00
 lexp lbfed lda #<lbfbf:ldy #>lbfbf:jsr lba28:lda ARG+7:adc #$50
 861 bcc lbffd:jsr lbc23
 lbffd 
#ifdef ORIGINAL
          jmp le000
          *=$e000
 le000  
#endif
 sta l0055+1:jsr lbc0f
 862 lda FAC:cmp #$88:bcc le00e:le00b jsr lbad4:le00e jsr lbccc
 863 lda SUCHCHAR:clc :adc #$81:beq le00b:sec 
 864 sbc #$01:pha :ldx #$05:le01e lda ARG,x:ldy FAC,x
 865 sta FAC,x:sty ARG,x:dex :bpl le01e:lda l0055+1
 866 sta ARG+7:jsr lb853:jsr lbfb4:lda #<lbfc4:ldy #>lbfc4
 867 jsr le059:lda #$00:sta ARG+6:pla :jsr lbab9
 868 rts :le043 sta l0071:sty l0071+1:jsr lbbca:lda #akku3
 869 jsr lba28:jsr le05d:lda #<akku3:ldy #>akku3:jmp lba28
 870 le059 sta l0071:sty l0071+1:le05d jsr lbbc7:lda (l0071),y:sta FAC+6
 871 ldy l0071:iny :tya :bne le06c:inc l0071+1
 872 le06c sta l0071:ldy l0071+1:le070 jsr lba28:lda l0071:ldy l0071+1
 873 clc :adc #$05:bcc le07d:iny :le07d sta l0071
 874 sty l0071+1:jsr lb867:lda #<akku4:ldy #>akku4:dec FAC+6
 875 bne le070:rts
 le08d    .byt $98,$35,$44,$7a,$00
 le092    .byt $68,$28,$b1,$46,$00 
 lrnd jsr lbc2b:bmi le0d3:bne le0be:jsr lfff3:stx l0022
 878 sty l0023:ldy #$04:lda (l0022),y:sta FAC+1:iny 
 879 lda (l0022),y:sta FAC+3:ldy #$08:lda (l0022),y:sta FAC+2
 880 iny :lda (l0022),y:sta FAC+4:jmp le0e3:le0be lda #<l008b
 881 ldy #>l008b:jsr lbba2:lda #<le08d:ldy #>le08d:jsr lba28
 882 lda #<le092:ldy #>le092:jsr lb867:le0d3 ldx FAC+4:lda FAC+1
 883 sta FAC+4:stx FAC+1:ldx FAC+2:lda FAC+3:sta FAC+2
 884 stx FAC+3:le0e3 lda #$00:sta FAC+5:lda FAC:sta ARG+7
 885 lda #$80:sta FAC:jsr lb8d7:ldx #$8b:ldy #$00
 886 le0f6 jmp lbbd4:le0f9 cmp #$f0:bne le104:sty BASEND+1:stx BASEND
 887 jmp la663:le104 tax :bne le109:ldx #$1e:le109 jmp la437
 888 le10c jsr lffd2:bcs le0f9:rts :/* le112 jsr lffcf:bcs le0f9
 889 rts :*/ le118 jsr le4ad:bcs le0f9:rts :le11e jsr lffc6
 890 bcs le0f9:rts :le124 jsr lffe4:bcs le0f9:rts

          .(
 strlen   =syszp
 stradr   =syszp+1
 -syszp   +=3          

&gets     jsr GETINT
          sty stradr
          sta stradr+1
          jsr CHRGOT
          jsr prkomma
          jsr getbyt
          stx strlen
          jsr CHRGOT
          jsr prkomma
          jsr lb08b
          jsr lad8f      ; test auf string
          sta FORVAR
          sty FORVAR+1
          lda #<strlen
          ldy #>strlen
          sta FAC+3
          sty FAC+4
          jmp laa52
          .)    
          
 puts     jsr GETINT
          jsr CHRGOT
          jsr prkomma
          jsr lad9e
          jsr lb6a3
          sta akku3
          tay
          beq putse
          ldy #0
 puts1    lda (l0022),y
          sta (INT),y
          iny
          cpy akku3
          bcc puts1
 putse    rts
          
 glcp     jsr CHRGOT:beq lgs
          jsr prkomma; test komma:beq lgs:cmp #",":beq lgs
          jsr getbyt:clc:rts
 lgs      sec:cln rts

 call     jsr frmnum:jsr getadr
          jsr glcp:bcs cl1:stx SYSAC
 cl1      jsr glcp:bcs cl2:stx SYSXR
 cl2      jsr glcp:bcs cl3:stx SYSYR
 cl3      jsr glcp:bcs cl4:stx SYSST
 cl4      jsr lcsys
          lda SYSAC:jsr slcp
          lda SYSXR:jsr slcp
          lda SYSYR:jsr slcp
          lda SYSST
          
 slcp     sta FAC+2:lda #0:sta FAC+1
          jsr CHRGOT:beq cln
          jsr prkomma:beq cln:cmp #",":beq cln
          jsr lb08b:sta FORVAR:sty FORVAR+1
          lda STRINGFL:bpl typerr
          ldx #$90:sec:jsr lbc49
          lda INTFL:jmp la9c2
 typerr   jmp lad99
          
 lsys     jsr frmnum:jsr getadr
 lcsys    ldy #0
 ls1 lda sysadr+1,y
     beq lsend
     cmp INT+1
     bne lsnex
     lda INT
     cmp sysadr,y
     beq lsok
 lsnex iny
     iny
     iny
     iny
     bne ls1
 lsok lda sysadr+2,y
     sta INT
     lda sysadr+3,y
     sta INT+1
 lsend
     lda #>le147-1:pha :lda #<le147-1
     pha :lda SYSST:pha :lda SYSAC:ldx SYSXR
     ldy SYSYR:plp :jmp (INT)
 le147 php :sta SYSAC
 894 stx SYSXR:sty SYSYR:pla :sta SYSST:rts
  
 sysadr   .word $ff90,lff90
          .word $ff99,lff99
          .word $ff9c,lff9c
          .word $ffb7,lffb7
          .word $ffba,lffba
          .word $ffbd,lffbd
          .word $ffc0,lffc0
          .word $ffc3,lffc3
          .word $ffc6,lffc6
          .word $ffc9,lffc9
          .word $ffcc,lffcc
          .word $ffcf,lffcf
          .word $ffd2,lffd2
          .word $ffd5,lffd5
          .word $ffd8,lffd8
          .word $ffdb,lffdb
          .word $ffde,lffde
          .word $ffe1,lffe1
          .word $ffe4,lffe4
          .word $ffe7,lffe7
          .word $fff0,lfff0
          .word $fff3,lfff3
          .word 0

 lsave jsr le1d4:ldx VARANF:ldy VARANF+1:lda #$2b:jsr lffd8
 896 bcc lef09x:jmp le0f9:lef09x rts 
 lverify lda #$01:.byt $2c
 lload lda #0:sta LOADFL
 897 jsr le1d4:lda LOADFL:ldx BASANF:ldy BASANF+1:jsr lffd5
 898 bcs le1d1:lda LOADFL:beq le195:ldx #$1c:jsr lffb7
 899 and  #$10:bne le19e:lda BASZEI+1:cmp #>l0200:beq le194
 900 lda #<la364:ldy #>la364:jmp strout:le194 rts 
 le195 jsr lffb7
     and  #$bf:beq le1a1:ldx #$1d:le19e jmp la437
 le1a1 lda BASZEI+1
     cmp #>l0200:bne le1b5
     stx VARANF:sty VARANF+1
#ifdef SHOW
     lda #"x"
     jsr SEROUT
#endif
     jsr la660
     jsr bindbas
     jsr CHRGOT
#ifdef SHOW
     jsr HEXOUT
     jsr CHRGOT
#endif
     jmp la7e7;jmp la52a
 le1b5 jsr la68e:jsr bindbas
 904 jmp la677
 lopen jsr le219:jsr lffc0:bcs le1d1:rts 
 lclose jsr le219:lda FORVAR:jsr lffc3:bcc le194:le1d1 jmp le0f9

 906 le1d4 lda #$00:jsr lffbd:ldx #$01:ldy #$00:jsr lffba
 907 jsr weitzei:jsr le257:jsr weitzei:jsr le200:ldy #$00
 908 stx FORVAR:jsr lffba:jsr weitzei:jsr le200:txa 
 909 tay :ldx FORVAR:jmp lffba:le200 jsr le20e:jmp getbyt
 910 weitzei jsr CHRGOT:bne le20d:pla :pla :le20d rts 
 911 le20e jsr prkomma:le211 jsr CHRGOT:bne le20d:jmp syntax:le219 lda #$00
 912 jsr lffbd:jsr le211:jsr getbyt:stx FORVAR:txa 
 913 ldx #$01:ldy #$00:jsr lffba:jsr weitzei:jsr le200
 914 stx FORVAR+1:ldy #$00:lda FORVAR:cpx #$03:bcc le23f
 915 dey :le23f jsr lffba:jsr weitzei:jsr le200:txa 
 916 tay :ldx FORVAR+1:lda FORVAR:jsr lffba:jsr weitzei
 917 jsr le20e:le257 jsr lad9e:jsr lb6a3:ldx l0022:ldy l0023
 918 jmp lffbd

 lcos lda #<le2e0:ldy #>le2e0:jsr lb867
 lsin le26b jsr lbc0c
 919 lda #<le2e5:ldy #>le2e5:ldx ARG+5:jsr lbb07:jsr lbc0c
 920 jsr lbccc:lda #$00:sta ARG+6:jsr lb853:lda #<le2ea
 921 ldy #>le2ea:jsr lb850:lda FAC+5:pha :bpl le29d
 922 jsr lb849:lda FAC+5:bmi le2a0:lda ATNSIGN:eor  #$ff
 923 sta ATNSIGN:le29d jsr lbfb4:le2a0 lda #<le2ea:ldy #>le2ea:jsr lb867
 924 pla :bpl le2ad:jsr lbfb4:le2ad lda #<le2ef:ldy #>le2ef
 925 jmp le043
 ltan jsr lbbca:lda #$00:sta ATNSIGN:jsr le26b
 926 ldx #$4e:ldy #$00:jsr le0f6:lda #<akku3:ldy #>akku3
 927 jsr lbba2:lda #$00:sta FAC+5:lda ATNSIGN:jsr le2dc
 928 lda #$4e:ldy #$00:jmp lbb0f:le2dc pha :jmp le29d
 le2e0    .byt $81,$49,$0f,$da,$a2
 le2e5    .byt $83,$49,$0f,$da,$a2
 le2ea    .byt $7f,$00,$00,$00,$00
 le2ef    .byt $05
          .byt $84,$e6,$1a,$2d,$1b
          .byt $86,$28,$07,$fb,$f8
          .byt $87,$99,$68,$89,$01
          .byt $87,$23,$35,$df,$e1
          .byt $86,$a5,$5d,$e7,$28
          .byt $83,$49,$0f,$da,$a2
 latn lda FAC+5:pha:bpl le316:jsr lbfb4:le316 lda FAC
 936 pha :cmp #$81:bcc le324:lda #<lb9bc:ldy #>lb9bc
 937 jsr lbb0f:le324 lda #<le33e:ldy #>le33e:jsr le043:pla 
 938 cmp #$81:bcc le337:lda #<le2e0:ldy #>le2e0:jsr lb850
 939 le337 pla :bpl le33d:jmp lbfb4:le33d rts
 le33e    .byt $0b
          .byt $76,$b3,$83,$bd,$d3
          .byt $79,$1e,$f4,$a6,$f5
          .byt $7b,$83,$fc,$b0,$10
          .byt $7c,$0c,$1f,$67,$ca
          .byt $7c,$de,$53,$cb,$c1
          .byt $7d,$14,$64,$70,$4c
          .byt $7d,$b7,$ea,$51,$7a
          .byt $7d,$63,$30,$88,$7e
          .byt $7e,$92,$44,$99,$3a
          .byt $7e,$4c,$cc,$91,$c7
          .byt $7f,$aa,$aa,$aa,$13
          .byt $81,$00,$00,$00,$00

 le37b jsr lffcc
       lda #$00:sta ACTIO:jsr la67a:cli :le386 ldx #$80
       jmp (l0300)
 le38b txa :bmi le391:jmp la43a:le391 jmp ready
 le394 jsr le453:jsr le3bf:jsr le422:ldx #$fb:txs 

       ldy #<-1
 lexe1 iny
       lda PCBUF,y
       beq le386
       cmp #" "
       bne lexe1
       ldx #<-1
 lexe2 iny
       inx
       lda PCBUF,y
       sta l0200,x
       bne lexe2
       lda #<l0200-1
       sta BASZEI
       lda #>l0200-1
       sta BASZEI+1
       jmp exestart
       
       ;bne le386

 le3a2 inc BASZEI:bne le3a8:inc BASZEI+1:le3a8 lda $ea60
 952 cmp #$3a:bcs le3b9:cmp #$20
 953 beq le3a2:sec :sbc #$30:sec :sbc #$d0
 954 le3b9 rts :.byt $80 :.byt $4f :.byt $c7 :.byt $52 
 955 cli :le3bf lda #$4c:sta l0054:sta lusr:lda #<illquant
 956 ldy #>illquant:sta lusr+1:sty lusr+2:lda #<lb391:ldy #>lb391
 957 sta l0005:sty l0005+1:lda #<lb1aa:ldy #>lb1aa:sta l0003
 958 sty l0003+1:ldx #$1c:le3e2 lda le3a2,x:sta CHRGET,x:dex 
 959 bpl le3e2:lda #$03:sta l0053:lda #$00:sta FAC+7
 960 sta ACTIO:sta STRZEI+1:ldx #$01:stx l0200-3:stx l0200-4
 961 ldx #$19:stx STRPTR:sec :jsr lff9c:stx BASANF
 962 sty BASANF+1:sec :jsr lff99:stx BASEND:sty BASEND+1
 963 stx STRANF:sty STRANF+1:ldy #$00:tya :sta (BASANF),y
 964 inc BASANF:bne le421:inc BASANF+1:le421 rts :le422 lda BASANF
 965 ldy BASANF+1:jsr la408:lda #<le473:ldy #>le473:jsr strout
 966 lda BASEND:sec :sbc BASANF:tax :lda BASEND+1
 967 sbc BASANF+1:jsr adrout:lda #<le460:ldy #>le460:jsr strout
 968 jmp la644
 le447    .word le38b,la483,la57c,la71a,la7e4,lae86 
 le453 ldx #$0b
 le455 lda le447,x:sta l0300,x:dex :bpl le455:rts
          .byt 0
 le460    .byt " BASIC BYTES FREE",13,10,0
 le473    .byt TC_FF,13,"    **** COMMODORE 64 BASIC V2 ****",13,10,10
          .byt " 64K RAM SYSTEM  ",0
          .byt $5c
 le4ad pha:jsr lffc9:tax:pla:bcc le4b6:txa:le4b6 rts

romend    =*

#ifdef SHOW
          .(
dxr       =syszp
-syszp    +=1

&SERIN    stx dxr
          ldx #STDIN
          bne s0
&xIN       stx dxr
s0 s1     jsr GETC
          bcc s1a
          cmp #E_EOF
          beq s1b
          jsr YIELD
          jmp s1
s1b       sec
s1a       ldx dxr
          rts
      
+SEROUT   stx dxr
          ldx #STDOUT
o0 s2     pha
          jsr PUTC
          pla
          bcc s2a
          jsr YIELD
          jmp s2
s2a       ldx dxr
          cmp #0
          rts
          .)

+xHEXOUT   .(
          pha
          lsr
          lsr
          lsr
          lsr
          jsr NIBOUT
          pla
          and #$0f
NIBOUT    clc  
          adc #"0"
          cmp #"9"+1
          bcc nout
          adc #6
nout      jmp SEROUT
          .)

+SPOUT    lda #32
          jmp SEROUT
+CRLFOUT  lda #13
          jsr SEROUT
          lda #10
          jmp SEROUT
          
          .)
#endif

x1   =(la9a5^laf28)&$00ff
x2   =(lac15^laf28)&$00ff
x3   =(lad24^laf28)&$00ff
x4   =(lb3c0^laf28)&$00ff

#if x1*x2*x3*x4
#else
#echo Adresskonflikt !
/*
#print x1
#print x2
#print x3
#print x4*/
stx,x
#endif

#print    syszp
-syszp    =oldsyszp		/* watch out - may not work on every ROM */
#echo returned to
#print 	  syszp

endofbasic =*
.)