;:sys36864 ;.opt oo *= 51111 jmp init lda #anl jmp strout bank =1 strout =$ab1e lo =20 hi =lo+1 stradr =34 string =2 tmp =247 tmp2 =249 tmp3 =251 bas =2049 puta =253 clrscr =$e544 ink =646 revers =199 frame =$d020 error =$a445 frestr =$b6a3 frmevl =$ad9e ok =$e18d frmnum =$ad8a integer =$b7f7 chrgot =121 komma =$aefd axout =$bdcd tsys =$9e getx =$b7f1 out =$ffd2 chkbuch =$b113 hello .byte "\x13\x11\x08\x8e\x1d nss maschinensprachewandler v2.1" .byt 13 .byte "\x11\x1d programmiert von n. heusler 150986" .byt 13 .byte "\x11\x1d 2a. weiter verbesserte version\x11" .byt 13,0 .byt 0 last .byte "\x11fertig." .byt 13 .byte "\xa3\xa3\xa3\xa3\xa3\xa3" .byt 13 .byte " letztes byte bei " .byt 0 forget .byte " : clr\x11" .byt 13,0 poke2 .byte " : poke 46," .byt 0 poke .byt 13 .byte " setzen des basic - endes:" .byt 13 .byte " poke 45," .byt 0 anl .byte "\x93trans" .byt 13 .byte "\xa3\xa3\xa3\xa3\xa3" .byt 13 .byte "\x11 version 2a" .byt 13 .byte "\x11 sys 51111 ,name$\x11\x9d\x9d\x9d\x9d\x9d\x9d,von\x11\x9d\x9d\x9d\x9d,bis" .byte " einschl.\x11\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d\x9d[,start - sys]\x11" .byt 13 .byte "(c) n.s.s. 150986\x11" .byt 13,0 tooshort .byte "string missinG" system .byte "systeM" cer .byte "characteR" ziff .byt 0 lenght .byt 0 sysa .word 0 dezi .word 1,10,100,1000,10000 colin ldx #2 ldy #0 sty lo lda #$d8 sta hi lda ink clc adc #1 col sta (lo),y iny bne col inc hi dex bne col rts rahmen ldx #79 stx $400 inx stx $427 ldx #37 ra1 lda #119 sta $401,x lda #111 sta 1265,x dex bpl ra1 lda #76 sta 1264 lda #122 sta 1303 lda #<1064 ldy #>1064 sta spe+1 sty spe+2 lda #<1103 ldy #>1103 sta spe2+1 sty spe2+2 ldy #5 ra2 lda #116 spe sta !0 lda #106 spe2 sta !0 lda spe+1 clc adc #40 sta spe+1 lda spe+2 adc #0 sta spe+2 lda spe2+1 adc #40 sta spe2+1 lda 2+spe2 adc #0 sta spe2+2 dey bne ra2 rts driver ldx #5 loop1 lda treiber,x sta bas-1,x dex bpl loop1 lda lenght clc adc #13 sta bas lda lenght clc adc #15 sta sysa lda #>bas adc #0 sta sysa+1 ldx #4 loop2 txa asl tay lda #"0" sta ziff loop3 lda sysa+1 cmp dezi+1,y bcc klei bne groe lda sysa cmp dezi,y bcc klei groe inc ziff lda sysa sec sbc dezi,y sta sysa lda sysa+1 sbc dezi+1,y sta sysa+1 jmp loop3 klei txa sec sbc #5 eor #-1 tay lda ziff sta bas+5,y dex bpl loop2 lda #"," sta bas+10 jsr actdriver lda #bas+11 sta puta sty puta+1 lda #" " sta bas+5 ldy #0 loop4 lda (string),y jsr check jsr put iny cpy lenght bcc loop4 bcs next put sty latch+1 ldy #0 sta (puta),y latch ldy #0 inc puta bne loop5 inc puta+1 loop5 rts next ldx #0 loop6 lda treiber2,x jsr put inx cpx #trend-treiber2 bcc loop6 rts actdriver lda lenght clc adc #trend-treiber2+12 sta adr1+1 lda #>bas adc #0 sta adr2+1 rts check pha jsr chkbuch bcs klar pla pha cmp #"0" bcc cerr cmp #"9"+1 bcs cerr klar pla rts cerr cmp #" " beq klar cmp #"%" beq klar lda #cer jmp error init jsr clrscr jsr colin lda #hello jsr strout lda ink pha lda frame sta ink inc revers ldx #39 lda #" " loop jsr out dex bpl loop pla sta ink dec revers jsr rahmen jsr komma jsr frmevl jsr frestr tax bne laenge lda #tooshort jmp error laenge sta lenght jsr savestr jsr komma jsr frmnum jsr integer lda lo ldy hi sta tmp sty tmp+1 sta von+1 sty von2+1 jsr komma jsr frmnum jsr integer lda lo ldy hi clc adc #1 bne noiny iny noiny sta tmp2 sty tmp2+1 sta bis+1 sty bis2+1 lda #ok sta goto+1 sty goto+2 jsr chrgot beq default jsr komma jsr frmnum jsr integer lda lo ldy hi sta goto+1 sty goto+2 default jsr driver lda adr1+1 ldx adr2+1 sta tmp3 stx tmp3+1 cmp puta beq o1 syserr lda #system jmp error o1 cpx puta+1 bne syserr ldy #0 lda bank sei pha lda #48 sta bank copylang lda tmp cmp tmp2 bne sir2 lda tmp+1 cmp tmp2+1 bne sir2 pla sta bank cli jmp auswert sir2 lda (tmp),y sta (tmp3),y inc tmp bne zuse inc tmp+1 zuse inc tmp3 bne zuse2 inc tmp3+1 zuse2 jmp copylang savestr lda stradr sta string lda stradr+1 sta string+1 rts auswert lda #last jsr strout lda tmp3 sec sbc #1 tax lda tmp3+1 sbc #0 jsr axout lda #poke jsr strout lda #0 ldx tmp3 jsr axout lda #poke2 jsr strout lda #0 ldx tmp3+1 jsr axout lda #forget jmp strout treiber .byt 0,0,>bas,194,7,tsys treiber2 .byt 0,0,0 jsr getx adr1 lda #0 adr2 ldx #0 sta tmp stx tmp+1 ldy #0 von lda #0 von2 ldx #0 sta tmp2 stx tmp2+1 copy lda tmp2+1 bis2 cmp #0 bne cont lda tmp2 bis cmp #0 bne cont goto jmp 0 cont lda (tmp),y sta (tmp2),y inc tmp bne noinc1 inc tmp+1 noinc1 inc tmp2 bne noinc2 inc tmp2+1 noinc2 clc bcc copy trend =*