;:poke56,30000/256:clr:print"{clr}"fre(0)"bytes free ;:sys36864 ;.opt oo anf *= 30000 jmp start cursor =$fff0 vi =$d000 bsout =$ffd2 pc =$8d rgt =$ab42 ad =$a7 spo =$8f00 zws =$a9 return =$aad7 cfarb =646 key =197 cbm =653 tast =198 exit =$e386 basin =$abfd absp =$200 a =$8b brkvec =$fffe space =$ab3f bild =$d1 calcx =$e9f0 farb =$f3 colram =$ea24 tmp =2 tmp2 =4 posit =58732 clrx =59903 open =$ffc0 setlfs =$ffba namlg =$b7 chkout =$ffc9 close =$ffc3 clrchn =$ffcc st =144 j .byt 0 ac .byt 0 xr .byt 0 yr .byt 0 sr .byt 0 sp .byt 0 n .byt 0 v .byt 0 b .byt 0 d .byt 0 i .byt 0 z .byt 0 c .byt 0 e .word 0 s .word 0 p .word 0 op .byt 0 de .byt 0 es .byt 0 druck brk l .byt 0 tol1 .word 0 tol2 brk tol3 brk text .byte "\x08\x8e\x93\x81 6510 einzelschritt-simulator v2.0" .byt 13 .byte " von nikolaus m. heusler 1.94" .byt 13 .byte "\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3" .byt 0 text2 .byte "\x96 \xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4" .byt 13 .byte " \xa5\x98 pc \x96\xa7\x98 ac xr yr sr sp\x96 \xa5\x98nv-bdizc\x96\xa7" .byt 13 .byte " \xa5 \xa7 \xa5\xa0 \xa7" .byt 13 .byte " \xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\xa3\x11" .byt 13 .byte " \xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\x11\x11" .byt 13 .byte " \xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4\xa4" .byt 13 .byte "\x11\x11\x11 \x05(c) nikolaus heusler" .byt 13 .byte " zwengauerweg 18" .byt 13 .byte " d-81479 muenchen" .byt 13 .byte "\x11\x11 copyright is most strenuously reserved" .byt 13 .byte " our lawyers are watching!" brk tpc .byte "pc " brk tac .byte "ac " brk txr .byte "xr " brk tyr .byte "yr " brk tsp .byte "sp " brk techt .byte "echtsimulation " fjs .byte "?\x9d\x9d\x9d" brk tadr .byte "adresse: ****\x9d\x9d\x9d\x9d\x9d\x9d" brk tpri .byte "druckerprotokoll " fjs2 .byte "?\x9d\x9d\x9d" brk hexa .byte "0123456789abcdef" oper .byt 11,35,0,63,65,35,3,63,37,35,3,0,66,35,3,63 .byt 10,35,0,63,65,35,3,63,14,35,34,63,66,35,3,63 .byt 29,2,0,61,7,2,40,61,39,2,40,0,7,2,40,61,8,2,0 .byt 61,65,2,40,61,45,2,34,61,66,2,40,61,42,24,0 .byt 64,65,24,33,64,36,24,33,0,28,24,33,64,12,24 .byt 0,64,65,24,33,64,16,24,34,64,66,24,33,64,43,1 .byt 0,62,65,1,41,62,38,1,41,0,28,1,41,62,13,1,0 .byt 62,65,1,41,62,47,1,34,62,66,1,41,62,0,48,65 .byt 57,50,48,49,57,23,0,54,0,50,48,49,57,4,48,0,0 .byt 50,48,49,57,56,48,55,0,0,48,0,0,32,30,31,60 .byt 32,30,31,60,52,30,51,0,32,30,31,60,5,30,0,60 .byt 32,30,31,60,17,30,53,0,32,30,31,60,20,18,65 .byt 58,20,18,21,58,27,18,22,0,20,18,21,58,9,18 .byt 0,58,65,18,21,58,15,18,34,58,66,18,21,58,19 .byt 44,65,59,19,44,25,59,26,44,34,0,19,44,25,59 .byt 6,44,0,59,65,44,25,59,46,44,34,59,66,44,25,59 adresse .word prog,ladc,land,lasl,lbcc .word lbcs,lbeq,lbit,lbmi,lbne,lbpl .word lbrk,lbvc,lbvs,lclc,lcld,lcli .word lclv,lcmp,lcpx,lcpy,ldec,ldex,ldey .word leor,linc,linx,liny,ljmp,ljsr .word llda,lldx,lldy,llsr,prog,lora,lpha,lphp .word lpla,lplp,lrol,lror,lrti,lrts .word lsbc,lsec,lsed,lsei,lsta,lstx,lsty,ltax .word ltay,ltsx,ltxa,ltxs,ltya,laax .word ldcp,lisc,llax,lrla,lrra,lslo,lsre .word lnop2,lnop2 adart .byt 1,11,1,10,3,3,3,3,1,2,4,1,5,5,5,5,12,10,1,11 .byt 3,6,6,6,1,9,1,9,5,8,8,8,5,11,1,11,3,3,3,3,1,2,4 .byt 1,5,5,5,5,12,10,1,10,3,6,6,6,1,9,1,9,5,8,8,8,1 .byt 11,1,11,3,3,3,3,1,2,4,1,5,5,5,5,12,10,1,10,3,6 .byt 6,6,1,9,1,9,5,8,8,8,1,11,1,11,3,3,3,3,1,2,4,1 .byt 13,5,5,5,12,10,1,10,3,6,6,6,1,9,1,9,5,8,8,8,1 .byt 11,3,11,3,3,3,3,1,1,1,1,5,5,5,5,12,10,1,1,6,6,7 .byt 7,1,9,1,1,1,8,1,1,2,11,2,11,3,3,3,3,1,2,1,1,5 .byt 5,5,5,12,10,1,10,6,6,7,7,1,9,1,1,8,8,9,9,2,11 .byt 3,11,3,3,3,3,1,2,1,1,5,5,5,5,12,10,1,10,3,6,6 .byt 6,1,9,1,9,5,8,8,8,2,11,3,11,3,3,3,3,1,2,1,1,5 .byt 5,5,5,12,10,1,10,3,6,6,6,1,9,1,9,5,8,8,8 oprb .word let,ln,zp,let,abs,zpx,zpy,absx,absy .word indy,indx,rel,ind mne .byte "???adcandaslbccbcs" .byte "beqbitbmibnebplbrk" .byte "bvcbvsclccldcliclv" .byte "cmpcpxcpydecdexdey" .byte "eorincinxinyjmpjsr" .byte "ldaldxldylsrnopora" .byte "phaphpplaplprolror" .byte "rtirtssbcsecsedsei" .byte "stastxstytaxtaytsx" .byte "txatxstyaaaxdcpisc" .byte "laxrlarraslosrenopnop" leerz .word leer,l7,l7,leer,l8,l7,l7,l8 .word l8,l7,l7,l7,l8 prt .word g1,g2,u1,g1,g5,g6,g7,k8,g9,g10,g11,g12,g13 strout tax lda pc pha lda pc+1 pha stx pc sty pc+1 ldy #0 nss lda (pc),y beq ssn jsr bsout inc pc bne nss inc pc+1 bne nss ssn pla sta pc+1 pla sta pc rts prtext lda #text jsr strout lda #text2 jsr strout lda #0 sta vi+33 sta vi+32 rts ru2 jsr rgt jmp bsout stri lda #"$" jsr bsout lda p sta zws lda p+1 sta zws+1 ldy #1 lda (zws),y sta a iny lda (zws),y sta a+1 umrec lda a+1 lsr lsr lsr lsr tax lda hexa,x jsr bsout lda a+1 and #15 tax lda hexa,x jsr bsout lda a aout pha lsr lsr lsr lsr jsr hex1 pla hex1 and #15 tax lda hexa,x jmp bsout fout and #1 clc adc #"0" jmp bsout super jsr bsout dex bne super rts turn bne turn0 lda #-1 .byt $2c turn0 lda #0 rts l1 lda ac and #128 beq zer7 lda #1 zer7 sta n lda ac bne zer8 ldx #1 .byt $2c zer8 ldx #0 stx z prog ldx l inx txa clc adc pc sta pc lda pc+1 adc #0 sta pc+1 out lda pc+1 sta s+1 sta e+1 lda pc sta s sta e not lda cbm and #2 bne noc ldy #0 ldx #8 clc jsr cursor jsr clr noc jmp reg status lda #32 ldx n beq no1 ora #128 no1 ldx v beq no2 ora #64 no2 ldx b beq no3 ora #16 no3 ldx d beq no4 ora #8 no4 ldx i beq no5 ora #4 no5 ldx z beq no6 ora #2 no6 ldx c beq no7 ora #1 no7 sta sr rts berec ldx sr txa and #128 sta n txa and #64 sta v txa and #16 sta b txa and #8 sta d txa and #4 sta i txa and #2 sta z txa and #1 sta c rts end lda absp cmp #"*" bne rech jmp essie rech ldx #0 ju lda absp,x ldy #15 vergl cmp hexa,y beq found dey bpl vergl pla pla jmp nprt found tya cpx #0 bne found2 asl asl asl asl sta a+1 inx bne ju found2 cpx #1 bne found3 ora a+1 sta a+1 inx bne ju found3 cpx #2 bne found4 asl asl asl asl sta a inx bne ju found4 ora a sta a rts end1 lda absp cmp #"*" bne rech1 jmp essie rech1 ldx #0 ju1 lda absp,x ldy #15 vergl1 cmp hexa,y beq found5 dey bpl vergl1 pla pla jmp nprt found5 tya cpx #0 bne found4 asl asl asl asl sta a inx bne ju1 pcoua lda #tpc jsr strout lda pc sta a lda pc+1 sta a+1 jsr umrec lda #"\x9d" ldx #6 jsr super jsr basin jsr end lda a sta pc lda a+1 sta pc+1 jmp out akkua ldx ac lda #tac jsr nimm lda a sta ac jmp reg xrega ldx xr lda #txr jsr nimm lda a sta xr jmp reg yrega ldx yr lda #tyr jsr nimm lda a sta yr jmp reg staca ldx sp lda #tsp jsr nimm lda a sta sp jmp reg nimm stx a jsr strout lda a jsr aout ldx #4 lda #"\x9d" jsr super jsr basin jmp end1 adr lda #tadr jsr strout jsr basin jsr end lda #"\x91" jsr bsout lda #"\x1d" ldx #20 jsr super lda a sta ad lda a+1 sta ad+1 jsr pruef dey beq opst iny lda (a),y sta op opst lda op jsr aout ldx #4 lda #"\x9d" jsr super jsr basin jsr end1 jsr poke lda #"\x91" jsr bsout ldx #29 lda #" " jsr super lda ad cmp pc beq testing regis jmp reg testing lda ad+1 cmp ad+1 bne regis jmp out pruef ldx ad+1 dex beq notre ldy #0 rts notre ldx ad lda spo,x sta op ldy #1 rts poke ldx ad+1 cpx #1 bne ret ldx ad lda a sta spo,x rts ret lda es beq ret1 lda a ldy #0 sta (ad),y ret1 rts echt jsr def lda #techt jsr strout jsr basin lda absp cmp #"j" beq yes cmp #"y" beq yes cmp #"n" bne weg lda #0 .byt $2c yes lda #1 sta es jmp reg weg jmp essie echtout lda es beq n0 lda #7 .byt $2c n0 lda #9 sta cfarb lda #"e" jsr bsout lda druck beq n01 lda #7 .byt $2c n01 lda #9 sta cfarb lda #"d" jsr bsout lda #1 sta cfarb rts def lda es beq aus lda #"j" .byt $2c aus lda #"n" sta fjs rts print10 ldx #"n" lda druck beq d0 ldx #"j" d0 stx fjs2 lda #tpri jsr strout jsr basin lda absp cmp #"j" beq yes2 cmp #"y" beq yes2 cmp #"n" bne weg lda #0 .byt $2c yes2 lda #1 sta druck jmp reg operh ldy #0 lda (pc),y tax lda adart,x asl sec sbc #2 tax lda oprb,x sta goto+1 lda oprb+1,x sta goto+2 jmp goto ind ldy #1 lda (pc),y sta zws iny lda (pc),y sta zws+1 ldy #0 lda (zws),y sta ad iny lda (zws),y sta ad+1 dey lda (ad),y sta op jmp pruef rel ldy #1 lda (pc),y bmi brmi clc adc #2 adc pc sta pc lda #0 adc pc+1 sta pc+1 jmp let brmi eor #-1 clc adc #1 sta zws lda pc sec sbc zws sta zws lda pc+1 sbc #0 sta zws+1 lda zws clc adc #2 sta pc lda zws+1 adc #0 sta pc+1 let lda #0 sta ad sta ad+1 jmp pruef abs ldy #1 lda (pc),y sta ad iny lda (pc),y sta ad+1 ldy #0 lda (ad),y sta op ldx #2 stx l jmp pruef absx ldy #1 lda (pc),y clc adc xr absi sta ad iny lda (pc),y adc #0 sta ad+1 sty l ldy #0 lda (ad),y sta op jmp pruef absy ldy #1 lda (pc),y clc adc yr jmp absi ln lda pc clc adc #1 sta ad lda pc+1 adc #0 sta ad+1 ldy #0 lda (ad),y sta op lda #1 sta l jmp pruef zp ldy #0 sty ad+1 iny lda (pc),y sta ad dey lda (ad),y sta op lda #1 sta l jmp pruef zpx ldy #1 lda (pc),y clc adc xr zeri sta ad dey sty ad+1 lda (ad),y sta op iny sty l jmp pruef zpy ldy #1 lda (pc),y clc adc yr jmp zeri indy ldy #1 lda (pc),y tax lda 0,x tay lda 1,x sta ad+1 tya clc adc yr sta ad lda #0 tay adc ad+1 sta ad+1 lda (ad),y sta op iny sty l jmp pruef indx ldy #1 lda (pc),y clc adc xr tax lda 0,x sta ad lda 1,x sta ad+1 sty l dey lda (ad),y sta op jmp pruef deci lda ac sed adc op cld sta ac rts deci1 lda ac sed sbc op cld sta ac rts string lda #"$" jsr bsout l9 lda p sta zws lda p+1 sta zws+1 ldy #1 pk lda (zws),y jmp aout leer ldx #5 r2 lda #" " jmp super l7 jsr l9 ldx #3 bne r2 l8 jsr l9 jsr space lda p sta zws lda p+1 sta zws+1 ldy #2 bne pk start ldx #0 stx tol2 stx tol3 txa stx pc ldy #$c0 sty pc+1 vl1 sta spo,x dex bne vl1 ldx #25 vl2 sta j,x dex bpl vl2 dec sp nprt jsr prtext reg lda #13 sta cfarb ldx #5 ldy #5 clc jsr cursor lda pc sta a lda pc+1 sta a+1 jsr umrec jsr status jsr ru2 lda ac jsr aout jsr rgt lda xr jsr aout jsr rgt lda yr jsr aout jsr rgt lda sr jsr aout jsr rgt lda sp jsr aout jsr ru2 lda n jsr fout lda v jsr fout lda #"1" jsr bsout lda b jsr fout lda d jsr fout lda i jsr fout lda z jsr fout lda c jsr fout jsr ru2 jsr echtout jsr return lda #"\x11" ldx #4 jsr super ldx 214 jsr clrx inc 211 get ldx key lda tol3 beq pcou lda cbm bne get1 cpx #64 beq get2 lda tol2 bne get1 dec tol1 bne get dec tol1+1 bne get inc tol2 bne get1 get2 lda #50 sta tol1+1 lda #0 sta tol2 get1 ldx key cpx #64 beq get1 ldy #0 sty tast cpx #63 bne ccomp essie lda #14 sta vi+32 sta cfarb lda #6 sta vi+33 lda #8 sta 214 jmp exit ccomp cpx #60 beq simu cpx #41 beq pcou cpx #10 beq akku cpx #23 beq xreg cpx #25 beq yreg cpx #13 beq stac cpx #39 bne tt5 lda n jsr turn sta n jmp reg simu jmp sim pcou inc tol3 jmp pcoua xreg jmp xrega akku jmp akkua yreg jmp yrega stac jmp staca tt5 cpx #31 bne tt6 lda v jsr turn sta v jmp reg tt6 cpx #28 bne tt7 lda b jsr turn sta b jmp reg tt7 cpx #18 bne tt8 lda d jsr turn sta d jmp reg tt8 cpx #33 bne tt9 lda i jsr turn sta i jmp reg tt9 cpx #12 bne tta lda z jsr turn sta z jmp reg tta cpx #20 bne ttb lda c jsr turn sta c jmp reg ttb cpx #7 bne ttc lda p sta s sta e sta pc lda p+1 sta s+1 sta e+1 sta pc+1 jmp not ttc cpx #36 bne ttd jmp adr ttd cpx #14 bne tte jmp echt tte cpx #57 bne ttf jmp print10 ttf jmp get sim lda #0 sta l tay lda (pc),y tax lda oper,x asl tax lda adresse,x sta goto+1 lda adresse+1,x sta goto+2 goto jmp 0 scroll ldx #12 lda tmp pha lda tmp+1 pha lda tmp2 pha lda tmp2+1 pha jsr calcx jsr colram sc1 lda bild clc adc #40 sta tmp lda bild+1 adc #0 sta tmp+1 lda farb clc adc #40 sta tmp2 lda farb+1 adc #0 sta tmp2+1 ldy #39 sc2 lda (tmp),y sta (bild),y lda (tmp2),y sta (farb),y dey bpl sc2 lda tmp2 sta farb lda tmp2+1 sta farb+1 lda tmp sta bild lda tmp+1 sta bild+1 inx cpx #24 bcc sc1 ldx #7 jsr calcx jsr colram ldy #39 sc3 lda (bild),y sta (tmp),y lda (farb),y sta (tmp2),y dey bpl sc3 pla sta tmp2+1 pla sta tmp2 pla sta tmp+1 pla sta tmp lda druck beq noprot lda #4 tax ldy #0 jsr setlfs lda #0 sta namlg jsr open ldx #4 jsr chkout lda st beq druok lda #0 sta druck jmp fert druok ldy #0 pto lda (bild),y and #63 eor #32 clc adc #32 jsr bsout iny cpy #39 bcc pto jsr return fert jsr clrchn lda #4 jsr close noprot jmp posit lsec lda #1 .byt $2c lclc lda #0 sta c jmp prog lsei lda #1 .byt $2c lcli lda #0 sta i jmp prog lsed lda #1 .byt $2c lcld lda #0 sta d jmp prog lclv lda #0 sta v jmp prog ldey dec yr jmp incry ldex dec xr jmp incrx liny inc yr incry ldx yr stx op jmp incre linx inc xr incrx ldx xr stx op jmp incre ltax lda ac sta xr jmp incrx ltay lda ac sta yr jmp incry ltsx lda sp sta xr jmp incrx ltxa lda xr sta ac jmp l1 ltxs lda xr sta sp jmp prog ltya lda yr sta ac jmp l1 lpha ldx sp lda ac sta spo,x dec sp jmp prog lpla inc sp ldx sp lda spo,x sta ac jmp l1 lphp jsr status ldx sp lda sr sta spo,x dec sp jmp prog lplp inc sp ldx sp lda spo,x sta sr jsr berec jmp prog lbcc lda c jsr turn jmp bra lbcs lda c jmp bra lbne lda z jsr turn jmp bra lbeq lda z jmp bra lbpl lda n jsr turn jmp bra lbmi lda n jmp bra lbvc lda v jsr turn jmp bra lbvs lda v bra bne hh1 lda #1 sta l jmp prog hh1 jsr rel jmp out lbrk lda #2 clc adc pc sta pc lda pc+1 adc #0 sta pc+1 bvc inord lda pc sec sbc #2 sta pc lda pc+1 sbc #0 sta pc+1 inord ldx sp lda pc+1 sta spo,x dex lda pc sta spo,x dec sp dec sp dex lda sr sta spo,x dec sp lda #1 sta i sta b jsr status lda brkvec ldy brkvec+1 sta pc sty pc+1 jmp out linc jsr operh inc op updown lda op sta a jsr poke incre lda op bpl ee4 ldx #1 .byt $2c ee4 ldx #0 stx n tax beq ee5 ldx #0 .byt $2c ee5 ldx #1 stx z jmp prog ldec jsr operh dec op jmp updown ljmp jsr operh lda ad sta pc lda ad+1 sta pc+1 jmp out ljsr lda pc clc adc #2 sta a lda pc+1 adc #0 sta a+1 ldx sp lda a+1 sta spo,x dex lda a sta spo,x dec sp dec sp ldy #1 lda (pc),y tax iny lda (pc),y stx pc sta pc+1 jmp out land jsr operh lda ac and op logo sta ac jmp l1 lora jsr operh lda ac ora op jmp logo leor jsr operh lda ac eor op jmp logo llda jsr operh lda op sta ac jmp l1 lldx jsr operh lda op sta xr jmp incrx lldy jsr operh lda op sta yr jmp incry lrti inc sp ldx sp lda spo,x sta sr jsr berec lrts ldx sp inx lda spo,x sta pc inx lda spo,x sta pc+1 inc sp inc sp jmp prog lsta jsr operh lda ac tos1 sta a jsr poke jmp prog lstx jsr operh lda xr jmp tos1 lsty jsr operh lda yr jmp tos1 lnop2 jsr operh jmp prog lasl ldy #0 lda (pc),y tax lda adart,x cmp #4 bne l2asl asl ac bcc cc1 ldy #1 cc1 sty c jmp l1 l2asl jsr operh asl op bcc cc2 ldy #1 .byt $2c cc2 ldy #0 sty c jsr poke lda op bmi cc3 ldy #0 .byt $2c cc3 ldy #1 sty n lda op beq cc4 ldy #1 .byt $2c cc4 ldy #0 sty z jmp prog llsr ldy #0 lda (pc),y tax tax lda adart,x cmp #4 bne l2 l3 lsr ac l4 bcc ff1 lda #1 .byt $2c ff1 lda #0 sta c jmp l1 l2 jsr operh lsr op bcc ff2 lda #1 .byt $2c ff2 lda #0 sta c jsr poke jmp incre ladc lda d bne l2adc jsr operh jsr cho lda ac adc op sta ac bbb bvs bb4 lda #0 .byt $2c bb4 lda #1 sta v jsr cse lda ac bmi nega lda #0 .byt $2c nega lda #1 sta n jmp l1 l2adc jsr operh lda c beq bb5 sec .byt $24 bb5 clc jsr deci jmp bbb lsbc lda d bne l2sbc jsr operh jsr cho lda ac sbc op sta ac jmp bbb l2sbc jsr operh jsr cho jsr deci1 jmp bbb lslo jsr operh asl op jsr cse lda op sta a jsr poke jmp lora lsre jsr operh lsr op jsr cse lda op sta a jsr poke jmp leor lrla jsr operh jsr cho rol op jsr cse lda op sta a jsr poke jmp land lrra jsr operh jsr cho ror op jsr cse lda op sta a jsr poke jmp ladc lisc jsr operh inc op lda op sta a jsr poke jmp lsbc llax jsr operh lda op sta ac sta xr jmp l1 laax jsr operh lda ac and xr sta a jsr poke sta op jmp incre ldcp jsr operh dec op lda op sta a jsr poke jmp lcmp lbit jsr operh lda op bmi dd1 ldy #0 .byt $2c dd1 ldy #1 sty n and #64 beq zebi ldy #1 .byt $2c zebi ldy #0 sty v lda ac and op beq zeb2 ldy #0 .byt $2c zeb2 ldy #1 sty z jmp prog lror ldy #0 lda (pc),y tax lda adart,x cmp #4 bne l2ror jsr cho ror ac jmp m1 l2ror jsr operh jsr cho ror op jmp lrl cse bcc nc lda #1 .byt $2c nc lda #0 sta c rts cho lda c beq clec sec rts clec clc rts lrol ldy #0 lda (pc),y tax lda adart,x cmp #4 bne l2rol jsr cho rol ac m1 jsr cse jmp l1 l2rol jsr operh jsr cho rol op lrl jsr cse lda op sta a jsr poke jmp incre lcmp jsr operh lda ac comp cmp op bmi ee1 ldx #0 .byt $2c ee1 ldx #1 stx n cmp op beq ee2 ldx #0 .byt $2c ee2 ldx #1 stx z cmp op jsr cse jmp prog lcpx jsr operh lda xr jmp comp lcpy jsr operh lda yr jmp comp clr jsr scroll ldx #7 ldy #1 clc jsr cursor jsr clrx lda s sta p sta a lda s+1 sta p+1 sta a+1 jsr umrec jsr space lda p sta zws lda p+1 sta zws+1 ldy #0 lda (zws),y sta a jsr aout jsr space ldx a stx j lda adart,x asl sec sbc #2 tay lda leerz+1,y sta goto+2 lda leerz,y sta goto+1 jsr goto jsr space ldx j lda oper,x sta zws asl clc adc zws tay ldx #3 pmne lda mne,y jsr bsout iny dex bne pmne jsr space ldx j lda adart,x asl sec sbc #2 tay lda prt,y sta goto+1 lda prt+1,y sta goto+2 jsr goto ldx j lda adart,x cmp #6 bcc notprint cmp #12 beq notprint jsr printad notprint lda 211 cmp #39 bcs raus jsr space bne notprint raus jsr return clc lda p adc #1 sta p lda p+1 adc #0 sta p+1 g1 rts g2 lda #"#" jsr bsout u1 jsr string u4 inc p bne nothi inc p+1 nothi rts g5 jsr stri u5 lda p clc adc #2 sta p lda p+1 adc #0 sta p+1 rts g6 jsr u1 u2 lda #"," jsr bsout lda #"x" jmp bsout g7 jsr u1 u3 lda #"," jsr bsout lda #"y" jmp bsout k8 jsr g5 jmp u2 g9 jsr g5 jmp u3 g10 lda #"(" jsr bsout jsr u1 lda #")" jsr bsout jmp u3 g11 lda #"(" jsr bsout jsr u1 jsr u2 lda #")" jmp bsout g12 lda p sta zws lda p+1 sta zws+1 ldy #1 lda (zws),y bmi prmi clc adc #2 adc p sta a lda p+1 adc #0 sta a+1 jmp cont1 prmi eor #-1 clc adc #1 sta a lda p sec sbc a sta a lda p+1 sbc #0 sta a+1 lda a clc adc #2 sta a lda a+1 adc #0 sta a+1 cont1 lda #"$" jsr bsout jsr umrec jmp u4 g13 lda #"(" jsr bsout jsr stri lda #")" jsr bsout jmp u5 printad jsr operh jsr space jsr bsout lda #"[" jsr bsout lda ad sta a lda ad+1 sta a+1 jsr umrec lda #"=" jsr bsout lda op jsr aout lda #"]" jmp bsout