This commit is contained in:
Anatoliy Belyanskiy 2024-06-09 08:13:19 +10:00
parent 902903656f
commit 3ef8aefe30
16 changed files with 9331 additions and 0 deletions

4
.gitmodules vendored Normal file
View File

@ -0,0 +1,4 @@
[submodule "Shared_Includes"]
branch = main
path = Shared_Includes
url = https://github.com/Tolik-Trek/Shared_Includes.git

219
BUTTON.ASM Executable file
View File

@ -0,0 +1,219 @@
;=====================================================================
;
; Ž¡à ¡®â稪 ᮡë⨩ ®¡ê¥ªâ®¢ "Button"
;
;=====================================================================
EvButton: ld hl,what ; ¯®«¥ ᮡë⨩
ld a,(hl) ;+0
inc hl
cp evMouseFr
jr z,EBmouse
cp evKeyboard
jp z,EBkeys
cp evCombKey
ret nz
bit 7,(ix+1) ; sel or nosel
ret nz ; ®¡ê¥ªâ 㦥 ¢ë¤¥«¥­
ld b,(hl) ;+1 what
inc hl
ld a,(hl) ;+2 what
cp 56h ; ªãàá®à ¢¯à ¢®
jr z,tb__
push ix
ld e,(ix+0) ; à §¬¥à â ¡«¨æë "Button"
ld d,0
add ix,de
bit 7,(ix+0)
pop ix
ret z ; ¥é¥ ­¥ ª®­¥æ ®¡ê¥ªâ®¢
cp 54h ; ªãàá®à ¢«¥¢®
jr z,tb__
ld a,b
and 00111111b ; ¡¨âë Ctrl, Alt
ret nz
ld a,(hl) ;+2 what
cp 15+80h ; Tab ᪥­-ª®¤+80h
ret nz
; Shift+Tab
tb__: xor a
ld (_Push+1),a ; Push flag
jp SetButton ; select my
; ‘®¡ë⨥ - ¬ë誠
EBmouse: ld e,(hl) ;+1 X coord
inc hl
ld d,(hl) ;+2 Y coord
ld a,d
cp (ix+4) ; Y pos button
jr nz,get_fr ; if <> exit
ld a,e
bit 7,(ix+2)
jr nz,$+6
cp (ix+2) ; Xo pos
jr c,get_fr ; <
bit 7,(ix+3)
jr nz,get_fr
cp (ix+3) ; Xi pos
jr nc,get_fr ; >
xor a
inc a
ld (_Push+1),a ; Push flag
bit 7,(ix+1)
jr nz,_Push
jr SetButton
; ‘®¡ë⨥ - ®¡ëç­ ï ª« ¢¨è 
EBkeys: xor a
ld (_Push+1),a ; Push flag
ld a,(hl) ;+1 what ª®¤ ª« ¢¨è¨
bit 7,(ix+1) ; Sel or nosel
jr nz,EBkeyN
cp 9 ; Tab
jr z,SetButton ; if tab then set button
jr EBkeyN1
;
EBkeyN: cp 0Dh ; Enter
jr z,EBent
EBkeyN1: inc hl
ld a,(hl) ;+2 what ᪥­-ª®¤
cp (ix+6) ; hot-¡ãª¢ 
ret nz
EBent: ld a,1
ld (_Push+1),a
SetButton: call MoveObj ; Select Button
call ResDialInv ; Reset previos invert
ld ix,DialTab+5
;ld de,color_array+34 ; 梥â Selected buttons
;ld (set_dial_tmp_inv+1),de
ld e,(ix+2) ; Xo
ld d,(ix+4) ; Y
ld a,(ix+3) ; Xi
sub e
ld c,a
call SetDialInv ; ¢ë¤¥«¨âì ¡ãâ®­ 梥⮬
;ld de,color_array+26 ; 梥â Selected title (®¡ê¥ªâ )
;ld (set_dial_tmp_inv+1),de
_Push: ld a,0
or a
jr z,BTexit
call PushBut ; § á¢¥â¨âì ªãàá®à
ld hl,what
ld (hl),evCommand
inc hl
ld a,(ix+5) ; ­®¬¥à ª®¬ ­¤ë
ld (hl),a
get_fr: jp GetFire
;
; Button exit
BTexit: ld hl,what
ld (hl),evNothing
ret
;[]===========================================================[]
; Event button
; IX,DialTab+5
;EButton:LD HL,what ; ᯨ᮪ ᮡë⨩
; LD A,(HL)
; INC HL
; CP evMouseFr
; JR Z,EBmouse
; CP evKeyboard
; JR Z,EBkeys
; CP evCombKey
; RET NZ
; BIT 7,(IX+1)
; RET NZ ; ¢ë©â¨ - ®¡ê¥ªâ ¢ë¤¥«¥­
; PUSH IX
; LD E,(IX+0)
; LD D,0
; ADD IX,DE
; BIT 7,(IX+0)
; POP IX
; RET Z
; INC HL
; LD A,(HL) ;+1
; CP 9 ; Shift+Tab
; RET NZ
; xor a
; LD (_Push+1),A ; Push flag
; JP SetButt ; ¢ë¤¥«¨âì ¯à¥¤. ®¡ê¥ªâ
; ‘®¡ë⨥ ®â ¬ë誨,
; ¯à®¢¥àª  ª®®à¤¨­ â
;EBmouse:LD E,(HL) ;Xcoord
; INC HL
; LD D,(HL) ;Ycoord
; LD A,D
; CP (IX+4) ;Y pos button
; RET NZ ;if <> exit
; LD A,E
; BIT 7,(IX+2)
; JR NZ,$+6
; CP (IX+2) ;Xo pos
; RET C ;<
; BIT 7,(IX+3)
; RET NZ
; CP (IX+3) ;Xi pos
; RET NC ;>
; SUB A
; LD (Kbutt+1),A
; INC A
; LD (_Push+1),A ;Push flag
; BIT 7,(IX+1)
; JR NZ,_Push
; JR SetButt
; ‘®¡ë⨥ - ­ ¦ â  ª« ¢¨è 
;EBkeys: xor a
; LD (_Push+1),A ; Push flag
; LD A,(HL)
; cp " "
; jr c,ebkey1
; cp "A"
; ret c
;ebkey1: inc hl ; hl,what+2
; bit 7,(hl) ; ­ ¦ â  ª« ¢¨è  á Ctrl,Shift,Alt ?
; ret nz ; ¤ , ¢ë©â¨
; RES 5,A ; a..z -> A..Z
; BIT 7,(IX+1) ; ¢ë¡à ­  ¨«¨ ­¥ ¢ë¡à ­ 
; JR NZ,EBkeyN
; CP 9 ; Tab
; JR Z,SetButt ; ¢ë¤¥«¨âì á«¥¤. ®¡ê¥ªâ
; cp 0Dh ; ###
; jr z,SetButt
; JR EBkeyN1
;
;EBkeyN: CP 0Dh
; JR Z,EBent
;EBkeyN1:CP (IX+6) ; Hot key
; RET NZ
;EBent: LD A,1
; LD (_Push+1),A
; LD (Kbutt+1),A
;SetButt:CALL MoveObj ; Select Button
; CALL ResDialInv ; Reset previos invert
; LD IX,DialTab+5
; LD E,(IX+2) ; Xo
; LD D,(IX+4) ; Y
; LD A,(IX+3) ; Xi
; SUB E
; LD C,A
; CALL SetDialInv
;_Push: LD A,0
; OR A
; JP Z,BTexit
; CALL PushBut ; Push/pop ¡ãâ®­
; JP C,BTexit
; LD HL,what
; LD (HL),evCommand
; INC HL
; LD A,(IX+5)
; LD (HL),A
; RET
;Button exit
;BTexit: LD HL,what
; LD (HL),evNothing
; RET

1773
DIALOG.ASM Executable file

File diff suppressed because it is too large Load Diff

602
ESTEX.ASM Executable file
View File

@ -0,0 +1,602 @@
; <20> ¡®â  á á¨á⥬­ë¬¨ ¨ boot-ä ©« ¬¨;
; ”ã­ªæ¨ï áà ¢­¥­¨ï ¯®à⮢ ®ª®­ <20>¨®á  ¨ ¨á¯®«ì§ã¥¬ëå ¯à®£à ¬¬®©;
;
;--- Š®¯¨à®¢ ­¨¥ á¨áâ. ä ©«®¢ ¢ ¡ãä¥àë
; ¢ëå: "CY" ¯à¨ ®è¨¡ª¥
;
CopySysFiles: xor a
ld (sFlag),a
ld (bigFile),a
ld a,(ColDialWn) ; á®åà. 梥⠮ª­ 
ld (TmpColor),a
; <20>®¬¥à § £à㧮筮£® ¤¨áª 
ld bc,0009h
RST ToDSS
ld (SysDisk),a
; “áâ ­®¢¨âì ⥪ã騬 § £àã§®ç­ë© ¤¨áª
ld a,(SysDisk)
ld c,1
RST ToDSS
; “áâ ­®¢¨âì "ª®à¥­ì" boot-¤¨áª 
ld hl,RootDir
ld c,1Dh
RST ToDSS
;<3B> ©â¨ ä ©« "SYSTEM.EXE"
;ld hl,Name1
;call FirstFile
;jp c,NoFound ; ä ©« ­¥ ­ ©¤¥­
; ®âªàëâì ä ©«
ld hl,Name1
call OpenFile
jp c,error1 ; ®è¨¡ª  ®âªàëâ¨ï ä ©« 
ld (hFile1),a
; ¯à®ç¨â âì ä ©«
in a,(Page3)
push af
ld a,(SBuff0)
out (Page3),a ; ¯®¤ª«. ¡ãä¥à
ld a,(hFile1)
call ReadFile
jp c,err1 ; ®è¨¡ª  ç⥭¨ï ä ©« 
pop af
out (Page3),a ; ¢®ááâ. áâà ­¨æã
ld (Number1),de ; ç¨á«® ¯à®ç¨â ­­ëå ¡ ©â
; § ªàëâì ä ©«
ld a,(hFile1)
call CloseFile
jp c,error1 ; ®è¨¡ª  § ªàëâ¨ï ä ©« 
;<3B> ©â¨ ä ©« "SYSTEM.DOS"
;ld hl,Name2
;call FirstFile
;jp c,error1 ; ä ©« ­¥ ­ ©¤¥­
; ®âªàëâì ä ©«
ld hl,Name2
call OpenFile
jp c,error1 ; ®è¨¡ª  ®âªàëâ¨ï ä ©« 
ld (hFile2),a
; ã§­ âì à §¬¥à ä ©« 
ld hl,0
ld ix,0 ; ¬«.á«®¢®
ld bc,0215h ; 㪠§ â¥«ì ®â ª®­æ  ä ©« 
RST ToDSS
jp c,error1
push ix
pop hl
ld de,4001h
; hl >= de
ld a,l
sub e
ld l,a
ld a,h
sbc a,d
ld h,a
inc hl
ld (ost+1),hl ; á®åà. à §¬¥à ®áâ âª  ä ©« 
jr c,tinRead ; ä ©« < 1-© áâà ­¨æë
ld a,1
ld (bigFile),a ; ä ©« > 1-© áâà ­¨æë
tinRead: ld (Number2),ix ; á®åà. à §¬¥à ä ©« 
; 㪠§ â¥«ì ­  ­ ç «® ä ©« 
ld hl,0
ld ix,0 ; ¬«.á«®¢®
ld a,(hFile2)
ld bc,0015h ; 㪠§ â¥«ì ®â ­ ç «  ä ©« 
RST ToDSS
jp c,error1
; ¯à®ç¨â âì ä ©«
in a,(Page3)
push af
ld a,(SBuff1)
out (Page3),a ; ¯®¤ª«. 1-î áâà ­¨æã
ld a,(hFile2)
call ReadFile
jp c,err1 ; ®è¨¡ª  ç⥭¨ï ä ©« 
ld a,(bigFile)
or a
jr z,endRead ; ¯à®ç¨â ­ ¢¥áì ä ©«
; ç¨â ¥¬ ®áâ â®ª ä ©« 
ost: ld de,0
ld a,(SBuff2)
out (Page3),a ; ¯®¤ª«. 2-î áâà ­¨æã
ld hl,WinBoxBuff ; ¡ãä¥à ¯®¤ ¤ ­­ë¥
ld a,(hFile2)
ld c,13h
RST ToDSS
jp c,err1 ; ®è¨¡ª  ç⥭¨ï ä ©« 
endRead: pop af
out (Page3),a ; ¢®ááâ. áâà ­¨æã
; § ªàëâì ä ©«
ld a,(hFile2)
call CloseFile
jp c,error1 ; ®è¨¡ª  § ªàëâ¨ï ä ©« 
ret
; ä« £, 0/1 - ®âà ¡®â âì/­¥â ä㭪樨 WriteSysFiles
sFlag: db 0
; ä« £, 0/1 - ®âà ¡®â âì/­¥â ä㭪樨 § ¯¨á¨ trd-boot` 
sFlag1: db 0
; ä« £, 0/1 - "system.dos" ¬¥­ìè¥/¡®«ìè¥ 1-© áâà ­¨æë
bigFile: db 0
;--- ‡ ¯¨áì á¨áâ. ä ©«®¢ ­  ¤¨áª¥âã
; ¢ëå: "CY" ¯à¨ ®è¨¡ª¥
;
WriteSysFiles: ld a,(sFlag)
or a
ret nz
; Žâªàëâì ®ª­®
ld a,(ColDialWn) ; á®åà. 梥⠮ª­ 
ld (TmpColor),a
ld a,10h ; 梥⠢뢮¤. ®ª­ 
ld (ColDialWn),a
ld hl,SysWrite ; "Writing system files..."
call PutDialWn
; áªàëâì ¬ëèªã
call HiddenMouse
; “áâ. ⥪ã騩 ¤¨áª ¨ ¯ãâì ­  ¤¨áª¥âã
call SetDisketa
; ‘®§¤ âì ä ©« "SYSTEM.EXE"
ld hl,Name1 ; ¨¬ï ä ©« 
call CreateFile
jp c,error1 ; ®è¨¡ª  á®§¤ ­¨ï ä ©« 
ld (hFile1),a
; § ¯¨á âì ä ©«
in a,(Page3)
push af
ld a,(SBuff0)
out (Page3),a ; ¯®¤ª«. ¡ãä¥à
ld de,(Number1) ; ç¨á«® § ¯¨á. ¡ ©â
ld a,(hFile1) ; åí­¤«
call WriteFile
ex af,af'
pop af
out (Page3),a ; ¢®ááâ. áâà ­¨æã
ex af,af'
jr c,error1 ; ®è¨¡ª  § ¯¨á¨ ä ©« 
; § ªàëâì ä ©«
ld a,(hFile1) ; åí­¤«
call CloseFile
jr c,error1 ; ®è¨¡ª  § ªàëâ¨ï ä ©« 
; ‘®§¤ âì ä ©« "SYSTEM.DOS"
ld hl,Name2 ; ¨¬ï ä ©« 
call CreateFile
jr c,error1 ; ®è¨¡ª  á®§¤ ­¨ï ä ©« 
ld (hFile2),a
; § ¯¨á âì ä ©«
in a,(Page3)
push af
ld a,(SBuff1)
out (Page3),a ; ¯®¤ª«. 1-î áâà ­¨æã
ld de,(Number2) ; à §¬¥à "system.dos"
ld hl,4000h ; 1-­  áâà ­¨æ 
ld a,(bigFile)
or a
jr z,tinFile ; ä ©« <= 1-© áâà ­¨æë
ex de,hl
sbc hl,de
push hl
ld a,(hFile2) ; åí­¤«
call WriteFile
pop de
jr c,err1 ; ®è¨¡ª  § ¯¨á¨ ä ©« 
ld a,(SBuff2)
out (Page3),a ; ¯®¤ª«. 2-î áâà ­¨æã
;
tinFile: ld a,(hFile2) ; åí­¤«
call WriteFile
jr c,err1 ; ®è¨¡ª  § ¯¨á¨ ä ©« 
pop af
out (Page3),a ; ¢®ááâ. áâà ­¨æã
; § ªàëâì ä ©«
ld a,(hFile2) ; åí­¤«
call CloseFile
jr c,error1 ; ®è¨¡ª  § ªàëâ¨ï ä ©« 
; ¢®ááâ. ¤¨áª ¨ ¯ãâì
call RestPath
; § ªàëâì ®ª­® "‡ ¯¨áì á¨áâ. ä ©«®¢"
call ClsDial
; ®âªàëâì ®ª­® "System files transfered"
ld hl,SysCopy
call PutDialWn
; áªàëâì ¬ëèªã
call HiddenMouse
; § ¤¥à¦ª  ¢ 2 ᥪ㭤ë
ei
ld b,2 ; ᥪ㭤ë
1: ld a,49 ; 1/50 ᥪ㭤ë
2: halt
dec a
jr nz,2B
djnz 1B
; § ªàëâì ®ª­®
call ClsDial
ld a,(TmpColor)
ld (ColDialWn),a ; ¢®ááâ. ¯à¥¦­îî ãáâ ­®¢ªã æ¢¥â  ®ª­ 
ret
;
err1: pop af
out (Page3),a ; ¢®ááâ. áâà ­¨æã
;
error1: call RestPath ; ¢®ááâ. ¤¨áª ¨ ¯ãâì
ld a,40h
ld (ColDialWn),a
ld hl,ErrSysFiles
call DialogW
ld a,(TmpColor)
ld (ColDialWn),a
ld a,1
ld (sFlag),a
ret
SetDisketa: ; “áâ. ⥪ã騩 ¤¨áª ­  ä®à¬ â. ¤¨áª¥âã
ld a,(DISK)
ld c,1
RST ToDSS
; “áâ. "ª®à¥­ì" ¤¨áª¥âë
ld hl,RootDir
ld c,1Dh
RST ToDSS
ret
RestPath: ; ‚®ááâ. ⥪ã騩 ¤¨áª
; ld a,(CurDisk)
; ld c,Dss.ChDisk
; RST ToDSS
; ‚®ááâ. ⥪. ¯ãâì
ld hl,CurPath
ld c,Dss.ChDir
RST ToDSS
ret
; <20> ©â¨ ä ©«
FirstFile: ld bc,0019h ; ¨¬ï ¢ ä®à¬ â¥ 11 ¡ ©â
ld de,BuffName ; 44 ¡ ©â  ¡ãä¥à 
ld a,20h ;  âਡãâ " à娢­ë©"
RST ToDSS
ret
; ‘®§¤ âì ä ©«
CreateFile: ld c,0Ah
ld a,20h ;  âਡãâ " à娢­ë©"
RST ToDSS
ret
; Žâªàëâì ä ©«
OpenFile: ld c,11h
ld a,1 ; ­  ç⥭¨¥
RST ToDSS
ret
; <20>à®ç¨â âì ä ©«
ReadFile: ld hl,WinBoxBuff ;L4000 ¡ãä¥à ¯®¤ ¤ ­­ë¥
ld de,4000h ; ç¨á«® ç¨â ¥¬ëå ¡ ©â (1 áâà ­¨æ )
ld c,13h
RST ToDSS
ret
; ‡ ¯¨áì ä ©« 
WriteFile: ld hl,WinBoxBuff ;L4000 ¡ãä¥à ¤ ­­ëå
ld c,14h
RST ToDSS
ret
; ‡ ªàëâì ä ©«
CloseFile: ld c,12h
RST ToDSS
ret
SysDisk: db 0 ; ­®¬¥à § £à. ¤¨áª 
Name1: db "SYSTEM.EXE",0
Name2: db "SYSTEM.DOS",0
;Name2: db "DIAL.TXT",0
hFile1: db 0 ; åí­¤« ä ©«  "system.exe"
hFile2: db 0 ; åí­¤« ä ©«  "system.dos"
Number1: dw 0 ; à §¬¥à ä ©«  "system.exe"
Number2: dw 0 ; à §¬¥à ä ©«  "system.dos"
RootDir: db '\',0 ;
;
CurPath:
CurDisk: db 0,':\' ; á®åà. ⥪. ¤¨áª
CurDir: ds 256 ; á®åà. ⥪ã騩 ¯ãâì (ª â «®£)
;
TmpColor: db 0 ; ¢à¥¬. á®åà. æ¢¥â  ®ª­ 
; ä ©« ­ áâ஥ª ¯à®£à ¬¬ë
IniName: db "FFORMAT.INI",0
hFile3: db 0 ; ¤¥áªà¨¯â®à ä ©« 
;Number3:dw 0 ; à §¬¥à ä ©«  "fformat.ini"
BuffName: ds 45 ; ¡ãä¥à ¤«ï ä㭪樨 ¯®¨áª  ä ©« 
TrdName: db "BOOT.$B",0 ; ¨¬ï trd-boot ä ©« 
hFile4: db 0 ; ¤¥áªà¨¯â®à ä ©« 
;[]===============================================[]
/*
; Ž¯à¥¤¥«¥­¨¥ ⥪ã饩 ª®­ä¨£ãà æ¨¨
; ¯®à⮢ ¨ ¢ª«î祭­ëå áâà ­¨æ އ“
compare_page: ld c,0C6h ;¯®«ãç¨âì ª®­ä. ¯®à⮢
ld a,1 ;¯ à ¬¥âàë 1-£® ®ª­ 
RST ToBIOS
ld a,c ;¢®â §¤¥áì ¨¤¥â áp ¢­¥­¨¥ áç¨â ­­®£®
cp Page1 ;­®¬¥p  ¯®pâ  á ⥬, ª®â®pë© ï î§ î
jr z,.loc1
; ãáâ. ­®¢ë© ­®¬¥à Page1
ld (port1+1),a
ld (port2+1),a
ld (port3+1),a
ld (port4+1),a
.loc1: ld c,0C6h
ld a,3 ;¯ à ¬¥âàë 3-£® ®ª­ 
RST ToBIOS
ld a,c
cp Page3
ret z
; ãáâ. ­®¢ë© ­®¬¥à Page3
ld (port5+1),a
ld (port6+1),a
ld (port7+1),a
ld (port8+1),a
ld (port9+1),a
ld (port10+1),a
ld (port11+1),a
ld (port12+1),a
ld (port13+1),a
ld (port14+1),a
ld (port15+1),a
ld (port16+1),a
ld (L091B+1),a
ld (port18+1),a
ld (port19+1),a
ld (L0BAA+1),a
ld (port21+1),a
ld (port22+1),a
ld (L0B21+1),a
ld (port24+1),a
ld (port25+1),a
ld (port26+1),a
ld (port27+1),a
ld (port28+1),a
ld (port29+1),a
ld (PushBut+1),a
ld (port31+1),a
ld (port32+1),a
ld (port33+1),a
ld (port34+1),a
ld (port35+1),a
ld (port36+1),a
ld (port37+1),a
ld (port38+1),a
ld (port39+1),a
ld (port40+1),a
ld (port41+1),a
ld (port42+1),a
ld (port43+1),a
ld (port44+1),a
ld (port45+1),a
ld (port46+1),a
ld (port47+1),a
ld (port48+1),a
ld (port49+1),a
ld (port50+1),a
ld (port51+1),a
ld (port52+1),a
ld (port53+1),a
ld (port54+1),a
ld (port55+1),a
ld (port56+1),a
ld (port57+1),a
ld (port58+1),a
ld (port59+1),a
ld (port60+1),a
ld (port61+1),a
ld (port62+1),a
ld (ChangeR+1),a
ld (port64+1),a
ld (port65+1),a
;
ld (port69+1),a
ld (port70+1),a
ld (port71+1),a
ld (port73+1),a
;
ld (port74+1),a
ld (port75+1),a
ld (port76+1),a
;
ld (port77+1),a
ld (port78+1),a
ret
*/
;[]===============================================[]
; —⥭¨¥ ä ©«  ­ áâ஥ª (¯®¨áª ¢ ⥪. ª â «®£¥)
; —¨â îâáï 2 ¡ ©â  ¢ ¡ãä¥à BuffName
; <20>ਠ®è¨¡ª å - ¯à®áâ® ¢ë室
ReadInit:
; ­ ©â¨ ä ©« "form.ini"
ld hl,IniName
call FirstFile
ret c ; ä ©« ­¥ ­ ©¤¥­
; ®âªàëâì ä ©«
ld hl,IniName
ld c,11h
ld a,1 ; ­  ç⥭¨¥
RST ToDSS
ret c ; ®è¨¡ª  ®âªàëâ¨ï
ld (hFile3),a
; ¯à®ç¨â âì ä ©«
ld a,(hFile3)
ld hl,BuffName ; ¡ãä¥à ¯®¤ ¤ ­­ë¥
ld de,2 ; ç¨á«® ç¨â ¥¬ëå ¡ ©â
ld c,13h
RST ToDSS
;ld (Number3),de ; ç¨á«® ¯à®ç¨â ­­ëå ¡ ©â
; § ªàëâì ä ©«
ld a,(hFile3)
call CloseFile
jp SetParam ; ­ áâநâì 2 ï祩ª¨ ®¯æ¨© ¤¨áª®¢
; ‡ ¯¨áì ¢ ä ©« ­ áâ஥ª
; <20>ਠ®è¨¡ª¥ á®§¤ ­¨ï - ¯à®áâ® ¢ë室
SaveInit: ; ¢®ááâ. ­ ç «ì­ë© ¤¨áª ¨ ª â «®£
; ld a,(CurDisk)
; ld c,1
; RST ToDSS
; ld hl,CurDir
; ld c,Dss.ChDir
; RST ToDSS
ld hl,CurPath
ld c,Dss.ChDir
RST ToDSS
;
call GetParam ; ­ áâநâì ¡ãä¥à ¤«ï § ¯¨á¨
; á®§¤ âì ä ©« (áãé¥áâ. ã१ ¥â ¤® ­ã«ï)
ld hl,IniName ; "form.ini"
ld c,0Ah
ld a,20h ;  âਡãâ " à娢­ë©"
RST ToDSS
ret c ; ®è¨¡ª  á®§¤ ­¨ï ä ©« 
ld (hFile3),a ; á®åà. åí­¤«
; § ¯¨áì ä ©« 
ld hl,BuffName ; ¡ãä¥à ¤ ­­ëå
ld de,2 ; ç¨á«® § ¯¨á. ¡ ©â
ld c,14h
RST ToDSS
; § ªàëâì ä ©«
ld a,(hFile3)
jp CloseFile
; <20> áâநâì ¡ãä¥à ¤«ï § ¯¨á¨ "form.ini"
GetParam: ld hl,DriveA
call .loc1
ld hl,BuffName
ld (hl),a ; ¤«ï ¤¨áª  "A:"
;
ld hl,DriveB
call .loc1
ld hl,BuffName+1
ld (hl),a ; ¤«ï ¤¨áª  "B:"
ret
;
.loc1: xor a
ld b,3 ; 3 ï祩ª¨
ld c,a ; áç¥â稪
.loc2: cp (hl)
jr nz,.loc3
inc hl
inc c
djnz .loc2
.loc3: ld a,c
and 3
ret
; <20> áâநâì 2 ï祩ª¨ RadioCheck-  ®¯æ¨© ¤¨áª®¢
SetParam: ; ®¡­ã«¨âì 6 ï祥ª ®¯æ¨© ¤¨áª®¢ A/B
ld hl,DriveA
ld b,6
xor a
.loc1: ld (hl),a
inc hl
djnz .loc1
;
ld hl,DriveA
ld de,BuffName ; ¤¨áª "A:"
ld a,(de)
ld c,a
add hl,bc
ld (hl),1 ; ®â¬¥â¨âì "RadioCheck" ¤¨áª  "A:"
;
inc de ; ­  ¡ ©â ¤¨áª  "B:"
ld hl,DriveB
ld a,(de)
ld c,a
add hl,bc
ld (hl),1 ; ®â¬¥â¨âì "RadioCheck" ¤¨áª  "B:"
ret
; Š®¯¨à®¢ ­¨¥ trd-§ £àã§ç¨ª  ¨§ ¢­¥è­¥£® ä ©« .
; <20>ਠ®è¨¡ª å à ¡®âë á ä ©«®¬ - ¯à®áâ® ¢ë室 ¨§ ¯/¯à®£à ¬¬ë.
CopyBootTRD: xor a
ld (sFlag1),a
; ­ ©â¨ ä ©« "boot.$b"
ld hl,TrdName
call FirstFile
jr c,trd_err ; ä ©« ­¥ ­ ©¤¥­
; ®âªàëâì ä ©«
ld hl,TrdName
call OpenFile
jr c,trd_err ; ®è¨¡ª  ®âªàëâ¨ï
ld (hFile4),a
; ¯à®ç¨â âì ä ©«
in a,(Page3)
push af
ld a,(TRBoot)
out (Page3),a ; ¯®¤ª«. ¡ãä¥à
; ç¨â ¥¬ § £®«®¢®ª ¡ãâ 
ld hl,NameBt ; ¡ãä¥à ¯®¤ ¤ ­­ë¥
ld de,17 ; ç¨á«® ç¨â ¥¬ëå ¡ ©â
ld a,(hFile4)
ld c,13h
RST ToDSS
; ç¨â ¥¬ ⥫® ¡ãâ 
ld e,0
ld a,(NameBt+14) ; ã§­ âì à §¬¥à ¡ãâ 
ld d,a
cp 40h
jr c,.loc1
ld d,40h
.loc1: ld (SizeBt+1),de ; á®åà. à §¬¥à ¡ãâ 
ld hl,L4000 ; 0C000h ¡ãä¥à ¯®¤ ¡ãâ
ld a,(hFile4)
ld c,13h
RST ToDSS
pop af
out (Page3),a ; ¢®ááâ. áâà ­¨æã
; § ªàëâì ä ©«
ld a,(hFile4)
jp CloseFile
;
trd_err: ld a,1
ld (sFlag1),a
ret

BIN
ESTEX.BS Normal file

Binary file not shown.

71
EXIT.ASM Executable file
View File

@ -0,0 +1,71 @@
; ”ã­ªæ¨ï ¢ë室  ¢ „Ž‘
;
Exit: ; ¢ª«. ०¨¬ 1.44Mb
call set_1440
; ¢®ááâ. cga-¯ «¨âàã
ld bc,03A6h
ld a,0
RST ToBIOS
; ¢®ááâ. íªà ­
call RestScreen
; ¢®ááâ. ¯®«®¦. ªãàá®à  á¨áâ. íªà ­ 
sys_cursor_coords+1:
ld de,0
LD C,BIOS.LP_SET_PLACE
RST ToBIOS
; ¢®ááâ. á¨áâ. ¤¨áª ¨ ¯ãâì
;call RestPath ;!FIXIT
ld hl,#6200 ;!HARDCODE
ld c,Dss.ChDir
RST ToDSS
; ®ç¨áâ¨âì ¡ãä¥à ª« ¢ë
ld bc,3135h
rst 0x10
; ®á¢®¡. ¢ë¤¥«¥­­ë© ¡«®ª ¯ ¬ïâ¨
ld a,(hBlock)
ld c,3Eh
rst 0x10
jr nc,quit
ld hl,NoFree
call Print
ld b,-1 ; ª®¤ ®è¨¡ª¨
jr quit1
quit: ld b,0
quit1: ld c,41h ; ¢ë©â¨ ¢ Estex
rst 0x10
ret
NoFree: db "Error free block memory !",0Dh,0Ah,0
; ‚뢮¤ áâப¨ ­  íªà ­
Print: ld c,5Ch
rst 0x10
ret
; ‚®ááâ. íªà ­
RestScreen: ld c,0B3h
jr _skrn
; ‘®åà ­¨âì íªà ­
SaveScreen: ld c,BIOS.WIN_COPY ; ª®¯¨à. ¨§ ¡ãä¥à  ¢ ®ª­®
_skrn: di
ld ix,WinBoxBuff ; Address Box buffers
ld hl,2050h ; Y/X à §¬¥à ®ª­ 
ld de,0000h ; Y/X ¯®«®¦. ®ª­ 
ld a,(Win1) ; Page buffer
ld b,a
xor a
RST ToBIOS
ei
ret

225
FMAIN.ASM Executable file
View File

@ -0,0 +1,225 @@
; <20> ¡®â ¥â ç¥à¥§ ¯®àâë ƒ93.
; ‚뤥«ï¥â 8 áâà ­¨æ ¯ ¬ïâ¨.
;
; <20>ਠᮧ¤ ­¨¨ § £à㧮筮© ¤¨áª¥âë, ª®¯¨àã¥â § £àã§ç¨ª Estex
; ¢ ᥪâ®àë 2..4 ¨ ª®à४â¨àã¥â BPB boot-ᥪâ®à , ãáâ ­ ¢«¨¢ ï
; 10 § à¥§¥à¢. ᥪâ®à®¢ (4 ¤«ï 720kB) ¨ 1 ª®¯¨î FAT. á¨á⥬-
; ­®£® ¤¨áª  ª®¯¨àã¥â ­  ¤¨áª¥âã á¨á⥬­ë¥ ä ©«ë.
;
;
define release 1 ; ०¨¬ ª®¬¯¨«ï樨 ¨á室­¨ª 
; ; ®¯¨á ­¨¥ ds xx
; %imacro ds 1
; times %1 db 0
; %endmacro
; ; ®¯¨á ­¨¥ ds xx,yy
; %imacro ds 2
; times %1 db %2
; %endmacro
include './shared_includes/constants/dss_equ.inc'
include './shared_includes/constants/bios_equ.inc'
SysPort equ 0x3C ; á¨áâ. ¯®àâ (¡¥§ ¯®¤ª«. <20>‡“ ¡¨®á )
Page1 equ 0xA2 ; ¯®àâ 1-© áâà ­¨æë
Page3 equ 0xE2 ; ¯®àâ 3-© áâà ­¨æë
WinBoxBuff equ 0xC000 ; ­ ç «® ¡ãä¥à 
; ¢¥àá¨ï ¯à®£à ¬¬ë
major_version equ 1
minor_version equ 13
if release
org 0x6400
else
org 0x6200
db 'EX' ; exe ID
db 'E' ; exe ⨯
db 0 ; exe ¢¥àá¨ï
dw 512 ; ¬«. ᬥé. ª®¤ 
dw 0 ; áâ. ᬥé. ª®¤ 
dw 0 ; end-beg, ¯¥à¢¨ç­ë© § £àã§ç¨ª
dw 0,0 ; १¥à¢
dw 0 ;
dw Start ;  ¤à¥á § £à㧪¨ ª®¤ 
dw Start ;  ¤à¥á ¯¥à¥¤ ç¨ ã¯à ¢«¥­¨ï
dw Stack ;  ¤à¥á á⥪ 
ds 490 ; १¥à¢
endif
Start: ld sp,Stack
; ०¨¬ âãà¡® - 1.44Mb
ld a,13h
ld c,8Fh
RST ToBIOS
; áà ¢­¨âì ¨á¯. ­®¬¥à  ¯®à⮢ áâà ­¨æ á ­®¬¥à ¬¨ ¯®à⮢ <20>¨®á 
;call compare_page
; ¢ë¤¥«ï¥¬ ¡«®ª ¢ 8 áâà ­¨æ
ld bc,8*256 + Dss.GetMem ;!HARDCODE
RST ToDSS
jr c,err_mem ; ­¥â ¯ ¬ïâ¨
ld (hBlock),a ; åí­¤« ¡«®ª 
; á®§¤ âì ᯨ᮪ ¢ë¤¥«. áâà ­¨æ
ld hl,hPages
ld c,0C5h
RST ToBIOS
; ¢ª«. à ¡®çãî áâà ­¨æã ¢ Page3 (¨á¯. ¤«ï ¡ãä¥à  á¨áâ. ®¡« á⨠¤¨áª¥âë)
ld a,(BuffSys)
out (Page3),a
; ®ç¨áâ¨âì ¡ãä¥à ª« ¢ë
ld bc,Dss.ScanKey*256 + Dss.K_CLEAR
RST ToDSS
; ¯®«ãç¨âì ᢮© ª â «®£
LD HL,#6200
LD DE,CurPath
LD BC,256
LDIR
; á®åà. ⥪ã騩 ¤¨áª
ld c,2
RST ToDSS
ADD A,"A"
ld (#6200),a ;!HARDCODE
; á®åà. ⥪ã騩 ¯ãâì
ld c,Dss.CurDir
ld hl,#6200+3 ; ¡ãä¥à ⥪. ¯ã⨠;!HARDCODE
RST ToDSS
; ¯¥à¥©â¨ ¢ ᢮© ª â «®£
ld hl,CurPath
ld c,#1D ; Dss.ChDir
RST ToDSS
;
jp Begin
err_mem: ld hl,NoMem
ld a,30
ld (quit+1),a
call Print
; ¢ë室 ¢ „Ž‘
jp quit
NoMem: db "Not enough memory !",0Dh,0Ah,0
hBlock: db 0 ; åí­¤« ¢ë¤¥«. ¡«®ª 
hPages:
BuffSys: db 0 ; åí­¤« à ¡®ç¥© áâà ­¨æë (+¤«ï á¨áâ. ®¡« áâ¨)
BuffTrk: db 0 ; åí­¤« áâà. ¡ãä¥à  áâàãªâãàë ¤®à®¦ª¨ (¨ "system.exe")
Win1: db 0 ; åí­¤« áâà. á®åà. íªà ­ 
Win2: db 0 ; åí­¤« áâà. á®åà. £«. ®ª®­ ä®à¬ â¨«ª¨
TRBoot: db 0 ; åí­¤« ¡ãä¥à  § £àã§ç¨ª  TR-DOS
SBuff0: db 0 ; åí­¤« ¡ãä¥à  "system.exe"
SBuff1: db 0 ; åí­¤«ë ¡ãä¥à  ¯®¤
SBuff2: db 0 ; ä ©« "system.dos"
db 0xFF ; á⮯-¡ ©â ᯨ᪠
;[]=================== <20> ç «® ¯à®£à ¬¬ë =========================[]
Begin: ; á®åà. íªà ­
call SaveScreen
; á®åà. ¯®«®¦. ªãàá®à  á¨áâ. íªà ­ 
ld c,8Eh
RST ToBIOS
ld (sys_cursor_coords),de
; ¨­¨æ. ¤à ©¢¥à ¬ë誨
ld c,0
RST ToDSS.Mouse
jr nc,continue
ld hl,NoMouse ; ¤à ©¢¥à ¬ëè¨ ­¥ ãáâ ­®¢«¥­
call Print
; ¦¤¥¬ ­ ¦ â¨ï ª« ¢¨è¨
ld c,30h
RST ToDSS
continue: call ReadInit ; ç⥭¨¥ "fformat.ini" ¨ ­ áâனª 
call CopyBootTRD ; ᪮¯¨à. ¡ãâ ¨§ "boot.$b" (¥á«¨ ¥áâì)
call CopySysFiles ; ᪮¯¨à. á¨áâ. ä ©«ë ¢ ¡ãä¥àë
include "dialog.asm"
include "listbox.asm"
include "radio.asm"
include "mouse.asm"
include "map.asm"
; ¢¥ªâ®à ¤«ï ®â®¡à ¦¥­¨ï ªãàá®à 
rst38: di
push iy
push ix
push hl
push de
push bc
push af
ld a,(CurILFl)
or a
call nz,PrnILCr
pop af
pop bc
pop de
pop hl
pop ix
pop iy
vect: jp 0x0000 ;  ¤à¥á á¨áâ. ¢¥ªâ®à 
; <20> ¡®ç¨© ¡ãä¥à Input Line
CompBuff: ds 16
_1:
DialData: ds 16
; <20>ãä¥à § £®«®¢ª  ¢ë¢®¤. ®ª­ 
DialName: ds 16
DialTab: ds 128
; <20>ãä¥à ¯®¤ ®¡ê¥ªâë
ReCompBuff: ds 512
_2:
NoMouse: db "Driver mouse not installed",0Dh,0Ah,0
Title: db " Floppy disk formatting utility Version "
db major_version + "0","."
db (minor_version / 10) + "0",(minor_version % 10) + "0"
db " (c) 2005-2007 "
;
ds 562 ; 565 + start2 = 672 (_2 -_1)
include "exit.asm"
include "estex.asm"
include "form.asm"
ds 80
Stack: db 0 ; ¡ãä¥à ¯®¤ á⥪ ¯à®£à ¬¬ë
ES_Boot: incbin "estex.bs" ; § £àã§ç¨ª Estex
; <20>ãä¥à á¨á⥬­®© ®¡« á⨠¤¨áª¥âë
L2400:

1622
FORM.ASM Executable file

File diff suppressed because it is too large Load Diff

1740
LISTBOX.ASM Executable file

File diff suppressed because it is too large Load Diff

245
MAIN.ASM Executable file
View File

@ -0,0 +1,245 @@
; Š®¤ ”®à¬ â¨«ª¨ (¡¥§ ¥å¥-§ £®«®¢ª ) 㯠ª®¢ ­ Hrust v1.2
;
; ®¯¨á ­¨¥ ds xx
; %imacro ds 1
; times %1 db 0
; %endmacro
include './shared_includes/constants/dss_equ.inc'
include './shared_includes/constants/bios_equ.inc'
org #9200 - exe_begin.size
exe_begin: db 'EX' ; exe ID
db 'E' ; exe ⨯
db 1 ; exe ¢¥àá¨ï
DWORD exe_begin.size ; ᬥé. ª®¤ 
dw 0 ; end-beg, ¯¥à¢¨ç­ë© § £àã§ç¨ª
dw 0,0 ; १¥à¢
dw 0 ;
dw Packed ;  ¤à¥á § £à㧪¨ ª®¤ 
dw Start ;  ¤à¥á ¯¥à¥¤ ç¨ ã¯à ¢«¥­¨ï
dw #C000 ;  ¤à¥á á⥪ 
;ds 490 ; १¥à¢
.size EQU $-exe_begin
org #9200
Packed: incbin 'build/format.hrs'
Start: ld c,0 ; ã§­ âì ¢¥àá¨î „Ž‘
RST ToDSS
ld hl,0145h ; 1.69
and a
sbc hl,de
jr c,ok ; > 1.69
;
ld hl,ver_err
ld c,5Ch
RST ToDSS
ld bc,#2641
RST ToDSS
ret
ver_err: db "Invalid DSS version, DSS 1.70 or higher is required.",0Dh,0Ah,0
ok: LD HL,#6200 ;!HARDCODE
LD BC,Dss.AppInfo.EXE_HomeDir
RST ToDSS
;
ld hl,Packed ; 㯠ª. ¤ ­­ë¥
ld de,6400h ; ªã¤  à á¯ ª®¢ âì
push de ;  ¤à¥á ¯¥à¥å®¤ 
; ä®à¬ â 㯠ª. ä ©« :
; +0 (word) "HR" - ᨣ­ âãà 
; +2 (word) - ¤«¨­  ¨á室­®£® ä ©« 
; +4 (word) - ¤«¨­  㯠ª®¢ ­­®£® ä ©« 
; <20> á¯ ª®¢é¨ª (DeHrust)
ld ix,-12
add ix,sp
push de
ld sp,hl
pop bc
ex de,hl
pop bc
dec bc
add hl,bc
ex de,hl
pop bc
dec bc
add hl,bc
sbc hl,de
add hl,de
jr c,loc1
ld d,h
ld e,l
loc1: lddr
ex de,hl
ld d,(ix+11)
ld e,(ix+10)
ld sp,hl
pop hl
pop hl
pop hl
ld b,6
loc2: dec sp
pop af
ld (ix+6),a
inc ix
djnz loc2
exx
ld d,0BFh
ld bc,1010h
pop hl
loc3: dec sp
pop af
exx
loc4: ld (de),a
inc de
loc5: exx
loc6: add hl,hl
djnz loc7
pop hl
ld b,c
loc7: jr c,loc3
ld e,1
loc8: ld a,80h
loc9: add hl,hl
djnz loc10
pop hl
ld b,c
loc10: rla
jr c,loc9
cp 3
jr c,loc11
add a,e
ld e,a
xor c
jr nz,loc8
loc11: add a,e
cp 4
jr z,loc26
adc a,0FFh
cp 2
exx
loc12: ld c,a
loc13: exx
ld a,0BFh
jr c,loc17
loc14: add hl,hl
djnz loc15
pop hl
ld b,c
loc15: rla
jr c,loc14
jr z,loc16
inc a
add a,d
jr nc,loc18
sub d
loc16: inc a
jr nz,loc20
ld a,0EFh
loc17: rrca
cp a
loc18: add hl,hl
djnz loc19
pop hl
ld b,c
loc19: rla
jr c,loc18
loc20: exx
ld h,0FFh
jr z,loc21
ld h,a
dec sp
inc a
jr z,loc24
pop af
loc21: ld l,a
add hl,de
ldir
loc22: jr loc5
;
loc23: exx
rrc d
jr loc6
;
loc24: pop af
cp 0E0h
jr c,loc21
rlca
xor c
inc a
jr z,loc23
sub 10h
loc25: ld l,a
ld c,a
ld h,0FFh
add hl,de
ldi
dec sp
pop af
ld (de),a
inc hl
inc de
ld a,(hl)
jr loc4
;
loc26: ld a,80h
loc27: add hl,hl
djnz loc28
pop hl
ld b,c
loc28: adc a,a
jr nz,loc31
jr c,loc27
ld a,0FCh
jr loc32
;
loc29: dec sp
pop bc
ld c,b
ld b,a
ccf
jr loc13
;
loc30: cp 0Fh
jr c,loc29
jr nz,loc12
add a,0F4h
ld sp,ix
jr loc34
;
loc31: sbc a,a
ld a,0EFh
loc32: add hl,hl
djnz loc33
pop hl
ld b,c
loc33: rla
jr c,loc32
exx
jr nz,loc25
bit 7,a
jr z,loc30
sub 0EAh
loc34: ex de,hl
loc35: pop de
ld (hl),e
inc hl
ld (hl),d
inc hl
dec a
jr nz,loc35
ex de,hl
jr nc,loc22
ret

851
MAP.ASM Executable file
View File

@ -0,0 +1,851 @@
; ‚뢮¤ ª àâë ¤¨áª , á ¢ë¤¥«¥­¨¥¬ 梥⮬ bad-áâ®à®­
; ¢å: ⥪.¤®à®¦ª 
; ⥪.áâ®à®­ 
; ä« £ bad-¢ë¢®¤ 
;
Map: ld a,(tracks)
cp 83+1 ; § ¯à¥¤. ¤®à®¦ª 
ret nc
ld de,(cursor) ; Y/X ¯®«®¦. ªãàá®à 
ld hl,count ; áç¥â稪
dec (hl)
jr nz,.loc1
ld (hl),4 ; á¡à®á¨âì áç¥â稪 "¤® ¨­ªà¥¬¥­â  X ¯®«®¦."
inc de ; ++E, X ¯®«®¦.
ld (cursor),de
.loc1: ld a,(side)
add a,d
ld d,a ; Y ¯®«®¦.
LD C,BIOS.LP_SET_PLACE ; ãáâ. ¯®«®¦. ªãàá®à 
RST ToBIOS
; ¯®«ãç¨âì ᨬ¢®« á íªà ­ 
ld c,0B4h
xor a
RST ToBIOS
;
ld a,(bad) ; 5/2/0 å®à®è¨©/¯«®å®©/¯®¤®§à. ᥪâ®à
ld c,a
add a,52h ; ¢ëç¨á«¨âì  âਡãâ
ld e,a ; 57h/54h/52h  âਡãâë ç¥â­®£® ᥪâ®à 
ld a,(tracks) ; ⥪. ¤®à®¦ª 
rrca
ld a,"Ý"
jr nc,.loc2 ; ç¥â­ ï ¤®à®¦ª 
;  âਡãâ ­¥ ç¥â­®£® ᥪâ®à 
ld a,h
and 0x0F
rlca
rlca
rlca
rlca
add a,2
add a,c
ld e,a
;
ld a,"Þ" ; ­¥ ç¥â­ ï ¤®à®¦ª 
.loc2: ld bc,0181h ; ¯¥ç âì ᨬ¢®«  á  âਡã⮬
RST ToBIOS
ret
maska equ 05h ; 5/2/0 "¬ áª " ok/bad/wrn ¤«ï ãáâ. âਡãâ  æ¢¥â 
bad: db maska ;  âਡãâ bad=0k+03h
cursor: dw 0D0Fh ; ­ ç. ¯®«®¦. ¬¥âª¨ ­  ª àâ¥
count: db 5
; <20> áâனª  ®ª­  ¯à®æ¥áá  ä®à¬ â¨à®¢ ­¨ï
Setup_Map:
xor a
ld (_OS),a
ld hl,553
ld (L0BB6+1),hl
ld hl,512
ld (MinusSc+1),hl
ld a,2
ld (SecCode+1),a ; ª®¤ à §¬¥à  ᥪâ®à 
ld hl,INTERL1
ld (INTERL+1),hl ; ãáâ. ¨­â¥à«¨¢ ¤«ï < 21 ᥪâ®à 
ld hl,LABEL ; ¡ãä¥à ¨¬¥­¨ ¬¥âª¨
ld a,(hl)
or a
jr nz,.loc0
ld hl,.loc22 ; "NO NAME "
.loc0: ld de,LABEL1
ld b,11
.loc1: ld a,(hl)
or a
jr z,.loc2
ld (de),a
inc hl
inc de
djnz .loc1
jr .loc3
.loc2: ld a," " ; § ¯®«­¨âì ®áâ â®ª "LABEL" ¯à®¡¥«®¬
ld (de),a
inc de
djnz .loc2
.loc3: ld hl,(CurElem1) ; ⥪. ¯®«®¦. 㪠§ â¥«ï ä®à¬ â 
ld a,h
add a,l
call Space
call SetCyl
call SetMedia
push af
cp 3
jr z,.loc4
cp 4
jr z,.loc4
cp 6
jr z,.loc4
cp 7
jr z,.loc4
cp 10
jr z,.loc4
cp 11
jr z,.loc4
; 80 ¤®à®¦¥ª
ld a,0FFh
ld (metka1),a
ld (metka2),a
ld (metka4),a
ld (metka3),a
jr .loc5
; 82-83 ¤®à®¦ª¨
.loc4: ld a,"Û"
ld (metka1),a
ld (metka2),a
ld a," "
ld (metka4),a
ld a,"0"
ld (metka3),a
.loc5: pop af
rlca
ld e,a
ld d,0
ld hl,.loc6
ld bc,7
add hl,de
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
ld de,metka5
ldir
;
ld a,(_OS)
or a
jr z,.loc30 ; ®á ms-dos
dec a
jr nz,.loc28 ; ®á cpm-80
ld a,(sFlag1)
or a
jr nz,.loc28 ; ®è¨¡ª¨ à ¡®âë á ä ©«®¬ "boot.$b"
ld a,(cSystem)
or a
jr z,.loc28
ld hl,.loc53 ; tr-dos "Boot disk "
jr .loc27
; ms-dos
.loc30: ld hl,.loc25 ; "System files"
ld a,(sFlag)
or a
jr nz,.loc28 ; ®è¨¡ª¨ à ¡®âë á á¨áâ. ä ©« ¬¨ Estex
ld a,(cSystem)
or a
jr nz,.loc27
.loc28: ld hl,.loc26 ; " "
.loc27: ld de,metka7
ld bc,12
ldir
; ­ áâநâì áâபã ⥪. ०¨¬ 
ld hl,(CurElem1) ; ⥪. ¯®«®¦. 㪠§ â¥«ï ä®à¬ â 
ld a,h
add a,l
ld hl,.loc52 ; " "
cp 13 ; ¯ã­ªâ CPM-80 ?
jr z,.loc21
; ms-dos, tr-dos
ld hl,.loc29 ; "Optimize sectors"
ld a,(Mode2)
or a
jr nz,.loc21
ld hl,.loc19 ; "Standart mode"
ld a,(Mode0)
or a
jr nz,.loc21
ld hl,.loc20 ; "Quick format"
.loc21: ld bc,18
ld de,metka6 ; áâப  ¢ ListBox-¥
ldir
ret
;
.loc6: dw .loc7
dw .loc8
dw .loc9
dw .loc10
dw .loc11
dw .loc12
dw .loc13
dw .loc14
dw .loc15
dw .loc16
dw .loc17
dw .loc18
dw .loc50
dw .loc51
;
.loc7: db "1.44 Mb"
.loc8: db "1.52 Mb"
.loc9: db "1.60 Mb"
.loc10: db "1.64 Mb"
.loc11: db "1.66 Mb"
.loc12: db "1.68 Mb"
.loc13: db "1.72 Mb"
.loc14: db "1.74 Mb"
.loc15: db "720 kB "
.loc16: db "800 kB "
.loc17: db "820 kB "
.loc18: db "830 kB "
.loc50: db "TR-DOS "
.loc51: db "CP/M-80"
.loc19: db "(Standart mode) "
.loc29: db "(Optimize sectors)"
.loc20: db "(Quick format) "
.loc52: db " "
.loc22: db "NO NAME "
.loc25: db "System files"
.loc53: db "Boot disk "
.loc26: db " "
; ‡ ­¥á⨠ࠧ¬¥à ¢ë¡à ­­®£® ä®à¬ â  ¢ ¡ ©â å
Space: push af
rlca
ld e,a
ld d,0
ld hl,.loc1
ld bc,7
add hl,de
ld e,(hl)
inc hl
ld d,(hl)
ex de,hl
push hl
ld de,space1
ldir
pop hl
ld bc,7
ld de,space2
ldir
ld hl,.loc14
ld de,space3 ; á¡à. ç¨á«® bad-ᥪâ®à®¢
ld bc,4
ldir
ld hl," 0"
ld (space4),hl ; á¡à. ⥪. ç¨á«® ¤®à®¦¥ª
pop af
ret
.loc1: dw .loc2
dw .loc3
dw .loc4
dw .loc5
dw .loc6
dw .loc7
dw .loc8
dw .loc9
dw .loc10
dw .loc11
dw .loc12
dw .loc13
dw .loc15
dw .loc16
;
.loc2: db "1457664" ; 1.44Mb
.loc3: db "1539584" ; 1.52Mb
.loc4: db "1620480" ; 1.60Mb
.loc5: db "1661440" ; 1.64Mb
.loc6: db "1681920" ; 1.66Mb
.loc7: db "1702400" ; 1.68Mb
.loc8: db "1745408" ; 1.72Mb
.loc9: db "1765888" ; 1.74Mb
.loc10: db " 730112" ; 720kB
.loc11: db " 812032" ; 800kB
.loc12: db " 832512" ; 820kB
.loc13: db " 842752" ; 830kB
.loc15: db " 651264" ; TR-DOS 16 ᥪâ. ¯® 256 ¡ ©â
.loc16: db " 819200" ; CP/M-80 5 ᥪâ. ¯® 1024 ¡ ©â
;
.loc14: db " 0" ; á¡à®á¨âì ç¨á«® bad-ᥪâ®à®¢
; <20> áâநâì ¬ ªá. ç¨á«® ¤®à®¦¥ª
SetCyl: push af
cp 3
jr z,.loc2
cp 6
jr z,.loc2
cp 10
jr z,.loc2
cp 4
jr z,.loc3
cp 7
jr z,.loc3
cp 11
jr z,.loc3
ld a,80-1 ; 80 ¤®à®¦¥ª
.loc1: ld (TRACKS+1),a
pop af
ret
.loc2: ld a,82-1 ; 82 ¤®à®¦ª¨
jr .loc1
.loc3: ld a,83-1 ; 83 ¤®à®¦ª¨
jr .loc1
; <20> áâநâì BPB ms-dos § £àã§ç¨ª 
SetMedia:
push af
or a
jr z,.loc1 ; 1.44Mb
dec a
jp z,.loc2 ; 1.52Mb
dec a
jp z,.loc3 ; 1.60Mb
dec a
jp z,.loc4 ; 1.64Mb
dec a
jp z,.loc5 ; 1.66Mb
dec a
jp z,.loc6 ; 1.68Mb
dec a
jp z,.loc7 ; 1.72Mb
dec a
jp z,.loc8 ; 1.74Mb
dec a
jp z,.loc9 ; 720kB
dec a
jp z,.loc10 ; 800kB
dec a
jp z,.loc11 ; 820kB
dec a
jp z,.loc14 ; 830kB
dec a
jp z,.trdos ; TR-DOS
jp .cpm ; CPM-80
;1.44Mb
.loc1: ld hl,108 ; à §¬¥à ¬¥¦á¥ªâ. ¯à®¡¥« 
ld (GAP3),hl
ld hl,0016h
ld (Avail+2),hl ; 4 ¡ ©â  à §¬¥à  ä®à¬ â 
ld hl,3E00h
ld (Avail),hl
ld a,18 ; ç¨á«® ᥪâ®à®¢
ld (frm1+1),a
ld hl,18 ; ᥪâ®à®¢ ­  áâ®à®­ã
ld (SSect+1),hl
ld a,34 ; ¯®á«. á«ã¦. ᥪâ®à
ld (frm2+1),a
ld hl,16896 ; à §¬¥à FAT-®¢ + Root dir
ld (frm5+1),hl
ld hl,2880 ; ᥪâ®à®¢ ­  ¤¨áª¥
ld (ASect+1),hl
ld hl,9 ; ᥪâ®à®¢ ­  FAT
ld (FSect+1),hl
.loc13: ld a,0F0h ; ¡ ©â ä®à¬ â 
ld (frm4+1),a
ld a,1 ; ᥪâ®à®¢ ­  ª« áâ¥à
ld (frm3+1),a
ld hl,224 ; § ¯¨á¥© ¢ ª®à­¥
ld (frm6+1),hl
.loc12: ld hl,Avail
ld de,avail1
ld bc,4
ldir ; á®åà. ¥¬ª®áâì ¤¨áª¥âë ¢ ¤®¯. ï祩ª¥
pop af
ret
;1.52Mb
.loc2: ld hl,42 ; à §¬¥à ¬¥¦á¥ªâ. ¯à®¡¥« 
ld (GAP3),hl
ld hl,0017h
ld (Avail+2),hl ; 4 ¡ ©â  à §¬¥à  ä®à¬ â 
ld hl,7E00h
ld (Avail),hl
ld a,19 ; ç¨á«® ᥪâ®à®¢
ld (frm1+1),a
ld hl,19 ; ᥪâ®à®¢ ­  áâ®à®­ã
ld (SSect+1),hl
ld a,34 ; ¯®á«. á«ã¦. ᥪâ®à
ld (frm2+1),a
ld hl,16896 ; à §¬¥à FAT-®¢ + Root dir
ld (frm5+1),hl
ld hl,3040 ; ᥪâ®à®¢ ­  ¤¨áª¥
ld (ASect+1),hl
ld hl,9 ; ᥪâ®à®¢ ­  FAT
ld (FSect+1),hl
jr .loc13
;1.60Mb
.loc3: ld hl,0018h
ld (Avail+2),hl ; 4 ¡ ©â  à §¬¥à  ä®à¬ â 
ld hl,0BA00h
ld (Avail),hl
ld a,20 ; ç¨á«® ᥪâ®à®¢
ld (frm1+1),a
ld hl,20 ; ᥪâ®à®¢ ­  áâ®à®­ã
ld (SSect+1),hl
ld a,36 ; ¯®á«. á«ã¦. ᥪâ®à
ld (frm2+1),a
ld hl,17920 ; à §¬¥à FAT-®¢ + Root dir
ld (frm5+1),hl
ld hl,3200 ; ᥪâ®à®¢ ­  ¤¨áª¥
ld (ASect+1),hl
ld hl,10 ; ᥪâ®à®¢ ­  FAT
ld (FSect+1),hl
jp .loc50
;1.64Mb
.loc4: ld hl,0019h
ld (Avail+2),hl ; 4 ¡ ©â  à §¬¥à  ä®à¬ â 
ld hl,5A00h
ld (Avail),hl
ld a,20 ; ç¨á«® ᥪâ®à®¢
ld (frm1+1),a
ld hl,20 ; ᥪâ®à®¢ ­  áâ®à®­ã
ld (SSect+1),hl
ld a,36 ; ¯®á«. á«ã¦. ᥪâ®à
ld (frm2+1),a
ld hl,17920 ; à §¬¥à FAT-®¢ + Root dir
ld (frm5+1),hl
ld hl,3280 ; ᥪâ®à®¢ ­  ¤¨áª¥
ld (ASect+1),hl
ld hl,10 ; ᥪâ®à®¢ ­  FAT
ld (FSect+1),hl
jr .loc50
;1.66Mb
.loc5: ld hl,0019h
ld (Avail+2),hl ; 4 ¡ ©â  à §¬¥à  ä®à¬ â 
ld hl,0AA00h
ld (Avail),hl
ld a,20 ; ç¨á«® ᥪâ®à®¢
ld (frm1+1),a
ld hl,20 ; ᥪâ®à®¢ ­  áâ®à®­ã
ld (SSect+1),hl
ld a,36 ; ¯®á«. á«ã¦. ᥪâ®à
ld (frm2+1),a
ld hl,17920 ; à §¬¥à FAT-®¢ + Root dir
ld (frm5+1),hl
ld hl,3320 ; ᥪâ®à®¢ ­  ¤¨áª¥
ld (ASect+1),hl
ld hl,10 ; ᥪâ®à®¢ ­  FAT
ld (FSect+1),hl
.loc50: ld hl,40 ; à §¬¥à ¬¥¦á¥ªâ. ¯à®¡¥« 
ld (GAP3),hl
jp .loc13
;1.68Mb
.loc6: ld hl,0019h
ld (Avail+2),hl ; 4 ¡ ©â  à §¬¥à  ä®à¬ â 
ld hl,0FA00h
ld (Avail),hl
ld a,21 ; ç¨á«® ᥪâ®à®¢
ld (frm1+1),a
ld hl,21 ; ᥪâ®à®¢ ­  áâ®à®­ã
ld (SSect+1),hl
ld a,36 ; ¯®á«. á«ã¦. ᥪâ®à
ld (frm2+1),a
ld hl,17920 ; à §¬¥à FAT-®¢ + Root dir
ld (frm5+1),hl
ld hl,3360 ; ᥪâ®à®¢ ­  ¤¨áª¥
ld (ASect+1),hl
ld hl,10 ; ᥪâ®à®¢ ­  FAT
ld (FSect+1),hl
jp .loc80
;1.72Mb
.loc7: ld hl,001Ah
ld (Avail+2),hl ; 4 ¡ ©â  à §¬¥à  ä®à¬ â 
ld hl,0A200h
ld (Avail),hl
ld a,21 ; ç¨á«® ᥪâ®à®¢
ld (frm1+1),a
ld hl,21 ; ᥪâ®à®¢ ­  áâ®à®­ã
ld (SSect+1),hl
ld a,36 ; ¯®á«. á«ã¦. ᥪâ®à
ld (frm2+1),a
ld hl,17920 ; à §¬¥à FAT-®¢ + Root dir
ld (frm5+1),hl
ld hl,3444 ; ᥪâ®à®¢ ­  ¤¨áª¥
ld (ASect+1),hl
ld hl,10 ; ᥪâ®à®¢ ­  FAT
ld (FSect+1),hl
jr .loc80
;1.74Mb
.loc8: ld hl,001Ah
ld (Avail+2),hl ; 4 ¡ ©â  à §¬¥à  ä®à¬ â 
ld hl,0F200h
ld (Avail),hl
ld a,21 ; ç¨á«® ᥪâ®à®¢
ld (frm1+1),a
ld hl,21 ; ᥪâ®à®¢ ­  áâ®à®­ã
ld (SSect+1),hl
ld a,38 ; ¯®á«. á«ã¦. ᥪâ®à
ld (frm2+1),a
ld hl,18944 ; à §¬¥à FAT-®¢ + Root dir
ld (frm5+1),hl
ld hl,3486 ; ᥪâ®à®¢ ­  ¤¨áª¥
ld (ASect+1),hl
ld hl,11 ; ᥪâ®à®¢ ­  FAT
ld (FSect+1),hl
.loc80: ld hl,11 ; à §¬¥à ¬¥¦á¥ªâ. ¯à®¡¥« 
ld (GAP3),hl
ld hl,INTERL2 ; ãáâ. ¨­â¥à«¨¢ ¤«ï 21 ᥪâ®à 
ld (INTERL+1),hl
jp .loc13
;720kB
.loc9: ld hl,80 ; à §¬¥à ¬¥¦á¥ªâ. ¯à®¡¥« 
ld (GAP3),hl
ld hl,000Bh
ld (Avail+2),hl ; 4 ¡ ©â  à §¬¥à  ä®à¬ â 
ld hl,2400h
ld (Avail),hl
ld a,9 ; ç¨á«® ᥪâ®à®¢
ld (frm1+1),a
ld hl,9 ; ᥪâ®à®¢ ­  áâ®à®­ã
ld (SSect+1),hl
ld hl,1440 ; ᥪâ®à®¢ ­  ¤¨áª¥
ld (ASect+1),hl
.loc15: ld hl,6656 ; à §¬¥à FAT-®¢ + Root dir
ld (frm5+1),hl
ld a,14 ; ¯®á«. á«ã¦. ᥪâ®à
ld (frm2+1),a
ld hl,3 ; ᥪâ®à®¢ ­  FAT
ld (FSect+1),hl
ld a,0F9h ; ¡ ©â ä®à¬ â 
ld (frm4+1),a
ld a,2 ; ᥪâ®à®¢ ­  ª« áâ¥à
ld (frm3+1),a
ld hl,112 ; § ¯¨á¥© ¢ ª®à­¥
ld (frm6+1),hl
jp .loc12
;800kB
.loc10: ld hl,000Ch
ld (Avail+2),hl ; 4 ¡ ©â  à §¬¥à  ä®à¬ â 
ld hl,6400h
ld (Avail),hl
ld hl,1600 ; ᥪâ®à®¢ ­  ¤¨áª¥
ld (ASect+1),hl
jr .loc16
;820kB
.loc11: ld hl,000Ch
ld (Avail+2),hl ; 4 ¡ ©â  à §¬¥à  ä®à¬ â 
ld hl,0B400h
ld (Avail),hl
ld hl,1640 ; ᥪâ®à®¢ ­  ¤¨áª¥
ld (ASect+1),hl
jr .loc16
;830kB
.loc14: ld hl,000Ch
ld (Avail+2),hl ; 4 ¡ ©â  à §¬¥à  ä®à¬ â 
ld hl,0DC00h
ld (Avail),hl
ld hl,1660 ; ᥪâ®à®¢ ­  ¤¨áª¥
ld (ASect+1),hl
.loc16: ld a,10 ; ç¨á«® ᥪâ®à®¢
ld (frm1+1),a
ld hl,10 ; ᥪâ®à®¢ ­  áâ®à®­ã
ld (SSect+1),hl
ld hl,36 ; à §¬¥à ¬¥¦á¥ªâ. ¯à®¡¥« 
ld (GAP3),hl
ld hl,INTERL3 ; ãáâ. ¨­â¥à«¨¢ ¤«ï 21 ᥪâ®à 
ld (INTERL+1),hl
jr .loc15
; TR-DOS
.trdos: ld hl,50 ; à §¬¥à ¬¥¦á¥ªâ. ¯à®¡¥« 
ld (GAP3),hl
ld hl,256
ld (MinusSc+1),hl
ld hl,INTERL4
ld (INTERL+1),hl ; ãáâ. ¨­â¥à«¨¢ ¤«ï < 21 ᥪâ®à 
ld hl,0009h
ld (Avail+2),hl ; 4 ¡ ©â  à §¬¥à  ä®à¬ â 
ld hl,0F000h
ld (Avail),hl
ld a,1
ld (_OS),a
ld (SecCode+1),a ; ª®¤ à §¬¥à  ᥪâ®à 
ld hl,297 ; 553-256
ld (L0BB6+1),hl
jp .loc12
; CP/M-80
.cpm: ld hl,50 ; à §¬¥à ¬¥¦á¥ªâ. ¯à®¡¥« 
ld (GAP3),hl
ld hl,1024
ld (MinusSc+1),hl
ld hl,000Ch
ld (Avail+2),hl ; 4 ¡ ©â  à §¬¥à  ä®à¬ â 
ld hl,8000h
ld (Avail),hl
ld a,2
ld (_OS),a
inc a
ld (SecCode+1),a ; ª®¤ à §¬¥à  ᥪâ®à 
ld hl,1065 ; 553+512
ld (L0BB6+1),hl
jp .loc12
; ‚뢮¤ ¢ ¤¥áïâ¨ç­®¬ ä®à¬ â¥ (7 à §à冷¢)
; ¢å: hl'= ¬«.à §àï¤
; hl = áâ.à §àï¤
Hex7Dec:EXX
LD BC,4240h
EXX
LD BC,000Fh ;1.000.000
EXX
ld iy,tmp1
res 7,(iy+0)
CALL GetLenN32
LD BC,86A0h
EXX
LD BC,0001h ;100.000
EXX
CALL GetLenN32
LD BC,10000 ;10.000
EXX
LD BC,0 ;100.000
EXX
CALL GetLenN32
Hex4Dec:LD BC,1000 ;1.000
CALL GetLenN16
LD BC,100 ;100
CALL GetLenN16
LD BC,10 ;10
CALL GetLenN16
LD A,L
ADD A,"0"
LD (DE),A
RET
tmp1: db 0
GetLenN32:
LD A,2Fh
OR A
.loc1: INC A
SBC HL,BC
EXX
SBC HL,BC
EXX
JR NC,.loc1
ADD HL,BC
EXX
ADC HL,BC
EXX
CP "0"
JR Z,.loc2
SET 7,(IY+0)
.loc2: BIT 7,(IY+0)
JR NZ,.loc3
LD A," "
.loc3: LD (DE),A
INC DE
RET
GetLenN16:
LD A,2Fh
OR A
.loc1: INC A
SBC HL,BC
JR NC,.loc1
ADD HL,BC
CP "0"
JR Z,.loc2
SET 7,(IY+0)
.loc2: BIT 7,(IY+0)
JR NZ,.loc3
LD A," "
.loc3: LD (DE),A
INC DE
RET
Avail: dw 0,0 ; ç¨á«® ¤®áâã¯. ¡ ©â
avail1: dw 0,0 ; ï祩ª  ¤«ï ¢®ááâ. "Avail"
; ‚ëç¨á«¥­¨¥ ¨ ¢ë¢®¤ ¤®áâ㯭®£® ¯à®áâà ­á⢠ ¤¨áª¥âë
CalcAvail:
ld de,1529h ; Y/X ¯®«®¦. "Available bytes"
LD C,BIOS.LP_SET_PLACE
RST ToBIOS
and a ; á¡à. ¯¥à¥­®á
ld de,space2 ; ¡ãä¥à ç¨á« 
ld hl,(Avail) ; ¬«.à §àï¤
MinusSc:ld bc,512
sbc hl,bc
ld (Avail),hl
exx
ld hl,(Avail+2) ; áâ.à §àï¤
ld bc,0
sbc hl,bc
ld (Avail+2),hl
call Hex7Dec
ld hl,space2
ld bc,0785h ; ¢ë¢®¤ áâப¨
ld e,ColFormNumber ;  âਡãâ
RST ToBIOS
;
ld de,142Ch ; Y/X ¯®«®¦. "Bad sectors"
LD C,BIOS.LP_SET_PLACE
RST ToBIOS
ld hl,(BadSect)
inc hl
ld (BadSect),hl
ld iy,tmp1
res 7,(iy+0)
ld de,space3
call Hex4Dec ; ¢ë¢®¤ ª®«-¢  bad-ᥪâ®à®¢
ld hl,space3
ld bc,0485h ; ¢ë¢®¤ áâப¨
ld e,ColFormNumber ;  âਡãâ
RST ToBIOS
ret
;"‘¨á⥬­ë¥ ä ©«ë ᪮¯¨à®¢ ­ë"
;okno4: ld a,10h ; 梥⠢뢮¤. ®ª­ 
;ld (_mtk1+1),a
;ld hl,SysCopy
;jr _mtk
; "Žâáãâáâ¢ã¥â ¤¨áª ¨«¨ ãáâனá⢮"
okno3: ld a,40h ; 梥⠢뢮¤. ®ª­ 
ld (_mtk1+1),a
ld hl,MissingDisk
jr _mtk
; "<22>à¥à¢ ­® ¯®«ì§®¢ â¥«¥¬"
okno0: ld a,10h ; 梥⠢뢮¤. ®ª­ 
ld (_mtk1+1),a
ld hl,Interrupt
jr _mtk
; "”®à¬ â¨à®¢ ­¨¥ § ¢¥à襭®"
okno1: ld a,10h ; 梥⠢뢮¤. ®ª­ 
ld (_mtk1+1),a
ld hl,FComplite
jr _mtk
; "Žè¨¡ª  § ¯¨á¨ á¨áâ. ®¡« á⨠¨«¨ ­¥ ᮢ¬¥áâ¨¬ë© ä®à¬ â"
okno2: ld a,40h ; 梥⠢뢮¤. ®ª­ 
ld (_mtk1+1),a
ld hl,NoForm
_mtk: ld (_mtk2+1),hl
;
ld a,(ColDialWn) ; á®åà. 梥⠮ª­ 
push af
_mtk1: ld a,40h ; 梥⠢뢮¤. ®ª­ 
ld (ColDialWn),a
_mtk2: ld hl,NoForm ; "Žè¨¡ª  § ¯¨á¨ á¨áâ. ®¡« áâ¨"
call DialogW
pop af
ld (ColDialWn),a ; ¢®ááâ. 梥⠮ª­ 
ret
; Žç¨áâ¨âì ª àâã
ClearMap:
ld de,0D0Fh ; Y/X ¯®«®¦. ¢¥àå. áâப¨
LD C,BIOS.LP_SET_PLACE
RST ToBIOS
call clrMap
ld de,0E0Fh ; Y/X ¯®«®¦. ­¨¦­. áâப¨
LD C,BIOS.LP_SET_PLACE
RST ToBIOS
;
clrMap: ld hl,.loc2
ld a,(metka1)
cp 0xFF ; á⮯-¡ ©â
ld b,42 ; ¤«¨­  áâப¨ ¯à¨ > 80 ¤®à®¦ª å
jr nz,.loc1
ld b,40 ; ¤«¨­  áâப¨ ¯à¨ 80 ¤®à®¦ª å
.loc1: ld c,85h ; ¢ë¢®¤ áâப¨
ld e,75h ; ­®à¬.  âਡãâ ª àâë
RST ToBIOS
ret
;
.loc2: db "ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ"
; “áâ ­®¢¨âì § ¤ ­­ë© ä®à¬ â ⥪ã饣® ä«®¯®¢®¤ .
; „«ï 5.25" ãáâ. ¢á¥£¤  1Œƒæ ⠪⮢®© ƒ93 (¯à ªâ¨ç¥áª¨ ­¥ ­ã¦­ ).
SetDrive:
ld a,(CurElem0) ; (0=A,1=B) ⥪. ¤¨áª
ld hl,DriveA ; ä®à¬ âë ¢ RadioCheck "A:"
or a
jr z,.loc1
ld hl,DriveB ; ä®à¬ âë ¢ RadioCheck "B:"
.loc1: xor a
cp (hl)
jr nz,.d1440 ; 1.44Mb 3.5"
; ¤¥¢ ©á 720kB 5.25"
.loc2: ld a,12h ; ¢á¥£¤  ä®à¬ â¨âì ­  1Œƒæ ⠪⮢®©
.loc3: ld (density),a
ret
; ¤¥¢ ©á 1.44Mb 3.5"
.d1440: ld hl,(CurElem1) ; ⥪. ¯®«®¦. 㪠§ â¥«ï ä®à¬ â 
ld a,h
add a,l
cp 8 ; ¯ã­ªâ 720kB ¨ ­¨¦¥
jr nc,.loc2
ld a,13h
jr .loc3 ; ä®à¬ âë 1.44Mb..1.52Mb
; << ”ã­ªæ¨ï á®§¤ ­¨ï  âਡãâ  "¬¥âª  ⮬ " ã¡à ­  ¨§ DSS >>
;
; ‘®§¤ ­¨¥ ¬¥âª¨ ¤¨áª¥âë (MS-DOS)
; (¡ ©â  âਡãâ  ­ å®¤¨âáï ¯® ᬥé. +11 ®â ­ ç «  § ¯¨á¨)
CreateLabel:
ret
ld hl,LABEL ; ¨¬ï ¬¥âª¨
ld a,(hl)
or a
ret z
call SetDisketa ; ãáâ. ⥪ã騬 ¤¨áª®¬ ¤¨áª¥âã
; á®§¤ âì ä ©«
ld hl,LABEL ; ¨¬ï ¬¥âª¨
ld a,08h ;  âਡãâ "¬¥âª  ⮬ "
ld c,0Ah
RST ToDSS
jr c,.loc1 ; ®è¨¡ª  á®§¤ ­¨ï ¬¥âª¨
;ret c
; § ªàëâì ä ©«
ld c,12h
RST ToDSS
.loc1: jp RestPath ; ¢®ááâ. ¤¨áª ¨ ¯ãâì
; RET

28
MOUSE.ASM Executable file
View File

@ -0,0 +1,28 @@
; <20>®«ãç¨âì ­®¢ãî ¨­ä®à¬ æ¨î ® ¬ë誥.
; <20>८¡à §ã¥â £à ä. ª®®à¤¨­ âë ¢ ⥪á⮢ë¥
GetMousInfo:
ExmFire: ld c,3 ; ¯®«ãç¨âì ª®®à¤. ¬ë誨
RST ToDSS.Mouse
ret c
ex af,af'
srl h
rr l
srl h
rr l
srl l
ld a,e ; Y ª®®à¤¨­ â  (0-255)
rra
rra
rra
and 1Fh
ld h,a ; hl=ª®®à¤. ¢ §­ ª®¬¥áâ å
ex af,af' ; áâ âãá ¡ãâ®­®¢ ¬ë誨
and 3
ret
; †¤¥¬, ¥á«¨ ­ ¦ â ¡ãâ®­(ë) ¬ë誨
GetFire: call GetMousInfo
jr nz,GetFire ; ã§­ âì ­®¢ãî ¨­äã ¯® áâ âãáã ¡ãâ®­®¢
; ¡ãâ®­(ë) ­¥ ­ ¦ âë
ret

1946
RADIO.ASM Executable file

File diff suppressed because it is too large Load Diff

1
Shared_Includes Submodule

@ -0,0 +1 @@
Subproject commit 378f3fdd49601390b3aacfe51e45c6fceba25022

4
Version.inc Normal file
View File

@ -0,0 +1,4 @@
define RELEASE 1
; ¢¥àá¨ï ¯à®£à ¬¬ë
DEFINE FF_Version '1.13.2'

BIN
mhmt Executable file

Binary file not shown.