mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 01:11:48 +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
|
||||
ascii2byte:
|
||||
cp "0"
|
||||
ret c
|
||||
cp "9"+1
|
||||
jr c,$+10 ;!FIXIT $
|
||||
and 5Fh
|
||||
cp "F"+1
|
||||
ccf
|
||||
ret c
|
||||
sub 7
|
||||
sub "0"
|
||||
or a
|
||||
ret
|
||||
ascii2byte: cp "0"
|
||||
ret c
|
||||
cp "9"+1
|
||||
jr c,.number
|
||||
;
|
||||
and %0101'1111
|
||||
cp "F"+1
|
||||
ccf
|
||||
ret c
|
||||
sub 7
|
||||
.number: sub "0"
|
||||
or a
|
||||
ret
|
||||
|
||||
@ -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,18 +358,22 @@ 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
|
||||
ld (hl),a
|
||||
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
|
||||
ret
|
||||
|
||||
@ -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 ; ᬥ¨âì ⥪. ¤¨áª
|
||||
|
||||
@ -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
|
||||
|
||||
@ -221,4 +221,29 @@ 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
|
||||
|
||||
@ -285,30 +285,26 @@ GET_CMD:
|
||||
; ’¥áâ ®¯æ¨¨ 襫« ¨ ãáâ. ¡¨â-ä« £®¢
|
||||
; ¢å®¤: hl=áâப ®¯æ¨©
|
||||
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
|
||||
set 7,c
|
||||
jr setopt4
|
||||
;
|
||||
setopt2: cp "S" ; § ¯ã᪠2-© ª®¯¨¨ 襫« (¡¥§ ®âà ¡. autoexec.bat)
|
||||
jr nz,setopt3
|
||||
set 5,c
|
||||
jr setopt4
|
||||
;
|
||||
setopt3: cp "C" ; ¢ë¯®«. bat-ä ©« ¨ ¢¥àãâìáï ¢ த¨â. ¯à®æ¥áá
|
||||
ret nz
|
||||
set 4,c
|
||||
setopt4: ld a,c
|
||||
ld (RUNMODE),a
|
||||
ret
|
||||
ld a,(RUNMODE) ; ï祩ª ¡¨â-ä« £®¢
|
||||
ld c,a
|
||||
ld a,(hl)
|
||||
call COMPARE.cmp_AZ
|
||||
.setopt1: cp "P" ; § ¯ã᪠襫« á ®âà ¡. autoexec.bat
|
||||
jr nz,.setopt2
|
||||
set 7,c
|
||||
jr .setopt4
|
||||
;
|
||||
.setopt2: cp "S" ; § ¯ã᪠2-© ª®¯¨¨ 襫« (¡¥§ ®âà ¡. autoexec.bat)
|
||||
jr nz,.setopt3
|
||||
set 5,c
|
||||
jr .setopt4
|
||||
;
|
||||
.setopt3: cp "C" ; ¢ë¯®«. bat-ä ©« ¨ ¢¥àãâìáï ¢ த¨â. ¯à®æ¥áá
|
||||
ret nz
|
||||
set 4,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
|
||||
.next: cp (hl)
|
||||
ret nz
|
||||
inc hl
|
||||
inc de
|
||||
djnz COMPARE
|
||||
ret
|
||||
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 ᨬ¢®«®¢
|
||||
|
||||
@ -1 +1 @@
|
||||
518
|
||||
522
|
||||
Loading…
Reference in New Issue
Block a user