mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 17:31:47 +03:00
-bug in DIR с русскими буквами. опять Савелий нашёл)))
This commit is contained in:
parent
072ed4ed60
commit
49af2b4266
@ -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,.number
|
||||||
jr c,$+10 ;!FIXIT $
|
;
|
||||||
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
|
||||||
|
|||||||
@ -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,18 +358,22 @@ 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
|
; ;
|
||||||
ld (hl),a
|
; cp 'Ÿ'+1
|
||||||
|
; jr c,.next
|
||||||
|
; ;
|
||||||
|
; .letter: or %0010'0000
|
||||||
|
ld (hl),a
|
||||||
.next: djnz .loop
|
.next: djnz .loop
|
||||||
ex de,hl
|
ex de,hl
|
||||||
ret
|
ret
|
||||||
|
|||||||
@ -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 ; ᬥ¨âì ⥪. ¤¨áª
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -285,30 +285,26 @@ GET_CMD:
|
|||||||
; ’¥áâ ®¯æ¨¨ 襫« ¨ ãáâ. ¡¨â-ä« £®¢
|
; ’¥áâ ®¯æ¨¨ 襫« ¨ ãáâ. ¡¨â-ä« £®¢
|
||||||
; ¢å®¤: hl=áâப ®¯æ¨©
|
; ¢å®¤: hl=áâப ®¯æ¨©
|
||||||
set_option_flag:
|
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 $
|
set 7,c
|
||||||
and #5F ; a..z -> A..Z
|
jr .setopt4
|
||||||
setopt1: cp "P" ; § ¯ã᪠襫« á ®âà ¡. autoexec.bat
|
;
|
||||||
jr nz,setopt2
|
.setopt2: cp "S" ; § ¯ã᪠2-© ª®¯¨¨ 襫« (¡¥§ ®âà ¡. autoexec.bat)
|
||||||
set 7,c
|
jr nz,.setopt3
|
||||||
jr setopt4
|
set 5,c
|
||||||
;
|
jr .setopt4
|
||||||
setopt2: cp "S" ; § ¯ã᪠2-© ª®¯¨¨ 襫« (¡¥§ ®âà ¡. autoexec.bat)
|
;
|
||||||
jr nz,setopt3
|
.setopt3: cp "C" ; ¢ë¯®«. bat-ä ©« ¨ ¢¥àãâìáï ¢ த¨â. ¯à®æ¥áá
|
||||||
set 5,c
|
ret nz
|
||||||
jr setopt4
|
set 4,c
|
||||||
;
|
.setopt4: ld a,c
|
||||||
setopt3: cp "C" ; ¢ë¯®«. bat-ä ©« ¨ ¢¥àãâìáï ¢ த¨â. ¯à®æ¥áá
|
ld (RUNMODE),a
|
||||||
ret nz
|
ret
|
||||||
set 4,c
|
|
||||||
setopt4: ld a,c
|
|
||||||
ld (RUNMODE),a
|
|
||||||
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"
|
.next: cp (hl)
|
||||||
jr c,.next
|
ret nz
|
||||||
cp "z"+1
|
inc hl
|
||||||
jr nc,.next
|
inc de
|
||||||
and 5Fh ; a..z -> A..Z
|
djnz COMPARE
|
||||||
.next: cp (hl)
|
ret
|
||||||
ret nz
|
;
|
||||||
inc hl
|
.cmp_AZ: cp "a"
|
||||||
inc de
|
ret c
|
||||||
djnz COMPARE
|
cp "z"+1
|
||||||
ret
|
ret nc
|
||||||
|
and %0101'1111 ; a..z -> A..Z
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
; ‘ª®¯¨à. áâபã (á ã«¥¬), ¬ ªá. 15 ᨬ¢®«®¢
|
; ‘ª®¯¨à. áâபã (á ã«¥¬), ¬ ªá. 15 ᨬ¢®«®¢
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
518
|
522
|
||||||
Loading…
Reference in New Issue
Block a user