mirror of
https://github.com/Tolik-Trek/FFORMAT.git
synced 2026-06-15 01:11:44 +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