-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
ascii2byte:
cp "0"
ascii2byte: cp "0"
ret c
cp "9"+1
jr c,$+10 ;!FIXIT $
and 5Fh
jr c,.number
;
and %0101'1111
cp "F"+1
ccf
ret c
sub 7
sub "0"
.number: sub "0"
or a
ret

View File

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

View File

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

View File

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

View File

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

View File

@ -1 +1 @@
518
522