mirror of
https://github.com/Tolik-Trek/FFORMAT.git
synced 2026-06-15 17:31:43 +03:00
Begin
This commit is contained in:
parent
902903656f
commit
3ef8aefe30
4
.gitmodules
vendored
Normal file
4
.gitmodules
vendored
Normal 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
219
BUTTON.ASM
Executable 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
1773
DIALOG.ASM
Executable file
File diff suppressed because it is too large
Load Diff
602
ESTEX.ASM
Executable file
602
ESTEX.ASM
Executable 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
|
||||||
|
|
||||||
71
EXIT.ASM
Executable file
71
EXIT.ASM
Executable 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
225
FMAIN.ASM
Executable 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:
|
||||||
|
|
||||||
1740
LISTBOX.ASM
Executable file
1740
LISTBOX.ASM
Executable file
File diff suppressed because it is too large
Load Diff
245
MAIN.ASM
Executable file
245
MAIN.ASM
Executable 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
851
MAP.ASM
Executable 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
28
MOUSE.ASM
Executable 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
|
||||||
1
Shared_Includes
Submodule
1
Shared_Includes
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 378f3fdd49601390b3aacfe51e45c6fceba25022
|
||||||
4
Version.inc
Normal file
4
Version.inc
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
define RELEASE 1
|
||||||
|
|
||||||
|
; ¢¥àá¨ï ¯à®£à ¬¬ë
|
||||||
|
DEFINE FF_Version '1.13.2'
|
||||||
Loading…
Reference in New Issue
Block a user