;:poke55,168:poke56,97:clr:printfre(0)"free ;:sys36864 ;.opt oo *= 25000 vicinit =$ff81 vic =$d000 bsout =$ffd2 bsin =$ffcf strout =$ab1e tmp =251 open =$ffc0 close =$ffc3 clall =$ffe7 setnam =$ffbd setpar =$ffba chkin =$ffc6 chkout =$ffc9 clrchn =$ffcc cr =13 prompt =">" return =$aad7 basic =$e37b getin =$ffe4 space =$ab3f big =8 rvs =199 quote =212 keybuf =631 nmbkey =198 repeat =650 big2 =32 setcr =58732 spalte =211 axout =$bdcd status =$90 himem =55 himem2 =51 getx =$b7f1 chrgot =121 befe =$a09e integer =$b7f7 round =$bc1b ascfloat =$bcf3 chrptr =$7a byte =$14 exp =$61 vorz =$66 st jmp mainstart ; 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 ; 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 ; typ .byt 1,2,2,1,3,2,2,3,3,2,2,2,3 adtab .word ad0,ad2,ad3,ad4,ad5,ad6,ad7,ad8,ad9 .word ad10,ad11,ad12,ad13 mne .byte "\x9d adcandaslbccbcsbeqbitbmibnebplbrk" .byte "bvcbvsclccldcliclvcmpcpxcpydecdexdey" .byte "eorincinxinyjmpjsrldaldxldylsrnopora" .byte "phaphpplaplprolrorrtirtssbcsecsedsei" .byte "stastxstytaxtaytsxtxatxstyaaaxdcpisc" .byte "laxrlarraslosrenopnop" hello .byte "\x93\x11\x8e\x9f **** nss diskmemorymonitor v1.1 ****" .byt cr .byte "\x11 cbm 64 with vc 1541 (c) nh 270786\x11" .byt cr .byt "\x11",prompt .byte ";enter '?' for a help !" .byt cr,0 restxt .byte "uj" errtxt .byt cr .byte "\x91\x91\x12" .byt prompt,cr,0 ovtxt .byte "\x12stack overflow" .byt cr,0 untxt .byte "\x12stack underflow" .byt cr,0 toman .byte "\x12too often found" .byt cr,0 jobtxt .byt prompt .byte ";buf# job/error tr se (dec)" .byt cr,0 puff .byt prompt .byte "; nr jo tr se adr" .byt cr,0 pufff .byte "00-ff" .byt cr,0 i .byte "i0" suchtxt .byte "uc" sadr .word 0,0 .byt 0 .word 0 oft .byte "x found" .byt cr,0 hex .byte "0123456789abcdef" transtxt .byte "\x91write to $" .byt 0 flop .byte "uc" ad1 .word 0 .byt 0 memtxt .byte "\x91\x1d:" .byt 0 chrtxt .byte "\x91\x1d;" .byt 0 write .byte "m-w" wr1 .word 0 .byt 0 jo0 .byte "read" .byt 0 jo1 .byte "write" .byt 0 jo2 .byte "verify" .byt 0 jo3 .byte "search" .byt 0 jo4 .byte "bump & goto" .byt 0 jo5 .byte "execute" .byt 0 jobte .word jo0,jo1,jo2,jo3,jo4,jo5,jo5 jobread .byte "m-r" low .word 0 ok .byte "ok" .byt 0 nc .byte "n.c." .byt 0 erro .byte "error #" .byt 0 testtxt .byte "m-r\x02\x05" exectxt .byte "m-e" exadr .word 0 listtxt .byte "\x12h\x92exdump, \x12t\x92ext, \x12b\x92asic or \x12q\x92uit ?" .byt cr,0 nerr .byte "device missing" .byt cr,0 lerr .byte "file not found" .byt cr,0 first .byte "byte 1 & 2 = startadress ? [yn]" .byt cr,0 jobwrite .byte "m-w" to .word 0,$100 device .byt 8 fg .byt 0 neu .word 0 temp .byt 0 sp .byt 0 ptr .byt 0 stack .word 0,0,0,0,0 latch .word 0,0,0,0 temp2 .byt 0 char .byt 0 stat .byte "x;m:cd?*@^glnjr$#bsty" .byt 0 adr .word exit,rem,mem,change,charr,disas,help,restart .word cmd,job,exec,list,number,setjob,reset .word hexdez,dezhex,bump,such,transmit,copy newprg .byte "m-w" .byt 0,5,f2-f1 f1 pla pla lda $202 sta $6f lda $203 sta $70 dec $204 ldy $204 x7 lda ($6f),y sta $580,y dey bpl x7 lda $204 f2 .byte "m-w" .byt f2-newprg-6,5,f3-f4 f4 sta $249 lda $580 sta $85 lda #$81 sta $a5 lda #$5 jmp $cb40 f3 =* newprg2 .byte "m-w" .byt 0,5,g2-g1 g1 ldy #0 sty $4ff sty $4fe lda $202 ldy $203 sta $14 sty $15 ldy #-1 gg1 iny cpy $206 beq *+30 lda $207,y cmp ($14),y beq gg1 g2 .byte "m-w" .byt g2-newprg2-6,5,g3-g4 g4 inc $14 bne gg3 inc $15 gg3 lda $14 cmp $204 bne *-26 lda $15 cmp $205 bne *-33 rts ldx $4ff lda $14 sta $300,x lda $15 sta $600,x g3 .byte "m-w" .byt g3-newprg2-12,5,g5-g6 g6 inc $4ff bne *-37 lda #-1 sta $4fe rts g5 =* htxt .byte "\x11m memory : change * restart" .byt cr .byte "? help ; remark d disasembly" .byt cr .byte "c char @ errchn, send cmds, dir" .byt cr .byte "^ list jobs g execute l list prg" .byt cr .byte "n device# j set jobs r reset drive" .byt cr .byte "$ hex->dez # dez->hex x quit" .byt 0 cont .byt cr .byte "b bump s search t transfer" .byt cr .byte "y copy" .byt cr,0 mainstart jsr chrgot beq main jsr getx stx device main lda #st sta himem sta himem2 sty himem+1 sty himem2+1 jsr init lda #hello jsr strout run jsr clrpuf jsr input jsr get bcs run sta char ldx #0 r0 lda stat,x beq err cmp char beq r1 inx bne r0 err lda #errtxt jsr strout jmp run r1 txa asl tax lda adr,x sta goto+1 lda adr+1,x sta goto+2 goto jsr 0 bcc run bcs err input jsr ptout ldx #0 stx fg stx ptr i0 jsr bsin cmp #cr beq i1 sta buff,x inx bne i0 i1 lda #0 sta buff,x ldx #-1 ldy #-1 i2 inx lda buff,x beq i3 cmp #34 bne i4 lda fg eor #-1 sta fg lda #34 i4 bit fg bmi i5 cmp #prompt beq i2 cmp #32 beq i2 cmp #160 beq i2 i5 iny sta buff,y jmp i2 i3 iny sta buff,y jmp return get jsr putx ldx ptr inc ptr lda buff,x beq g0 jsr holx clc rts g0 jsr holx sec rts putx pha txa ldx sp sta stack,x inc sp inx cpx #10 bcs over tax pla rts over lda #ovtxt jsr strout pla rts holx pha dec sp bmi under ldx sp lda stack,x tax pla rts under lda #untxt jsr strout pla rts initf jsr clall ldx #i lda #2 jsr setnam lda #15 tay ldx device jsr setpar jsr open jmp test init jsr vicinit lda #0 sta sp lda #128 sta repeat lda #0 sta tmp sta tmp+1 sta vic+32 sta vic+33 jmp initf hexout pha lsr lsr lsr lsr jsr h0 pla h0 and #$f tax lda hex,x jmp bsout hexin jsr get bcs h1 jsr h2 bcs h1 asl asl asl asl sta add+1 jsr get bcs h1 jsr h2 bcs h1 add adc #0 rts h2 ldx #15 h3 cmp hex,x beq h4 dex bpl h3 sec .byt $2c h4 txa clc h1 rts tmp8 lda tmp clc adc #big sta tmp lda tmp+1 adc #0 sta tmp+1 rts tmp32 lda tmp clc adc #big2 sta tmp lda tmp+1 adc #0 sta tmp+1 rts adrout lda tmp+1 jsr hexout lda tmp jmp hexspa getadr jsr hexin bcs h1 sta temp jsr hexin bcs h5 sta tmp lda temp sta tmp+1 rts h5 lda temp sta tmp rts asciout pha lda #1 sta quote pla cmp #cr bne nocr lda #"m" a0 pha lda #1 sta rvs pla jsr bsout lda #0 sta rvs rts nocr cmp #cr+128 bne noscr lda #"M" bne a0 noscr cmp #20 bne nodel lda #"t" bne a0 nodel jsr bsout rts sendfl stx ad1+2 lda tmp sta ad1 lda tmp+1 sta ad1+1 jsr out15 ldx #0 s0 lda flop,x jsr bsout inx cpx #memtxt-flop bcc s0 jmp clrchn setkey sta keybuf lda #"\x9d" sta keybuf+1 lda #2 sta nmbkey rts sendprg jsr out15 ldx #0 sp0 lda newprg,x jsr bsout inx cpx #f2-newprg bcc sp0 jsr clrchn jsr out15 ldx #0 sp1 lda f2,x jsr bsout inx cpx #f3-f2 bcc sp1 jmp clrchn test jsr out15 ldx #0 te0 lda testtxt,x jsr bsout inx cpx #5 bcc te0 jsr clrchn jsr in15 jsr getin pha jsr clrchn pla cmp f1+2 bne sendprg rts trans jsr out15 ldx #0 sp2 lda newprg2,x jsr bsout inx cpx #g2-newprg2 bcc sp2 jsr clrchn jsr out15 ldx #0 sp3 lda g2,x jsr bsout inx cpx #g3-g2 bcc sp3 jsr clrchn jsr out15 ldx #0 sp4 lda g3,x jsr bsout inx cpx #g5-g3 bcc sp4 jmp clrchn clrpuf ldy #0 tya clp0 sta buff,y dey bne clp0 rts setspa sta spalte jmp setcr ptout lda #prompt .byt $2c up lda #"\x91" jmp bsout hexspa jsr hexout jmp space out15 ldx #15 jmp chkout in15 ldx #15 jmp chkin default lda char jmp bsout tmp1 inc tmp bne noinc inc tmp+1 noinc rts latch1 inc latch bne noinc inc latch+1 rts rem clc rts exit lda #15 jsr close jmp basic help lda #htxt jsr strout lda #cont jsr strout clc rts restart lda #15 jsr close pla pla jmp mainstart number jsr hexin bcc set jsr space jsr default jsr space lda device jsr hexout jsr up jmp rtend set sta temp lda #15 jsr close lda #2 ldx #i jsr setnam lda #15 tay ldx temp jsr setpar jsr open php lda #15 jsr close plp bcc gut jsr initf lda #nerr jsr strout clc rts gut lda temp sta device jsr initf clc rts mem jsr getadr lda #memtxt jsr strout jsr adrout jsr test ldx #big jsr sendfl jsr in15 ldx #big-1 m0 jsr putx jsr getin sta latch,x jsr hexspa jsr holx dex bpl m0 jsr clrchn jsr tmp8 ldx #big-1 m1 lda latch,x jsr asciout dex bpl m1 lda #"m" jsr setkey jsr return clc rts charr jsr getadr lda #chrtxt jsr strout jsr adrout jsr test ldx #big2 jsr sendfl jsr in15 ldx #big2-1 c0 jsr putx jsr getin jsr asciout jsr holx dex bpl c0 jsr tmp32 jsr clrchn lda #"c" jsr setkey rtend jsr return clc rts disas jsr getadr lda #memtxt jsr strout jsr adrout jsr space jsr space jsr test ldx #3 jsr sendfl jsr in15 ldx #0 d0 jsr getin sta latch,x inx cpx #3 bcc d0 jsr clrchn lda latch jsr hexspa lda latch pha tax lda adart,x tax dex stx temp2 lda typ,x pha tax ldy #0 d1 dex beq d2 iny lda latch,y jsr putx jsr hexspa jsr holx jmp d1 d2 lda #20 jsr setspa lda #":" jsr bsout pla clc adc tmp sta neu lda tmp+1 adc #0 sta neu+1 pla tax lda oper,x sta temp asl clc adc temp tay lda mne,y jsr bsout lda mne+1,y jsr bsout lda mne+2,y jsr bsout lda temp2 asl tax lda adtab,x sta adre+1 lda adtab+1,x sta adre+2 jsr space adre jsr 0 lda neu ldy neu+1 sta tmp sty tmp+1 lda #"d" jsr setkey jmp rtend ad0 rts ad2 lda #"#" jsr bsout ad3 lda latch+1 jmp hexout ad4 lda #"a" jmp bsout ad5 lda latch+2 jsr hexout jmp ad3 ad8 jsr ad5 jmp ad11a ad9 jsr ad5 ad10a lda #"," jsr bsout lda #"y" jmp bsout ad6 jsr ad3 ad11a lda #"," jsr bsout lda #"x" jmp bsout ad7 jsr ad3 jmp ad10a ad13 lda #"(" jsr bsout jsr ad5 ad11b lda #")" jmp bsout ad12 lda latch+1 pha bmi ad12a lda #"+" .byt $2c ad12a lda #"-" jsr bsout pla pha bpl ad12b eor #-1 clc adc #1 ad12b jsr hexout jmp branch ad10 lda #"(" jsr bsout jsr ad3 lda #")" jsr bsout bcc ad10a ad11 lda #"(" jsr bsout jsr ad3 jsr ad11a jmp ad11b branch jsr space jsr bsout lda #1 sta rvs pla bmi ad12c clc adc #2 php clc adc tmp sta tmp lda tmp+1 adc #0 plp adc #0 ad12d jsr hexout lda tmp jmp hexout ad12c eor #-1 sec sbc #1 php sta temp lda tmp sec sbc temp sta tmp lda tmp+1 sbc #0 plp sbc #0 jmp ad12d cmd jsr get bcc cm0 jsr in15 lda #0 sta status cm1 jsr getin jsr bsout bit status bvc cm1 jmp clrchn cm0 cmp #"$" beq cm4 jsr out15 dec ptr cm2 jsr get bcs cm3 jsr bsout bcc cm2 cm3 jsr clrchn clc rts cm4 jsr len ldx #buff+1 jsr setnam lda #3 ldy #0 ldx device jsr setpar jsr open jsr e0 jsr getbyt bcs cm5 jsr getbyt cm6 jsr getbyt jsr getbyt jsr getbyt bcs cm5 tax jsr getbyt jsr axout jsr space cm7 jsr getbyt tax beq cm8 jsr bsout jmp cm7 cm8 jsr return jsr clrchn jsr getin cmp #" " beq wait cmp #"\x03" bne cm9 cm5 jsr clrchn lda #3 jmp close cm9 jsr e0 jmp cm6 wait jsr getin cmp #" " bne wait beq cm9 getbyt jsr getin bit status bvc gy0 sec rts gy0 clc rts len ldx #1 ll0 jsr get bcs ll1 inx bne ll0 ll1 txa rts change jsr getadr ldx #0 ch0 jsr putx jsr hexin php jsr holx plp bcs ch1 sta latch,x inx cpx #big bcc ch0 ch1 dex bpl ch2 sec rts ch2 lda tmp sta wr1 lda tmp+1 sta wr1+1 inx stx wr1+2 jsr putx jsr out15 ldx #0 ch3 lda write,x jsr bsout inx cpx #6 bcc ch3 jsr holx stx temp ldx #0 ch4 lda latch,x jsr bsout inx cpx temp bcc ch4 ch5 jsr clrchn jsr return jsr up lda #100 sta ptr jsr mem php lda #0 sta nmbkey plp rts job jsr get bcs gall and #$f cmp #6 bcc one rts gall jmp all one pha jsr j0 pla tax handle jsr putx jsr ptout lda #";" jsr bsout jsr space lda #0 jsr axout lda #8 jsr setspa jsr holx txa pha jsr read pha jsr hexspa pla bpl j3 lsr lsr lsr and #$e tax lda jobte+1,x tay lda jobte,x j5 jsr strout jmp j2 j3 cmp #1 bcc j6 bne j4 lda #ok bne j5 j6 lda #nc bne j5 j4 pha lda #erro jsr strout pla tax lda #0 jsr axout j2 lda #24 jsr setspa pla asl clc adc #6 pha jsr read tax lda #0 jsr axout lda #27 jsr setspa pla clc adc #1 jsr read tax lda #0 jsr axout jmp rtend all jsr j0 ldx #0 j1 jsr putx jsr handle jsr holx inx cpx #6 bcc j1 clc rts j0 lda #jobtxt jmp strout read ldy #0 readabs sty low+1 sta low jsr out15 ldx #0 rr0 lda jobread,x jsr bsout inx cpx #5 bcc rr0 jsr clrchn jsr in15 jsr getin pha jsr clrchn pla rts exec jsr getadr lda tmp sta exadr lda tmp+1 sta exadr+1 jsr out15 ldx #0 ex0 lda exectxt,x jsr bsout inx cpx #5 bcc ex0 jsr clrchn clc rts list jsr get cmp #34 beq l0 l1 sec rts l0 ldx #0 l3 jsr get bcs l2 cmp #34 beq l2 inx bne l3 l2 txa ldx #buff+2 jsr setnam lda #3 tay ldx device jsr setpar jsr open jsr in15 jsr getin pha jsr clrchn pla cmp #"0" beq l4 lda #lerr jsr strout l5 jsr clrchn lda #3 jmp close l4 lda #listtxt jsr strout lda #0 sta nmbkey sta status sta tmp sta tmp+1 wati jsr getin cmp #"q" beq l5 cmp #"b" beq basc1 cmp #"h" beq l7 cmp #"t" bne wati jsr enterf l8 bit status bvs l6 jsr getin jsr asciout jmp l8 l6 jsr return jmp l5 basc1 jmp basc l7 jsr enterf l9 jsr ptout lda #";" jsr bsout jsr adrout ldx #big-1 l10 jsr putx jsr getin pha jsr hexspa pla jsr holx sta latch,x dex bpl l10 ldx #big-1 l11 lda latch,x jsr asciout dex bpl l11 jsr return jsr tmp8 bit status bvc l9 jmp l5 enterf lda #first jsr strout jsr clrchn wati2 jsr getin cmp #"n" beq e0 cmp #"y" bne wati2 e1 jsr e0 jsr getin sta tmp jsr getin sta tmp+1 rts e0 ldx #3 jmp chkin b0 jmp l6 basc jsr e1 lda #"\x91" jsr bsout b3 jsr getin jsr getin beq b0 b1 jsr return jsr getin tax jsr getin jsr axout jsr space lda #0 sta temp b2 jsr getin beq b3 cmp #34 bne b4 lda temp eor #-1 sta temp lda #34 b4 tax bpl b5 cmp #-1 beq b5 bit temp bmi b5 sec sbc #127 tax ldy #-1 b6 dex beq b7 b8 iny lda befe,y bpl b8 bmi b6 b7 iny lda befe,y php and #$7f jsr bsout plp bpl b7 bmi b2 b5 jsr bsout jmp b2 setjob jsr hexin bcc q0 lda #puff jsr strout ldx #0 q1 jsr putx jsr ptout jsr default jsr space txa jsr putx jsr hexspa jsr holx txa pha pha jsr read jsr hexspa pla asl clc adc #6 pha jsr read jsr hexspa pla clc adc #1 jsr read jsr hexspa lda #";" jsr bsout pla clc adc #"3" cmp #"8" bcs q9 jsr bsout lda #pufff jsr strout q8 jsr holx inx cpx #6 bcc q1 clc rts q9 lda #nc jsr strout jsr return jmp q8 q0 cmp #6 bcc q2 q3 rts q2 sta temp jsr hexin bcs q3 sta temp2 jsr hexin bcs q3 cmp #0 beq q3 cmp #42 bcs q3 pha lda temp asl clc adc #6 tax jsr putx pla jsr store jsr hexin bcs q3 cmp #22 bcs q3 jsr holx inx jsr store ldx temp lda temp2 jsr store clc rts store ldy #0 storeabs sta to+3 stx to sty to+1 jsr out15 ldx #0 wrt0 lda jobwrite,x jsr bsout inx cpx #7 bcc wrt0 jmp clrchn reset jsr out15 lda restxt jsr bsout lda restxt+1 jsr bsout jsr clrchn ldx #255 ldy #255 lda #4 pause dex bne pause dey bne pause sec sbc #1 bne pause clc rt rts hexdez lda #0 sta temp sta temp2 hd0 jsr get bcs hd1 jsr temp16 bcs rt jsr h2 bcs rt clc adc temp sta temp lda temp2 adc #0 sta temp2 jmp hd0 hd1 jsr ptout lda #"#" jsr bsout jsr space ldx temp lda temp2 jsr axout jsr up jmp rtend temp16 ldx #4 t16 asl temp rol temp2 bcs rt dex bne t16 rts dezhex lda chrptr pha lda chrptr+1 pha lda #buff+1 sta chrptr sty chrptr+1 jsr chrgot jsr ascfloat jsr round pla sta chrptr+1 pla sta chrptr lda vorz bmi dh2 lda exp cmp #$91 bcs dh2 jsr integer jsr ptout lda #"$" jsr bsout jsr space lda #0 sta temp lda byte+1 pha lsr lsr lsr lsr jsr hh0 pla jsr hh0 lda byte pha lsr lsr lsr lsr jsr hh0 pla jsr hh0 jsr up jmp rtend hh0 and #$f bit temp bmi hh1 tax beq rt2 ldx #-1 stx temp hh1 jmp h0 dh2 sec rt2 rts bump jsr hexin bcs bu1 cmp #42 bcc bu0 rts bu0 ldx #10 jsr store bu1 ldx #2 lda #$c0 jsr store clc rts such jsr trans jsr getadr lda tmp ldy tmp+1 sta sadr sty sadr+1 jsr getadr jsr tmp1 lda tmp ldy tmp+1 sta sadr+2 sty sadr+3 ldx #0 lda ptr pha su0 jsr putx jsr hexin php jsr holx plp bcs su1 inx cpx #28 bcc su0 su1 pla sta ptr stx sadr+4 jsr out15 ldx #0 su2 lda suchtxt,x jsr bsout inx cpx #7 bcc su2 su3 jsr hexin jsr bsout dec sadr+4 bne su3 jsr clrchn lda #$fe ldy #4 jsr readabs tax beq su4 lda #toman jsr strout clc rts su4 lda #$ff ldy #4 jsr readabs tax jsr putx lda #0 jsr axout lda #oft jsr strout lda #0 sta temp jsr holx su6 txa beq su5 jsr putx lda temp ldy #6 jsr readabs jsr hexout lda temp inc temp ldy #3 jsr readabs jsr hexspa jsr holx dex jmp su6 su5 jmp rtend transmit jsr getadr lda tmp ldy tmp+1 sta latch sty latch+1 sta latch+4 sty latch+5 jsr getadr jsr tmp1 lda tmp ldy tmp+1 sta latch+2 sty latch+3 jsr getadr jsr return lda tmp sec sbc latch sta latch+6 lda tmp+1 sbc latch+1 sta latch+7 tr0 lda #transtxt jsr strout jsr adrout jsr return lda latch ldy latch+1 jsr readabs pha ldx tmp ldy tmp+1 jsr storeabs pla tax lda adart,x tax dex lda typ,x tax cpx #2 bcc tor2 bne tr3 jsr tmp1 jsr latch1 lda latch ldy latch+1 jsr readabs ldx tmp ldy tmp+1 jsr storeabs tor2 jmp tr2 tr3 jsr latch1 lda latch ldy latch+1 jsr readabs sta temp jsr latch1 lda latch ldy latch+1 jsr readabs sta temp2 cmp latch+5 bcc uebernehm bne calc1 lda temp cmp latch+4 bcc uebernehm calc1 lda temp2 cmp latch+3 bcc rechne bne uebernehm lda temp cmp latch+2 bcs uebernehm rechne lda temp clc adc latch+6 pha lda temp2 adc latch+7 tay pla jmp setzein uebernehm lda temp ldy temp2 setzein sta temp tya pha jsr tmp1 ldx tmp ldy tmp+1 lda temp jsr storeabs jsr tmp1 pla ldx tmp ldy tmp+1 jsr storeabs tr2 jsr tmp1 jsr latch1 lda latch cmp latch+2 bne tr1 lda latch+1 cmp latch+3 bne tr1 clc rts tr1 jmp tr0 copy jsr getadr lda tmp ldy tmp+1 sta latch sty latch+1 jsr getadr jsr tmp1 lda tmp ldy tmp+1 sta latch+2 sty latch+3 jsr getadr jsr return co0 lda #transtxt jsr strout jsr adrout jsr return lda latch ldy latch+1 jsr readabs ldx tmp ldy tmp+1 jsr storeabs jsr latch1 jsr tmp1 lda latch cmp latch+2 bne co0 lda latch+1 cmp latch+3 bne co0 clc rts buff .byt 0