-bug in DIR с русскими буквами. опять Савелий нашёл)))

This commit is contained in:
Tolik 2025-06-25 00:15:30 +10:00
parent 072ed4ed60
commit 49af2b4266
7 changed files with 95 additions and 76 deletions

View File

@ -51,16 +51,16 @@ cls_clear: ld a,b
; ascii -> int ; ascii -> int
ascii2byte: ascii2byte: cp "0"
cp "0"
ret c ret c
cp "9"+1 cp "9"+1
jr c,$+10 ;!FIXIT $ jr c,.number
and 5Fh ;
and %0101'1111
cp "F"+1 cp "F"+1
ccf ccf
ret c ret c
sub 7 sub 7
sub "0" .number: sub "0"
or a or a
ret ret

View File

@ -328,7 +328,7 @@ Print_Header: ; %1
JP ECHO_MESSAGE ; ¢ë¢¥á⨠áâபã JP ECHO_MESSAGE ; ¢ë¢¥á⨠áâபã
; ;
; <20>®¤£®â®¢¨âì áâபã ᯨ᪠ ä ©«®¢/¯ ¯®ª ; <20>®¤£®â®¢¨âì áâபã ᯨ᪠ ä ©«®¢/¯ ¯®ª ; !FIXIT ­¥ £®â®¢  ª LFN
PRNNAME: dec hl PRNNAME: dec hl
ld a,(hl) ld a,(hl)
and FAT_ATTR.DIRECTORY and FAT_ATTR.DIRECTORY
@ -358,17 +358,21 @@ PRNNAME: dec hl
ld b,11 ;!HARDCODE ¤«¨­  ¨¬¥­¨ DOS ld b,11 ;!HARDCODE ¤«¨­  ¨¬¥­¨ DOS
.loop: inc hl .loop: inc hl
ld a,(hl) ld a,(hl)
cp 'A' call CorrBigChar
jr c,.next ; cp 'A'
cp 'Z'+1 ; jr c,.next
jr c,.letter ; cp 'Z'+1
; ; jr c,.letter
cp '€' ;#80 ; ;
jr c,.next ; cp '€' ;#80
cp 'Ÿ'+1 ;#9F + 1 ; jr c,.next
jr nc,.next ; cp '<27>'+1 ;#9F + 1
; ; jr c,.letter
.letter: or %0010'0000 ; ;
; cp 'Ÿ'+1
; jr c,.next
; ;
; .letter: or %0010'0000
ld (hl),a ld (hl),a
.next: djnz .loop .next: djnz .loop
ex de,hl ex de,hl

View File

@ -55,11 +55,7 @@ COMP: call EVALCMD ; (batch.asm)
cp c ; 2-© ᨬ¢®« cp c ; 2-© ᨬ¢®«
jr nz,RUN_EXT ; § ¤ ­ ­¥ ¤¨áª jr nz,RUN_EXT ; § ¤ ­ ­¥ ¤¨áª
ld a,b ; 1-© ᨬ¢®« ld a,b ; 1-© ᨬ¢®«
cp "a" CALL COMPARE.cmp_AZ
jr c,.NOUP
cp "z"+1
jr nc,.NOUP
and #5F ; a..z -> A..Z
.NOUP: sub "A" ; ­®¬¥à ¤¨áª  .NOUP: sub "A" ; ­®¬¥à ¤¨áª 
ld (.dsk),a ld (.dsk),a
ld c,Dss.ChDisk ; ᬥ­¨âì ⥪. ¤¨áª ld c,Dss.ChDisk ; ᬥ­¨âì ⥪. ¤¨áª

View File

@ -9,11 +9,7 @@ RUN_COMMAND:
push de push de
; ;
.loop: ld a,(de) .loop: ld a,(de)
cp "a" CALL COMPARE.cmp_AZ
jr c,.skip
cp "z"+1
jr nc,.skip
and %0101'1111 ; a..z -> A..Z
.skip: cp (hl) .skip: cp (hl)
jr nz,.not_cmd ; ­¥ ª®¬ ­¤  jr nz,.not_cmd ; ­¥ ª®¬ ­¤ 
inc hl inc hl

View File

@ -222,3 +222,28 @@ volume_string_yes: db "has label",0
; has_not_full_info: db ' (?)',0 ; has_not_full_info: db ' (?)',0
/////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////
;----------------------------------------------------------------------; ;----------------------------------------------------------------------;
;<3B>à®æ¥¤ãà  ª®à४樨 ¡ãª¢ë ª ¬ «¥­ìª®© ¡ãª¢¥
CorrBigChar: CP 'A'
RET C
CP 'Z' + 1
JR NC,.CheckRUS
.Dec: ADD #20
RET
;
.CheckRUS: CP '€'
RET C
CP '<27>'+1
JR C,.Dec
;
.BGUPPER: CP 'Ÿ' + 1
JR NC,.HGUPPER
ADD #50
RET
;
.HGUPPER: CP 'ð' ; àãááª ï ¡ãª¢  ñ, ª®¤ #F1
RET NZ
INC A
RET

View File

@ -288,25 +288,21 @@ set_option_flag:
ld a,(RUNMODE) ; ï祩ª  ¡¨â-ä« £®¢ ld a,(RUNMODE) ; ï祩ª  ¡¨â-ä« £®¢
ld c,a ld c,a
ld a,(hl) ld a,(hl)
cp "a" call COMPARE.cmp_AZ
jr c,setopt1 .setopt1: cp "P" ; § ¯ã᪠襫«  á ®âà ¡. autoexec.bat
cp "z"+1 jr nz,.setopt2
jr nc,$+4 ;!FIXIT $
and #5F ; a..z -> A..Z
setopt1: cp "P" ; § Żă᪠襫«  á ®âŕ ˇ. autoexec.bat
jr nz,setopt2
set 7,c set 7,c
jr setopt4 jr .setopt4
; ;
setopt2: cp "S" ; § Żă᪠2-© Ş®Ż¨¨ 襫«  (ˇĄ§ ®âŕ ˇ. autoexec.bat) .setopt2: cp "S" ; § ¯ã᪠2-© ª®¯¨¨ 襫«  (¡¥§ ®âà ¡. autoexec.bat)
jr nz,setopt3 jr nz,.setopt3
set 5,c set 5,c
jr setopt4 jr .setopt4
; ;
setopt3: cp "C" ; ˘ëŻ®«­. bat-ä ©« ¨ ˘Ąŕ­ăâěáď ˘ த¨â. Żŕ®ćĄáá .setopt3: cp "C" ; ¢ë¯®«­. bat-ä ©« ¨ ¢¥à­ãâìáï ¢ த¨â. ¯à®æ¥áá
ret nz ret nz
set 4,c set 4,c
setopt4: ld a,c .setopt4: ld a,c
ld (RUNMODE),a ld (RUNMODE),a
ret ret
@ -355,23 +351,25 @@ newline: push hl
pop hl pop hl
ret ret
; ŕ ˘­Ą­¨Ą áâப ; à ¢­¥­¨¥ áâப (€­£«¨©áª¨©)
; in: de=string1 ; in: de=string1
; hl=string2 ; hl=string2
; b=¤«¨­  áâப¨ ; b=¤«¨­  áâப¨
COMPARE: COMPARE: ld a,(de)
ld a,(de) call .cmp_AZ
cp "a"
jr c,.next
cp "z"+1
jr nc,.next
and 5Fh ; a..z -> A..Z
.next: cp (hl) .next: cp (hl)
ret nz ret nz
inc hl inc hl
inc de inc de
djnz COMPARE djnz COMPARE
ret ret
;
.cmp_AZ: cp "a"
ret c
cp "z"+1
ret nc
and %0101'1111 ; a..z -> A..Z
ret
; ‘ª®¯¨à. áâபã (á ­ã«¥¬), ¬ ªá. 15 ᨬ¢®«®¢ ; ‘ª®¯¨à. áâபã (á ­ã«¥¬), ¬ ªá. 15 ᨬ¢®«®¢

View File

@ -1 +1 @@
518 522