;:poke56,20000/256:clr ;:sys36864 ;.opt oo *= $c000 tmp =2 kot =$8000 tmp2 =4 nam1 =704 nam2 =nam1+20 err =820 fn =2 mem =$a000 endmem =$c000 to =247 from =249 jsr kotinit jmp start hex .byte "0123456789abcdef" .byte "\x9f\x9f\x9e\x03" hi .byte "\x93\x97\x8e unicon ver.1 nikolaus heusler 05.92" .byte "\x1a\x19(\xc0" .byte "\x11\x19(\xc0" .byte "\x19\x12\x11" .byte "\x19(\xc0\x13\x11\x11\x1d\x03" men1 .byte "main menu" .byte "\x1a\x11\x11\x11 - 1 - convert file" .byte "\x1a\x11 - 2 - edit codetable" .byte "\x1a\x11 - 3 - load codetable" .byte "\x1a\x11 - 4 - save codetable" .byte "\x1a\x11 - 5 - directory" .byte "\x1a\x11 - 6 - quit\x1a" .byte "\x19\x06\x11 copyright is most strenuously reserved" .byte "\x19\x08\x1dour lawyers are watching!!\x03" mp1 .byte "edit codetable" .byte "\x19\x13" .byt 13 .byte "\x11 enter \x12 f1 \x92 for help\x03" mp4 .byte "save codetable" mp4a .byte "\x1a\x1a enter filename:\x1a\x1a uc-\x03" mp5 .byte "load codetable\x03" mp2 .byte "convert file\x1a\x1a enter filenames:\x11\x03" ty1 .byte "\x1a\x1a source: \x03" ty2 .byte "\x1a\x1a\x1a target: \x03" ty3 .byte "\x1a\x1a \x12 p \x92 prg \x12 s \x92 seq \x12" .byte " u \x92 usr \x12 _ \x92 quit\x03" ty4 .byte "\x1a\x91\x91\x91\x19\x1f\x1dtyp: \x03" ty5 .byte "\x1a\x1a\x1a skip loading addr. ? [y/n/_]\x19\x09\x9d\x03" di1 .byte "\x13\x19\x17\x11 insert source disk\x19\x0b\x9d" di2 .byte "\x03arget\x03" hit .byte "\x1a any key to continue\x03" fut .byte "\x13\x19\x17\x11 out of memory\x03" mp3 .byte "directory\x03" disp .byte "\x13\x19\x17\x11 source\x1a target\x03" disp2 .byte "\x13\x19\x17\x11 saving\x03" ht .byte "\x13\x19\x05\x11 \x12return\x92 when done" .byte "\x1a \x120\x92 to \x12f\x92 enter value" .byte "\x1a \x12-\x92\x19\x07 delete value" .byte "\x1a \x12.\x92\x19\x07 utilize previous line" .byte "\x1a \x12ctrl 4\x92 jump to $40" .byte "\x1a \x12ctrl 8\x92 jump to $80" .byte "\x1a \x12ctrl c\x92 jump to $c0" .byte "\x1a \x12crsr\x92\x19\x04 move cursor" .byte "\x1a \x12home\x92\x19\x04 top of screen/table" .byte "\x1a \x12clr\x92\x19\x05 init table\x03" oben brk line brk curlin brk brei brk spal brk xmk brk len1 brk len2 brk skip brk len brk speed brk hexout stx xmk pha lsr lsr lsr lsr jsr hex1 pla hex1 and #15 tax lda hex,x ldx xmk ascout cmp #128 bcs gr128 cmp #32 bcc kl32 cmp #96 bcc kl96 and #$df .byt $2c kl96 and #$3f .byt $2c kl32 ora #$80 bsc sty tmp ldy 211 sta ($d1),y lda 646 sta ($f3),y inc 211 ldy tmp rts gr128 and #$7f cmp #$7f bne nopi lda #$5e nopi cmp #$20 ora #$40 bcs bsc bcc kl32 mask lda #hi strout sta tmp sty tmp+1 sto ldy #0 lda (tmp),y bne ausgebe done rts ausgebe cmp #3 beq done cmp #"\x19" beq repeat cmp #"\x1a" bne aus lda #13 aus jsr $ffd2 inc tmp bne sto inc tmp+1 bne sto repeat iny lda (tmp),y tax iny lda (tmp),y rep jsr $ffd2 dex bne rep clc lda #3 adc tmp sta tmp bcc sto inc tmp+1 bne sto kotaus lda #5 sta 214 jsr 58732 ldy oben lda #16 sta line lda #0 sta tmp2 ko1 lda #1 sta 211 tya pha jsr hexout pla inc 211 jsr ascout inc 211 lda #93 jsr bsc inc 211 lda kot,y sta brei ldx #0 lda #29 sta tmp+1 ko2 cpx brei bcs ko3 txa sec adc #>kot sta tmp2+1 lda (tmp2),y jsr hexout lda 211 pha lda tmp+1 inc tmp+1 sta 211 lda (tmp2),y jsr ascout pla sta 211 inx bne ko2 ko3 ldx 211 cpx #28 bcs ko3a lda #"-" jsr bsc jmp ko3 ko3a sty tmp lda brei clc adc #29 tay lda #32 ko3c cpy #39 bcs ko3b sta ($d1),y iny bne ko3c ko3b ldy tmp jsr $aad7 iny dec line bne ko1 rts kotinit ldx #0 ki lda #1 sta kot,x txa sta kot+256,x dex bne ki rts addr lda #>kot sta tmp2+1 ldy #0 lda oben clc adc curlin sta tmp2 rts inform sta tmp sty tmp+1 stx tmp2 lda 211 pha lda #"\x91" jsr $ffd2 lda #"\xa4" lio jsr $ffd2 dex bne lio inc 214 jsr $aad7 pla pha sta 211 ldx tmp2 lda #"\xa3" liu jsr $ffd2 dex bne liu pla sta 211 dec 214 jsr 58732 ldy #0 pha infm pla infm1 lda #0 sta 204 sty tmp2+1 waka jsr 65508 tax beq waka ldx #2 stx 205 wacu ldx 207 bne wacu inc 204 ldy tmp2+1 cmp #13 beq retn cmp #20 beq del pha and #127 cmp #32 bcc infm cpy tmp2 bcs infm pla sta (tmp),y jsr $ffd2 iny bne infm1 del tya beq infm1 dey lda #20 jsr $ffd2 bcc infm1 retn rts gettyp jsr 65508 cmp #"p" beq typ cmp #"s" beq typ cmp #"u" beq typ cmp #"_" bne gettyp typ cmp #"_" rts dos ldx #15 jsr $ffc6 ldx #0 errin jsr 65508 cmp #13 beq eoe sta err,x inx bne errin eoe lda #0 sta err,x jsr $ffcc lda err cmp #"0" beq gut stoer jsr clrun dex stx 214 lda #1 sta 211 jsr 58732 lda #err jsr strout key lda #23 sta 214 lda #hit jsr strout lda #0 sta 198 kw cmp 198 beq kw sta 198 ldx #24 .byt $2c loesch ldx #4 lo1 jsr 59903 inx cpx #22 bcc lo1 gut rts signal pha ldx #0 si1 lda 1953,x sta 1952,x inx cpx #31 bcc si1 pla pha jsr wandel sta 1952,x pla rts inmem pha ldy #0 sta (to),y inc to bne in1 inc to+1 in1 lda 1993,y sta 1992,y iny cpy #31 bcc in1 pla jsr wandel sta 1992,y lda to+1 cmp #>endmem rts wandel cmp #128 bcs gr1282 cmp #32 bcc kl322 cmp #96 bcc kl962 and #$df .byt $2c kl962 and #$3f .byt $2c kl322 ora #$80 bsc2 rts gr1282 and #$7f cmp #$7f bne nopi2 lda #$5e nopi2 cmp #$20 ora #$40 bcs bsc2 bcc kl322 colram ldx #4 lda #216 sta tmp2+1 ldy #0 sty tmp2 lda #11 cra sta (tmp2),y iny bne cra inc tmp2+1 dex bne cra rts bre ldx speed beq schnell ldy #0 pau dey bne pau dex bne pau schnell lda 653 bne bremse lda speed beq frei dec speed frei rts bremse lda speed cmp #255 beq frei inc speed rts clrun ldx #23 jsr 59903 ldx #24 jmp 59903 start jsr 65409 jsr $ffe7 lda #15 sta $d020 sta $d021 ldx #8 lda #15 tay jsr $ffba lda #0 sta $b7 sta 157 jsr $ffc0 menu jsr mask lda #men1 jsr strout lda #0 sta 198 getm1 jsr 65508 cmp #"1" beq fk1 cmp #"2" beq fk2 cmp #"3" beq fk3 cmp #"5" beq fk5 cmp #"4" beq fk4 cmp #"6" bne getm1 jmp 64738 fk1 jsr convert jmp menu fk2 jsr edit jmp menu fk3 jsr loadct jmp menu fk4 jsr savect jmp menu fk5 jsr mask lda #mp3 jsr strout dirc jsr doserr lda #"$" sta tmp ldx #tmp ldy #0 lda #1 jsr $ffbd ldx #8 lda #fn jsr $ffba jsr $ffc0 jsr dos bne abdir jsr upper ldy #3 l1 sty tmp ldx #fn jsr $ffc6 jsr $ffa5 sta tmp2 ldy 144 bne eod jsr $ffa5 ldy 144 bne eod ldy tmp dey bne l1 ldx tmp2 inc 211 jsr $bdcd jsr $ab3f l3 jsr $ffa5 ldx 144 bne eod tax beq l2 jsr $ffd2 bcc l3 l2 jsr $aad7 dec oben bne sub jsr key jsr upper sub ldy #2 bne l1 eod jsr key abdir jsr doserr jmp menu upper lda #16 sta oben jsr loesch lda #4 sta 214 jmp $aad7 edit jsr mask lda #mp1 jsr strout lda #0 sta oben sta curlin jsr colram ed1 jsr kotaus ed1a lda #0 sta spal ed1b lda curlin clc adc #5 sta 214 jsr 58732 getm2 lda #8 clc adc spal sta 211 lda #0 sta 204 getm2x jsr 65508 tax beq getm2x ldx #1 stx 205 getm2a ldx 207 bne getm2a inc 204 cmp #"\x11" beq m1 cmp #"\x91" beq m2 cmp #"." beq m9 cmp #"\x85" beq m10 cmp #"\x13" beq m3 cmp #13 beq m4 cmp #"\x1d" beq m6 cmp #"\x9d" beq m7 cmp #"-" beq m8 cmp #"\x93" beq m11 ldx #19 m cmp hex,x beq m5 dex bpl m bmi getm2 m8 jmp m8b m9 jmp m9b m10 jmp help m11 jsr kotinit jmp edit m1 lda curlin cmp #15 bcs m1a inc curlin bne ed1a m1a lda oben cmp #255-15 bcs qed1a inc oben jmp ed1 m2 lda curlin beq m2a dec curlin jmp ed1a qed1a jmp ed1a m2a lda oben beq qgetm2 dec oben qed1 jmp ed1 m3 lda #0 cmp curlin beq m3a sta curlin bne qed1 m3a sta oben beq qed1 m4 rts m6 ldy 211 lda ($d1),y cmp #"-" beq qgetm2 cmp #32 beq qgetm2 inc spal bne qgetm2 m7 lda spal beq qgetm2 dec spal qgetm2 jmp getm2 m5 cpx #16 bcs m52 stx tmp jsr addr lda spal lsr pha php sec adc #>kot sta tmp2+1 lda (tmp2),y plp bcc high and #$f0 jmp low high and #15 asl tmp asl tmp asl tmp asl tmp low ora tmp sta (tmp2),y lda #>kot sta tmp2+1 pla clc adc #1 cmp (tmp2),y bcc nocg sta (tmp2),y nocg lda spal cmp #19 bcs nocg1 inc spal bne nocg2 nocg1 lda #18 nocg3 sta spal nocg2 jsr kotaus jmp ed1b m8b jsr addr lda spal lsr sta (tmp2),y asl jmp nocg3 m9b jsr addr beq qgetm2 dec tmp2 lda (tmp2),y iny sta (tmp2),y tax count dex bmi m9c inc tmp2+1 dey lda (tmp2),y clc adc #1 iny sta (tmp2),y bne count m9c jsr kotaus jmp m1 m52 txa and #15 asl asl asl asl asl asl sta oben lda #0 sta curlin jmp ed1 help jsr loesch lda #ht jsr strout jsr key jsr loesch jsr colram jmp ed1 convert jsr mask lda #mp2 jsr strout lda #ty1 jsr strout lda #nam1 ldx #16 jsr inform tya bne recon nocon rts recon sty len1 lda #ty3 jsr strout jsr gettyp beq nocon pha ldx #10 jsr 59903 lda #ty4 jsr strout pla ldy len1 sta nam1+1,y jsr $ffd2 lda #"r" sta nam1+3,y lda #ty2 jsr strout lda #nam2 ldx #16 jsr inform tya beq nocon sty len2 lda #ty3 jsr strout jsr gettyp beq nocon pha ldx #13 jsr 59903 lda #ty4 jsr strout pla ldy len2 sta nam2+1,y jsr $ffd2 ldx len1 lda #"," sta nam2,y sta nam2+2,y sta nam1,x sta nam1+2,x lda #"w" sta nam2+3,y lda #ty5 jsr strout getjn jsr 65508 tax cmp #"y" beq yes cmp #"_" bne nopfe rts nopfe cmp #"n" bne getjn lda #0 yes sta skip txa jsr $ffd2 ldx #8 lsch jsr $ab3f dex bne lsch lda #0 sta speed sta di2 lda #di1 jsr strout jsr key jsr doserr ldx #8 lda #fn tay jsr $ffba lda len1 clc adc #4 ldx #nam1 jsr $ffbd jsr $ffc0 jsr dos beq okdos doserr jsr $ffcc lda #fn jmp $ffc3 okdos lda #disp jsr strout ldx #fn jsr $ffc6 jsr colram lda #mem sta to sty to+1 lda skip beq noskip jsr 65508 jsr signal jsr inmem ldx 144 bne endfile jsr 65508 jsr signal jsr inmem ldx 144 bne endfile noskip jsr bre jsr 65508 jsr signal tax lda kot,x sta len lda #>kot+256 sta tmp2+1 stx tmp2 kotloop dec len bmi coded ldy #0 lda (tmp2),y jsr inmem bcs full inc tmp2+1 bne kotloop full jsr clrun lda #fut jsr strout jsr key jmp endfile qdoserr jmp doserr coded ldx 144 beq noskip endfile jsr doserr jsr dos bne qdoserr jsr clrun lda #"t" sta di2 lda #di1 jsr strout jsr key jsr doserr ldx #8 lda #fn tay jsr $ffba lda len2 clc adc #4 ldx #nam2 jsr $ffbd jsr $ffc0 jsr dos bne qdoserr jsr clrun lda #disp2 jsr strout ldx #fn jsr $ffc9 jsr colram lda #mem sta from sty from+1 save sec lda from sbc to lda from+1 sbc to+1 bcs alles ldy #0 sei lda #54 sta 1 lda (from),y inc 1 cli jsr $ffd2 jsr signal inc from bne save inc from+1 bne save alles jsr doserr jmp dos savect jsr mask lda #mp4 jsr strout jsr codname beq abort ldx #0 stx tmp lda #>kot sta tmp+1 txa suchl cmp kot,x bcc act bne rec act lda kot,x stx tmp2 rec inx bne suchl clc adc #>kot tay ldx tmp2 inx bne nocy iny nocy lda #tmp jsr $ffd8 jmp dos codname lda #nam2 ldx #13 jsr inform tya beq abort clc adc #3 ldx #nam2-3 jsr $ffbd ldx #8 stx $ba lda #"u" sta nam2-3 lda #"c" sta nam2-2 lda #"-" sta nam2-1 abort rts loadct jsr mask lda #mp5 jsr strout lda #mp4a jsr strout jsr codname beq abort lda #0 sta $b9 tax ldy #>kot jsr $ffd5 jmp dos