mirror of
https://github.com/Tolik-Trek/FFORMAT.git
synced 2026-06-15 09:21:43 +03:00
оптимизируем
This commit is contained in:
parent
a2b7e9b470
commit
6d775da44b
23
DIALOG.ASM
23
DIALOG.ASM
@ -296,7 +296,7 @@ PutDial: PUSH IX
|
|||||||
CALL GetMousInfo
|
CALL GetMousInfo
|
||||||
EXX
|
EXX
|
||||||
DI
|
DI
|
||||||
kk2: LD A,(Win2) ;Page buffer
|
kk2: LD A,(hPages.Win2) ;Page buffer
|
||||||
LD B,A
|
LD B,A
|
||||||
XOR A
|
XOR A
|
||||||
LD C,BIOS.WIN_RESTORE ; ¨§ ¡ãä¥à ¢ ⥪áâ. ®ª®
|
LD C,BIOS.WIN_RESTORE ; ¨§ ¡ãä¥à ¢ ⥪áâ. ®ª®
|
||||||
@ -310,8 +310,7 @@ kk2: LD A,(Win2) ;Page buffer
|
|||||||
|
|
||||||
|
|
||||||
; Close Dialog window and restore box place
|
; Close Dialog window and restore box place
|
||||||
ClsDial:
|
ClsDial: CALL ResILCr ; á¡à®á¨âì ªãàá®à
|
||||||
CALL ResILCr ; á¡à®á¨âì ªãàá®à
|
|
||||||
LD IX,DialData
|
LD IX,DialData
|
||||||
LD A,(IX+2) ;with shadow
|
LD A,(IX+2) ;with shadow
|
||||||
ADD A,2
|
ADD A,2
|
||||||
@ -326,7 +325,7 @@ ClsDial:
|
|||||||
EXX
|
EXX
|
||||||
DI
|
DI
|
||||||
LD IX,WinBoxBuff ;Address Box buffers
|
LD IX,WinBoxBuff ;Address Box buffers
|
||||||
kk3: LD A,(Win2) ;Page buffer
|
kk3: LD A,(hPages.Win2) ;Page buffer
|
||||||
LD B,A
|
LD B,A
|
||||||
XOR A
|
XOR A
|
||||||
LD C,BIOS.WIN_RESTORE ; ¨§ ¡ãä¥à ¢ ⥪áâ. ®ª®
|
LD C,BIOS.WIN_RESTORE ; ¨§ ¡ãä¥à ¢ ⥪áâ. ®ª®
|
||||||
@ -349,7 +348,7 @@ PutDialWn:
|
|||||||
LD IX,DialData
|
LD IX,DialData
|
||||||
IN A,(Page3)
|
IN A,(Page3)
|
||||||
PUSH AF
|
PUSH AF
|
||||||
kk4: LD A,(Win2) ;Page buffer
|
kk4: LD A,(hPages.Win2) ;Page buffer
|
||||||
OUT (Page3),A
|
OUT (Page3),A
|
||||||
LD A,(HL) ;X position
|
LD A,(HL) ;X position
|
||||||
LD (IX+0),A ;Xpos
|
LD (IX+0),A ;Xpos
|
||||||
@ -829,7 +828,7 @@ BTexit: LD HL,what
|
|||||||
; <20> ¦ âì/®â¦ âì ¡ãâ®
|
; <20> ¦ âì/®â¦ âì ¡ãâ®
|
||||||
PushBut: IN A,(Page3)
|
PushBut: IN A,(Page3)
|
||||||
PUSH AF
|
PUSH AF
|
||||||
kk5: LD A,(Win2)
|
kk5: LD A,(hPages.Win2)
|
||||||
OUT (Page3),A
|
OUT (Page3),A
|
||||||
PUSH IX
|
PUSH IX
|
||||||
LD E,(IX+2) ;Xo
|
LD E,(IX+2) ;Xo
|
||||||
@ -1104,7 +1103,7 @@ SetDialInv:
|
|||||||
LD IX,DialData
|
LD IX,DialData
|
||||||
IN A,(Page3)
|
IN A,(Page3)
|
||||||
PUSH AF ;á®åà.page4
|
PUSH AF ;á®åà.page4
|
||||||
kk6: LD A,(Win2)
|
kk6: LD A,(hPages.Win2)
|
||||||
OUT (Page3),A ;¢ª«.¡ãä¥à
|
OUT (Page3),A ;¢ª«.¡ãä¥à
|
||||||
LD L,C
|
LD L,C
|
||||||
LD H,1
|
LD H,1
|
||||||
@ -1154,7 +1153,7 @@ ResDialInv:
|
|||||||
PUSH IX
|
PUSH IX
|
||||||
IN A,(Page3)
|
IN A,(Page3)
|
||||||
PUSH AF ;á®åà.page4
|
PUSH AF ;á®åà.page4
|
||||||
kk7: LD A,(Win2)
|
kk7: LD A,(hPages.Win2)
|
||||||
OUT (Page3),A ;¢ª«.¡ãä¥à
|
OUT (Page3),A ;¢ª«.¡ãä¥à
|
||||||
LD HL,(RDlIbuf+2)
|
LD HL,(RDlIbuf+2)
|
||||||
LD A,(RDlIlen+1)
|
LD A,(RDlIlen+1)
|
||||||
@ -1201,7 +1200,7 @@ ResClasInv:
|
|||||||
PUSH IX
|
PUSH IX
|
||||||
IN A,(Page3)
|
IN A,(Page3)
|
||||||
PUSH AF ;á®åà.page4
|
PUSH AF ;á®åà.page4
|
||||||
kk8: LD A,(Win2)
|
kk8: LD A,(hPages.Win2)
|
||||||
OUT (Page3),A ;¢ª«.¡ãä¥à
|
OUT (Page3),A ;¢ª«.¡ãä¥à
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD HL,(RClIbuf+2)
|
LD HL,(RClIbuf+2)
|
||||||
@ -1270,7 +1269,7 @@ pdln: LD A,E
|
|||||||
SUB E
|
SUB E
|
||||||
LD L,A
|
LD L,A
|
||||||
DI
|
DI
|
||||||
kk9: LD A,(Win2)
|
kk9: LD A,(hPages.Win2)
|
||||||
LD B,A
|
LD B,A
|
||||||
XOR A
|
XOR A
|
||||||
LD C,BIOS.WIN_RESTORE
|
LD C,BIOS.WIN_RESTORE
|
||||||
@ -1317,7 +1316,6 @@ ColLstBxHI: EQU 1Eh ; 梥
|
|||||||
ColScrlBar: EQU 0Fh ; 梥â áªà®««-¡ à
|
ColScrlBar: EQU 0Fh ; 梥â áªà®««-¡ à
|
||||||
ColInpLine: EQU 0Eh ; 梥â । ªâ. ¯®«ï ¬¥âª¨ ¤¨áª¥âë
|
ColInpLine: EQU 0Eh ; 梥â । ªâ. ¯®«ï ¬¥âª¨ ¤¨áª¥âë
|
||||||
|
|
||||||
ColDialWn: DB 17h ; 梥⠮ª
|
|
||||||
ColDialInv: EQU 0Fh ; color dialog window invert
|
ColDialInv: EQU 0Fh ; color dialog window invert
|
||||||
ColDialInv1: EQU 07h ; color dialog window invert
|
ColDialInv1: EQU 07h ; color dialog window invert
|
||||||
|
|
||||||
@ -1326,6 +1324,7 @@ ColFormNumber: EQU 3Eh ; 梥
|
|||||||
ColorFrame: EQU ColFormText ; 梥â à ¬ª¨ ®¡ê¥ªâ Frame
|
ColorFrame: EQU ColFormText ; 梥â à ¬ª¨ ®¡ê¥ªâ Frame
|
||||||
|
|
||||||
|
|
||||||
|
ColDialWn: DB 17h ; 梥⠮ª
|
||||||
|
|
||||||
FramDSl: DB "ɻȼͺºº" ; à ¬ª ®ª
|
FramDSl: DB "ɻȼͺºº" ; à ¬ª ®ª
|
||||||
|
|
||||||
@ -1345,7 +1344,7 @@ SavDial: PUSH IX
|
|||||||
EXX
|
EXX
|
||||||
DI
|
DI
|
||||||
LD IX,WinBoxBuff ;Address Box buffers
|
LD IX,WinBoxBuff ;Address Box buffers
|
||||||
kk1: LD A,(Win2) ;Page buffer
|
kk1: LD A,(hPages.Win2) ;Page buffer
|
||||||
LD B,A
|
LD B,A
|
||||||
XOR A
|
XOR A
|
||||||
LD C,BIOS.WIN_COPY ; ª®¯¨à. ¨§ ®ª ¢ ¡ãä¥à
|
LD C,BIOS.WIN_COPY ; ª®¯¨à. ¨§ ®ª ¢ ¡ãä¥à
|
||||||
|
|||||||
17
ESTEX.ASM
17
ESTEX.ASM
@ -37,7 +37,7 @@ CopySysFiles: xor a
|
|||||||
; ¯à®ç¨â âì ä ©«
|
; ¯à®ç¨â âì ä ©«
|
||||||
in a,(Page3)
|
in a,(Page3)
|
||||||
push af
|
push af
|
||||||
ld a,(SBuff0)
|
ld a,(hPages.SBuff0)
|
||||||
out (Page3),a ; ¯®¤ª«. ¡ãä¥à
|
out (Page3),a ; ¯®¤ª«. ¡ãä¥à
|
||||||
ld a,(hFile1)
|
ld a,(hFile1)
|
||||||
call ReadFile
|
call ReadFile
|
||||||
@ -91,7 +91,7 @@ tinRead: ld (Number2),ix ;
|
|||||||
; ¯à®ç¨â âì ä ©«
|
; ¯à®ç¨â âì ä ©«
|
||||||
in a,(Page3)
|
in a,(Page3)
|
||||||
push af
|
push af
|
||||||
ld a,(SBuff1)
|
ld a,(hPages.SBuff1)
|
||||||
out (Page3),a ; ¯®¤ª«. 1-î áâà ¨æã
|
out (Page3),a ; ¯®¤ª«. 1-î áâà ¨æã
|
||||||
ld a,(hFile2)
|
ld a,(hFile2)
|
||||||
call ReadFile
|
call ReadFile
|
||||||
@ -101,7 +101,7 @@ tinRead: ld (Number2),ix ;
|
|||||||
jr z,endRead ; ¯à®ç¨â ¢¥áì ä ©«
|
jr z,endRead ; ¯à®ç¨â ¢¥áì ä ©«
|
||||||
; ç¨â ¥¬ ®áâ ⮪ ä ©«
|
; ç¨â ¥¬ ®áâ ⮪ ä ©«
|
||||||
ost: ld de,0
|
ost: ld de,0
|
||||||
ld a,(SBuff2)
|
ld a,(hPages.SBuff2)
|
||||||
out (Page3),a ; ¯®¤ª«. 2-î áâà ¨æã
|
out (Page3),a ; ¯®¤ª«. 2-î áâà ¨æã
|
||||||
ld hl,WinBoxBuff ; ¡ãä¥à ¯®¤ ¤ ë¥
|
ld hl,WinBoxBuff ; ¡ãä¥à ¯®¤ ¤ ë¥
|
||||||
ld a,(hFile2)
|
ld a,(hFile2)
|
||||||
@ -154,7 +154,7 @@ WriteSysFiles: ld a,(sFlag)
|
|||||||
; § ¯¨á âì ä ©«
|
; § ¯¨á âì ä ©«
|
||||||
in a,(Page3)
|
in a,(Page3)
|
||||||
push af
|
push af
|
||||||
ld a,(SBuff0)
|
ld a,(hPages.SBuff0)
|
||||||
out (Page3),a ; ¯®¤ª«. ¡ãä¥à
|
out (Page3),a ; ¯®¤ª«. ¡ãä¥à
|
||||||
ld de,(Number1) ; ç¨á«® § ¯¨á. ¡ ©â
|
ld de,(Number1) ; ç¨á«® § ¯¨á. ¡ ©â
|
||||||
ld a,(hFile1) ; åí¤«
|
ld a,(hFile1) ; åí¤«
|
||||||
@ -177,7 +177,7 @@ WriteSysFiles: ld a,(sFlag)
|
|||||||
; § ¯¨á âì ä ©«
|
; § ¯¨á âì ä ©«
|
||||||
in a,(Page3)
|
in a,(Page3)
|
||||||
push af
|
push af
|
||||||
ld a,(SBuff1)
|
ld a,(hPages.SBuff1)
|
||||||
out (Page3),a ; ¯®¤ª«. 1-î áâà ¨æã
|
out (Page3),a ; ¯®¤ª«. 1-î áâà ¨æã
|
||||||
ld de,(Number2) ; à §¬¥à "system.dos"
|
ld de,(Number2) ; à §¬¥à "system.dos"
|
||||||
ld hl,4000h ; 1- áâà ¨æ
|
ld hl,4000h ; 1- áâà ¨æ
|
||||||
@ -191,7 +191,7 @@ WriteSysFiles: ld a,(sFlag)
|
|||||||
call WriteFile
|
call WriteFile
|
||||||
pop de
|
pop de
|
||||||
jr c,err1 ; ®è¨¡ª § ¯¨á¨ ä ©«
|
jr c,err1 ; ®è¨¡ª § ¯¨á¨ ä ©«
|
||||||
ld a,(SBuff2)
|
ld a,(hPages.SBuff2)
|
||||||
out (Page3),a ; ¯®¤ª«. 2-î áâà ¨æã
|
out (Page3),a ; ¯®¤ª«. 2-î áâà ¨æã
|
||||||
;
|
;
|
||||||
tinFile: ld a,(hFile2) ; åí¤«
|
tinFile: ld a,(hFile2) ; åí¤«
|
||||||
@ -323,7 +323,7 @@ RootDir: db '\',0 ;
|
|||||||
;
|
;
|
||||||
CurPath:
|
CurPath:
|
||||||
CurDisk: db 0,':\' ; á®åà. ⥪. ¤¨áª
|
CurDisk: db 0,':\' ; á®åà. ⥪. ¤¨áª
|
||||||
CurDir: ds 256 ; á®åà. ⥪ã騩 ¯ãâì (ª â «®£)
|
|
||||||
;
|
;
|
||||||
TmpColor: db 0 ; ¢à¥¬. á®åà. 梥⠮ª
|
TmpColor: db 0 ; ¢à¥¬. á®åà. 梥⠮ª
|
||||||
|
|
||||||
@ -331,7 +331,6 @@ TmpColor: db 0 ;
|
|||||||
IniName: db "FFORMAT.INI",0
|
IniName: db "FFORMAT.INI",0
|
||||||
hFile3: db 0 ; ¤¥áªà¨¯â®à ä ©«
|
hFile3: db 0 ; ¤¥áªà¨¯â®à ä ©«
|
||||||
;Number3:dw 0 ; à §¬¥à ä ©« "fformat.ini"
|
;Number3:dw 0 ; à §¬¥à ä ©« "fformat.ini"
|
||||||
BuffName: ds 45 ; ¡ãä¥à ¤«ï äãªæ¨¨ ¯®¨áª ä ©«
|
|
||||||
|
|
||||||
TrdName: db "BOOT.$B",0 ; ¨¬ï trd-boot ä ©«
|
TrdName: db "BOOT.$B",0 ; ¨¬ï trd-boot ä ©«
|
||||||
hFile4: db 0 ; ¤¥áªà¨¯â®à ä ©«
|
hFile4: db 0 ; ¤¥áªà¨¯â®à ä ©«
|
||||||
@ -570,7 +569,7 @@ CopyBootTRD: xor a
|
|||||||
; ¯à®ç¨â âì ä ©«
|
; ¯à®ç¨â âì ä ©«
|
||||||
in a,(Page3)
|
in a,(Page3)
|
||||||
push af
|
push af
|
||||||
ld a,(TRBoot)
|
ld a,(hPages.TRBoot)
|
||||||
out (Page3),a ; ¯®¤ª«. ¡ãä¥à
|
out (Page3),a ; ¯®¤ª«. ¡ãä¥à
|
||||||
; ç¨â ¥¬ § £®«®¢®ª ¡ãâ
|
; ç¨â ¥¬ § £®«®¢®ª ¡ãâ
|
||||||
ld hl,NameBt ; ¡ãä¥à ¯®¤ ¤ ë¥
|
ld hl,NameBt ; ¡ãä¥à ¯®¤ ¤ ë¥
|
||||||
|
|||||||
22
EXIT.ASM
22
EXIT.ASM
@ -26,24 +26,20 @@ sys_cursor_coords+1:
|
|||||||
ld bc,3135h
|
ld bc,3135h
|
||||||
rst 0x10
|
rst 0x10
|
||||||
; ®á¢®¡. ¢ë¤¥«¥ë© ¡«®ª ¯ ¬ïâ¨
|
; ®á¢®¡. ¢ë¤¥«¥ë© ¡«®ª ¯ ¬ïâ¨
|
||||||
ld a,(hBlock)
|
; ld a,(hBlock)
|
||||||
ld c,3Eh
|
; ld c,3Eh
|
||||||
rst 0x10
|
; rst 0x10
|
||||||
jr nc,quit
|
; jr nc,quit
|
||||||
ld hl,NoFree
|
; ld hl,NoFree
|
||||||
call Print
|
; call Print
|
||||||
ld b,-1 ; ª®¤ ®è¨¡ª¨
|
; ld b,-1 ; ª®¤ ®è¨¡ª¨
|
||||||
jr quit1
|
; jr quit1
|
||||||
quit: ld b,0
|
quit: ld b,0
|
||||||
quit1: ld c,41h ; ¢ë©â¨ ¢ Estex
|
quit1: ld c,41h ; ¢ë©â¨ ¢ Estex
|
||||||
rst 0x10
|
rst 0x10
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
NoFree: db "Error free block memory !",0Dh,0Ah,0
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ‚뢮¤ áâப¨ íªà
|
; ‚뢮¤ áâப¨ íªà
|
||||||
Print: ld c,5Ch
|
Print: ld c,5Ch
|
||||||
@ -62,7 +58,7 @@ _skrn: di
|
|||||||
ld ix,WinBoxBuff ; Address Box buffers
|
ld ix,WinBoxBuff ; Address Box buffers
|
||||||
ld hl,2050h ; Y/X à §¬¥à ®ª
|
ld hl,2050h ; Y/X à §¬¥à ®ª
|
||||||
ld de,0000h ; Y/X ¯®«®¦. ®ª
|
ld de,0000h ; Y/X ¯®«®¦. ®ª
|
||||||
ld a,(Win1) ; Page buffer
|
ld a,(hPages.Win1) ; Page buffer
|
||||||
ld b,a
|
ld b,a
|
||||||
xor a
|
xor a
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
|
|||||||
118
FMAIN.ASM
118
FMAIN.ASM
@ -29,7 +29,7 @@ WinBoxBuff equ 0xC000 ;
|
|||||||
|
|
||||||
db 'EX' ; exe ID
|
db 'EX' ; exe ID
|
||||||
db 'E' ; exe ⨯
|
db 'E' ; exe ⨯
|
||||||
db 0 ; exe ¢¥àá¨ï
|
db 1 ; exe ¢¥àá¨ï
|
||||||
dw 512 ; ¬«. ᬥé. ª®¤
|
dw 512 ; ¬«. ᬥé. ª®¤
|
||||||
dw 0 ; áâ. ᬥé. ª®¤
|
dw 0 ; áâ. ᬥé. ª®¤
|
||||||
dw 0 ; end-beg, ¯¥à¢¨çë© § £àã§ç¨ª
|
dw 0 ; end-beg, ¯¥à¢¨çë© § £àã§ç¨ª
|
||||||
@ -49,17 +49,17 @@ Start: ld sp,Stack
|
|||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
; áà ¢¨âì ¨á¯. ®¬¥à ¯®à⮢ áâà ¨æ á ®¬¥à ¬¨ ¯®à⮢ <20>¨®á
|
; áà ¢¨âì ¨á¯. ®¬¥à ¯®à⮢ áâà ¨æ á ®¬¥à ¬¨ ¯®à⮢ <20>¨®á
|
||||||
;call compare_page
|
;call compare_page
|
||||||
; ¢ë¤¥«ï¥¬ ¡«®ª ¢ 8 áâà ¨æ
|
; ¢ë¤¥«ï¥¬ ¡«®ª ¢ hPages.Size áâà ¨æ
|
||||||
ld bc,8*256 + Dss.GetMem ;!HARDCODE
|
ld bc,hPages.Size*256 + Dss.GetMem
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
jr c,err_mem ; ¥â ¯ ¬ïâ¨
|
jr c,err_mem ; ¥â ¯ ¬ïâ¨
|
||||||
ld (hBlock),a ; åí¤« ¡«®ª
|
;ld (hBlock),a ; åí¤« ¡«®ª
|
||||||
; á®§¤ âì ᯨ᮪ ¢ë¤¥«. áâà ¨æ
|
; á®§¤ âì ᯨ᮪ ¢ë¤¥«. áâà ¨æ
|
||||||
ld hl,hPages
|
ld hl,hPages
|
||||||
ld c,0C5h
|
ld c,0C5h
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
; ¢ª«. à ¡®çãî áâà ¨æã ¢ Page3 (¨á¯. ¤«ï ¡ãä¥à á¨áâ. ®¡« á⨠¤¨áª¥âë)
|
; ¢ª«. à ¡®çãî áâà ¨æã ¢ Page3 (¨á¯. ¤«ï ¡ãä¥à á¨áâ. ®¡« á⨠¤¨áª¥âë)
|
||||||
ld a,(BuffSys)
|
ld a,(hPages.BuffSys2)
|
||||||
out (Page3),a
|
out (Page3),a
|
||||||
; ®ç¨áâ¨âì ¡ãä¥à ª« ¢ë
|
; ®ç¨áâ¨âì ¡ãä¥à ª« ¢ë
|
||||||
ld bc,Dss.ScanKey*256 + Dss.K_CLEAR
|
ld bc,Dss.ScanKey*256 + Dss.K_CLEAR
|
||||||
@ -96,22 +96,6 @@ err_mem: ld hl,NoMem
|
|||||||
NoMem: db "Not enough memory !",0Dh,0Ah,0
|
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> ç «® ¯à®£à ¬¬ë =========================[]
|
;[]=================== <20> ç «® ¯à®£à ¬¬ë =========================[]
|
||||||
|
|
||||||
@ -132,47 +116,60 @@ Begin: ;
|
|||||||
RST ToDSS
|
RST ToDSS
|
||||||
continue: call ReadInit ; ç⥨¥ "fformat.ini" ¨ áâனª
|
continue: call ReadInit ; ç⥨¥ "fformat.ini" ¨ áâனª
|
||||||
call CopyBootTRD ; ᪮¯¨à. ¡ãâ ¨§ "boot.$b" (¥á«¨ ¥áâì)
|
call CopyBootTRD ; ᪮¯¨à. ¡ãâ ¨§ "boot.$b" (¥á«¨ ¥áâì)
|
||||||
|
|
||||||
call CopySysFiles ; ᪮¯¨à. á¨áâ. ä ©«ë ¢ ¡ãä¥àë
|
call CopySysFiles ; ᪮¯¨à. á¨áâ. ä ©«ë ¢ ¡ãä¥àë
|
||||||
|
;[]==============================================================[]
|
||||||
|
|
||||||
|
|
||||||
include "dialog.asm"
|
include "dialog.asm"
|
||||||
include "listbox.asm"
|
include "listbox.asm"
|
||||||
include "radio.asm"
|
include "radio.asm"
|
||||||
include "mouse.asm"
|
include "mouse.asm"
|
||||||
include "map.asm"
|
include "map.asm"
|
||||||
|
include "exit.asm"
|
||||||
|
include "estex.asm"
|
||||||
|
include "format.asm"
|
||||||
|
;[]==============================================================[]
|
||||||
|
|
||||||
|
|
||||||
|
;[]==============================================================[]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
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-2025 "
|
||||||
|
;
|
||||||
|
;ds 562 ; 565 + start2 = 672 (_2 -_1)
|
||||||
|
;[]==============================================================[]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; ¢¥ªâ®à ¤«ï ®â®¡à ¦¥¨ï ªãàá®à
|
;[]==============================================================[]
|
||||||
; rst38: di
|
;hBlock: db 0 ; åí¤« ¢ë¤¥«. ¡«®ª
|
||||||
; push iy
|
hPages:
|
||||||
; push ix
|
.BuffSys2: db #FF ; åí¤« à ¡®ç¥© áâà ¨æë (+¤«ï á¨áâ. ®¡« áâ¨)
|
||||||
; push hl
|
.BuffTrk: db #FF ; åí¤« áâà. ¡ãä¥à áâàãªâãàë ¤®à®¦ª¨ (¨ "system.exe")
|
||||||
; push de
|
.Win1: db #FF ; åí¤« áâà. á®åà. íªà
|
||||||
; push bc
|
.Win2: db #FF ; åí¤« áâà. á®åà. £«. ®ª® ä®à¬ ⨫ª¨
|
||||||
; push af
|
.TRBoot: db #FF ; åí¤« ¡ãä¥à § £àã§ç¨ª TR-DOS
|
||||||
; ld a,(CurILFl)
|
.SBuff0: db #FF ; åí¤« ¡ãä¥à "system.exe"
|
||||||
; or a
|
.SBuff1: db #FF ; åí¤«ë ¡ãä¥à ¯®¤
|
||||||
; call nz,PrnILCr
|
.SBuff2: db #FF ; ä ©« "system.dos"
|
||||||
; pop af
|
.Size equ $-hPages
|
||||||
; pop bc
|
db 0xFF ; á⮯-¡ ©â ᯨáª
|
||||||
; pop de
|
|
||||||
; pop hl
|
|
||||||
; pop ix
|
|
||||||
; pop iy
|
|
||||||
; vect+1: jp 0x0000 ; ¤à¥á á¨áâ. ¢¥ªâ®à
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
; ¡ãä¥à ¤«ï äãªæ¨¨ ¯®¨áª ä ©«
|
||||||
|
BuffName: ds 45
|
||||||
|
; á®åà. ⥪ã騩 ¯ãâì (ª â «®£)
|
||||||
|
CurDir: ds 256
|
||||||
|
|
||||||
; <20> ¡®ç¨© ¡ãä¥à Input Line
|
; <20> ¡®ç¨© ¡ãä¥à Input Line
|
||||||
CompBuff: ds 16
|
CompBuff: ds 16
|
||||||
|
|
||||||
_1:
|
; _1:
|
||||||
DialData: ds 16
|
DialData: ds 16
|
||||||
|
|
||||||
; <20>ãä¥à § £®«®¢ª ¢ë¢®¤. ®ª
|
; <20>ãä¥à § £®«®¢ª ¢ë¢®¤. ®ª
|
||||||
@ -182,28 +179,23 @@ DialTab: ds 128
|
|||||||
|
|
||||||
; <20>ãä¥à ¯®¤ ®¡ê¥ªâë
|
; <20>ãä¥à ¯®¤ ®¡ê¥ªâë
|
||||||
ReCompBuff: ds 512
|
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-2025 "
|
|
||||||
;
|
|
||||||
ds 562 ; 565 + start2 = 672 (_2 -_1)
|
|
||||||
|
|
||||||
|
|
||||||
|
;[]==============================================================[]
|
||||||
include "exit.asm"
|
|
||||||
include "estex.asm"
|
|
||||||
include "form.asm"
|
|
||||||
|
|
||||||
ds 80
|
ds 80
|
||||||
Stack: db 0 ; ¡ãä¥à ¯®¤ á⥪ ¯à®£à ¬¬ë
|
Stack: db 0 ; ¡ãä¥à ¯®¤ á⥪ ¯à®£à ¬¬ë
|
||||||
|
;[]==============================================================[]
|
||||||
ES_Boot: incbin "estex.bs" ; § £àã§ç¨ª Estex
|
|
||||||
|
|
||||||
|
|
||||||
|
;[]==============================================================[]
|
||||||
|
ES_BPB equ $
|
||||||
|
ES_Boot equ ES_BPB + 512
|
||||||
|
; incbin "estex.bs" ; § £àã§ç¨ª Estex
|
||||||
|
;[]==============================================================[]
|
||||||
|
|
||||||
|
|
||||||
|
;[]==============================================================[]
|
||||||
; <20>ãä¥à á¨á⥬®© ®¡« á⨠¤¨áª¥âë
|
; <20>ãä¥à á¨á⥬®© ®¡« á⨠¤¨áª¥âë
|
||||||
L2400:
|
L2400 equ ES_BPB+512*4 ;!HARDCODE 4 - bootloader size
|
||||||
|
;[]==============================================================[]
|
||||||
@ -96,6 +96,7 @@ FFORM1: call ClearMap ;
|
|||||||
ld a,(_OS)
|
ld a,(_OS)
|
||||||
or a
|
or a
|
||||||
jp nz,okno1 ; ¯à¨ tr-dos, cp/m-80
|
jp nz,okno1 ; ¯à¨ tr-dos, cp/m-80
|
||||||
|
;
|
||||||
ld a,(cSystem) ; ä« £ ª®¯¨à. á¨á⥬ëå ä ©«®¢
|
ld a,(cSystem) ; ä« £ ª®¯¨à. á¨á⥬ëå ä ©«®¢
|
||||||
or a
|
or a
|
||||||
call nz,WriteSysFiles ; § ¯¨áì á¨áâ. ä ©«®¢ ¤¨áª¥âã
|
call nz,WriteSysFiles ; § ¯¨áì á¨áâ. ä ©«®¢ ¤¨áª¥âã
|
||||||
@ -354,7 +355,9 @@ L09D9: ld a,(density)
|
|||||||
;jp _cpm80
|
;jp _cpm80
|
||||||
; Š®¯¨àã¥â 2-î FAT ¨ § ¯¨áë¢ ¥â á¨áâ. ®¡« áâì ¤¨áª¥âë,
|
; Š®¯¨àã¥â 2-î FAT ¨ § ¯¨áë¢ ¥â á¨áâ. ®¡« áâì ¤¨áª¥âë,
|
||||||
; ¯à¨ ¢ª«. ®¯æ¨¨ ª®¯¨àã¥â § £àã§ç¨ª Estex ¢ ᥪâ®àë 2..4.
|
; ¯à¨ ¢ª«. ®¯æ¨¨ ª®¯¨àã¥â § £àã§ç¨ª Estex ¢ ᥪâ®àë 2..4.
|
||||||
_msdos: ld a,(media5) ; ç¨á«® ᥪâ®à®¢ FAT
|
|
||||||
|
|
||||||
|
_msdos: ld a,(MS_Boot.media5) ; ç¨á«® ᥪâ®à®¢ FAT
|
||||||
ld e,a
|
ld e,a
|
||||||
ld hl,0
|
ld hl,0
|
||||||
ld bc,512
|
ld bc,512
|
||||||
@ -372,6 +375,8 @@ _msdos: ld a,(media5) ;
|
|||||||
add hl,de
|
add hl,de
|
||||||
ex de,hl
|
ex de,hl
|
||||||
ldir
|
ldir
|
||||||
|
;
|
||||||
|
; bpb boot loader
|
||||||
ld a,(cSystem) ; ä« £ á®§¤ ¨ï á¨áâ. ¤¨áª¥âë
|
ld a,(cSystem) ; ä« £ á®§¤ ¨ï á¨áâ. ¤¨áª¥âë
|
||||||
or a
|
or a
|
||||||
jr z,.loc2
|
jr z,.loc2
|
||||||
@ -381,12 +386,13 @@ _msdos: ld a,(media5) ;
|
|||||||
ld bc,1536 ; 512*3 ᥪâ. = à §¬¥à § £àã§ç¨ª
|
ld bc,1536 ; 512*3 ᥪâ. = à §¬¥à § £àã§ç¨ª
|
||||||
ldir
|
ldir
|
||||||
; ᪮à४â. BPB ¢ ¡ãä¥à¥
|
; ᪮à४â. BPB ¢ ¡ãä¥à¥
|
||||||
ld a,(media5)
|
ld a,(MS_Boot.media5)
|
||||||
inc a
|
inc a
|
||||||
ld (L2400+14),a
|
ld (L2400+14),a
|
||||||
ld a,1 ; ç¨á«® ª®¯¨© FAT
|
ld a,1 ; ç¨á«® ª®¯¨© FAT
|
||||||
ld (L2400+16),a ; ᬥé. ç¨á«® ª®¯¨©
|
ld (L2400+16),a ; ᬥé. ç¨á«® ª®¯¨©
|
||||||
;
|
;
|
||||||
|
;
|
||||||
.loc2: call L07AF ; ®¦¨¤ ¨¥ £®â®¢®á⨠£¬¤
|
.loc2: call L07AF ; ®¦¨¤ ¨¥ £®â®¢®á⨠£¬¤
|
||||||
; § ¯¨áì 0-© áâ®à®ë
|
; § ¯¨áì 0-© áâ®à®ë
|
||||||
ld a,1
|
ld a,1
|
||||||
@ -411,6 +417,13 @@ L08F6: call L0906 ;
|
|||||||
ld (sect),a
|
ld (sect),a
|
||||||
loc03: cp 18+1 ; § ¯à¥¤. ᥪâ®à ?
|
loc03: cp 18+1 ; § ¯à¥¤. ᥪâ®à ?
|
||||||
jr nz,L08F6
|
jr nz,L08F6
|
||||||
|
; § ¯¨áì § £àã§ç¨ª ç¥à¥§ sys
|
||||||
|
ld a,(cSystem) ; ä« £ á®§¤ ¨ï á¨áâ. ¤¨áª¥âë
|
||||||
|
or a
|
||||||
|
ret z
|
||||||
|
;
|
||||||
|
|
||||||
|
;
|
||||||
ret
|
ret
|
||||||
|
|
||||||
; ‡ ¯¨áì á¨áâ. ®¡« á⨠TR-DOS.
|
; ‡ ¯¨áì á¨áâ. ®¡« á⨠TR-DOS.
|
||||||
@ -506,7 +519,7 @@ _trdos: xor a ;
|
|||||||
copy1: exx
|
copy1: exx
|
||||||
in a,(Page1)
|
in a,(Page1)
|
||||||
ex af,af'
|
ex af,af'
|
||||||
ld a,(TRBoot)
|
ld a,(hPages.TRBoot)
|
||||||
out (Page1),a ; ¯®¤ª«. ¡ãä¥à
|
out (Page1),a ; ¯®¤ª«. ¡ãä¥à
|
||||||
ld hl,4000h ; ç «® Page1
|
ld hl,4000h ; ç «® Page1
|
||||||
ld de,L2400+1000h
|
ld de,L2400+1000h
|
||||||
@ -575,7 +588,7 @@ A0875: push de
|
|||||||
; ‡ ¯¨áì ¤®à®¦ª¨
|
; ‡ ¯¨áì ¤®à®¦ª¨
|
||||||
L091B: in a,(Page3)
|
L091B: in a,(Page3)
|
||||||
push af
|
push af
|
||||||
ld a,(BuffTrk)
|
ld a,(hPages.BuffTrk)
|
||||||
out (Page3),a ; ¯®¤ª«. ¡ãä¥à áâàãªâãàë ¤®à®¦ª¨
|
out (Page3),a ; ¯®¤ª«. ¡ãä¥à áâàãªâãàë ¤®à®¦ª¨
|
||||||
ld hl,L4000 ; ç «® ¤ ëå
|
ld hl,L4000 ; ç «® ¤ ëå
|
||||||
ld (L0AC8),hl
|
ld (L0AC8),hl
|
||||||
@ -728,7 +741,7 @@ _done2: xor a
|
|||||||
;[]==============================================================[]
|
;[]==============================================================[]
|
||||||
|
|
||||||
; ¢ëç¨á«¨âì ï祩ªã bad-ᥪâ®à ¢ FAT-¥
|
; ¢ëç¨á«¨âì ï祩ªã bad-ᥪâ®à ¢ FAT-¥
|
||||||
L0ACF: ld hl,(media6) ; ᥪâ®à®¢ áâ®à®ã
|
L0ACF: ld hl,(MS_Boot.media6) ; ᥪâ®à®¢ áâ®à®ã
|
||||||
add hl,hl ; *2 (ᥪâ®à®¢ ¢áî ¤®à®¦ªã)
|
add hl,hl ; *2 (ᥪâ®à®¢ ¢áî ¤®à®¦ªã)
|
||||||
ex de,hl
|
ex de,hl
|
||||||
ld hl,0
|
ld hl,0
|
||||||
@ -739,7 +752,7 @@ L0AD8: add hl,de
|
|||||||
ld a,(side) ; ⥪. áâ®à®
|
ld a,(side) ; ⥪. áâ®à®
|
||||||
or a
|
or a
|
||||||
jr z,L0AE8
|
jr z,L0AE8
|
||||||
ld de,(media6) ; ᥪâ®à®¢ áâ®à®ã
|
ld de,(MS_Boot.media6) ; ᥪâ®à®¢ áâ®à®ã
|
||||||
add hl,de
|
add hl,de
|
||||||
L0AE8: ld a,(sect) ; ⥪. ᥪâ®à
|
L0AE8: ld a,(sect) ; ⥪. ᥪâ®à
|
||||||
ld e,a
|
ld e,a
|
||||||
@ -757,7 +770,7 @@ L0AE8: ld a,(sect) ; ⥪. ᥪ
|
|||||||
ld a,l
|
ld a,l
|
||||||
rra
|
rra
|
||||||
ld l,a
|
ld l,a
|
||||||
ld a,(media1) ; ᥪâ®à®¢ ª« áâ¥à
|
ld a,(MS_Boot.media1) ; ᥪâ®à®¢ ª« áâ¥à
|
||||||
ld e,a
|
ld e,a
|
||||||
ld d,0
|
ld d,0
|
||||||
add hl,de
|
add hl,de
|
||||||
@ -808,7 +821,7 @@ L0A2C: push hl
|
|||||||
; ᥪâ®à®¢ +2 («ãç訩 ¢ ਠâ).
|
; ᥪâ®à®¢ +2 («ãç訩 ¢ ਠâ).
|
||||||
;
|
;
|
||||||
add_offset:
|
add_offset:
|
||||||
ld hl,(media6) ; ç¨á«® ᥪâ®à®¢ ¢ ⥪. ä®à¬ â¥
|
ld hl,(MS_Boot.media6) ; ç¨á«® ᥪâ®à®¢ ¢ ⥪. ä®à¬ â¥
|
||||||
ld a,(_OS) ; ⨯ Ž‘-¨
|
ld a,(_OS) ; ⨯ Ž‘-¨
|
||||||
or a
|
or a
|
||||||
jr z,.loc0 ; ms-dos
|
jr z,.loc0 ; ms-dos
|
||||||
@ -923,7 +936,7 @@ GAP3 dw 108 ;
|
|||||||
; <20>®¤£®â®¢¨âì § £®«®¢ª¨ ᥪâ®à®¢ ¤®à®¦ª¨ (®¤®© áâ®à®ë)
|
; <20>®¤£®â®¢¨âì § £®«®¢ª¨ ᥪâ®à®¢ ¤®à®¦ª¨ (®¤®© áâ®à®ë)
|
||||||
L0BAA: in a,(Page3)
|
L0BAA: in a,(Page3)
|
||||||
push af
|
push af
|
||||||
ld a,(BuffTrk)
|
ld a,(hPages.BuffTrk)
|
||||||
out (Page3),a ; ¯®¤ª«. ¡ãä¥à ¤®à®¦ª¨
|
out (Page3),a ; ¯®¤ª«. ¡ãä¥à ¤®à®¦ª¨
|
||||||
xor a
|
xor a
|
||||||
ld (L0BA9),a ; ®¡ã«¨âì áç¥â稪 ᥪâ®à®¢
|
ld (L0BA9),a ; ®¡ã«¨âì áç¥â稪 ᥪâ®à®¢
|
||||||
@ -978,7 +991,7 @@ loc05: cp 18 ;
|
|||||||
; <20>ãä¥à: 0xC000..0xFFFF
|
; <20>ãä¥à: 0xC000..0xFFFF
|
||||||
L0B21: in a,(Page3)
|
L0B21: in a,(Page3)
|
||||||
push af
|
push af
|
||||||
ld a,(BuffTrk)
|
ld a,(hPages.BuffTrk)
|
||||||
out (Page3),a ; ¯®¤ª«. ¡ãä¥à ¤®à®¦ª¨
|
out (Page3),a ; ¯®¤ª«. ¡ãä¥à ¤®à®¦ª¨
|
||||||
call CLEAR ; § ¯®«¨âì ¡ãä¥à ª®¤®¬ 0x4E
|
call CLEAR ; § ¯®«¨âì ¡ãä¥à ª®¤®¬ 0x4E
|
||||||
ld hl,L4000 ; ç «® ¡ãä¥à ¤ ëå ¤®à®¦ª¨
|
ld hl,L4000 ; ç «® ¡ãä¥à ¤ ëå ¤®à®¦ª¨
|
||||||
@ -1090,7 +1103,7 @@ L09A8: ld de,L2400 ;
|
|||||||
loc07: ld bc,16896 ; 6656/16896 ¤«¨ FAT-®¢ + Root dir
|
loc07: ld bc,16896 ; 6656/16896 ¤«¨ FAT-®¢ + Root dir
|
||||||
ld e,0 ; ¡ ©â § ¯®«¥¨ï
|
ld e,0 ; ¡ ©â § ¯®«¥¨ï
|
||||||
call L0994 ; ¯¥à¥ª çª ¥ -> (hl)
|
call L0994 ; ¯¥à¥ª çª ¥ -> (hl)
|
||||||
ld a,(media4) ; ¡ ©â-®¯¨á ⥫ì ä®à¬ â ¤¨áª
|
ld a,(MS_Boot.media4) ; ¡ ©â-®¯¨á ⥫ì ä®à¬ â ¤¨áª
|
||||||
ld hl,L2400+512
|
ld hl,L2400+512
|
||||||
ld (hl),a ; § ¥á⨠¯¥à¢ë¬ ¡ ©â®¬ ¢ FAT
|
ld (hl),a ; § ¥á⨠¯¥à¢ë¬ ¡ ©â®¬ ¢ FAT
|
||||||
inc hl
|
inc hl
|
||||||
@ -1118,7 +1131,7 @@ frm1: ld a,18 ;
|
|||||||
ld (loc05+1),a
|
ld (loc05+1),a
|
||||||
ld (loc08+1),a
|
ld (loc08+1),a
|
||||||
SSect: ld hl,18 ; ᥪâ®à®¢ áâ®à®ã
|
SSect: ld hl,18 ; ᥪâ®à®¢ áâ®à®ã
|
||||||
ld (media6),hl ;;
|
ld (MS_Boot.media6),hl
|
||||||
inc a ; § ¯à¥¤. ᥪâ®à
|
inc a ; § ¯à¥¤. ᥪâ®à
|
||||||
ld (loc02+1),a
|
ld (loc02+1),a
|
||||||
ld (loc03+1),a
|
ld (loc03+1),a
|
||||||
@ -1126,17 +1139,17 @@ SSect: ld hl,18 ; ᥪ
|
|||||||
frm2: ld a,34 ; ¯®á«. á«ã¦. ᥪâ®à ¤¨áª¥âë
|
frm2: ld a,34 ; ¯®á«. á«ã¦. ᥪâ®à ¤¨áª¥âë
|
||||||
ld (LastSect),a
|
ld (LastSect),a
|
||||||
frm3: ld a,1 ; ᥪâ®à®¢ ª« áâ¥à
|
frm3: ld a,1 ; ᥪâ®à®¢ ª« áâ¥à
|
||||||
ld (media1),a
|
ld (MS_Boot.media1),a
|
||||||
frm4: ld a,0xF0 ; ¡ ©â ä®à¬ â
|
frm4: ld a,0xF0 ; ¡ ©â ä®à¬ â
|
||||||
ld (media4),a
|
ld (MS_Boot.media4),a
|
||||||
frm5: ld hl,16896 ; à §¬¥à FAT-®¢ + Root dir
|
frm5: ld hl,16896 ; à §¬¥à FAT-®¢ + Root dir
|
||||||
ld (loc07+1),hl
|
ld (loc07+1),hl
|
||||||
frm6: ld hl,224 ; § ¯¨á¥© ¢ ª®à¥
|
frm6: ld hl,224 ; § ¯¨á¥© ¢ ª®à¥
|
||||||
ld (media2),hl
|
ld (MS_Boot.media2),hl
|
||||||
ASect: ld hl,2880 ; ᥪâ®à®¢ ¤¨áª¥
|
ASect: ld hl,2880 ; ᥪâ®à®¢ ¤¨áª¥
|
||||||
ld (media3),hl ;;
|
ld (MS_Boot.media3),hl
|
||||||
FSect: ld hl,9 ; ᥪâ®à®¢ FAT
|
FSect: ld hl,9 ; ᥪâ®à®¢ FAT
|
||||||
ld (media5),hl ;;
|
ld (MS_Boot.media5),hl
|
||||||
ret
|
ret
|
||||||
;
|
;
|
||||||
noMSDOS:dec a
|
noMSDOS:dec a
|
||||||
@ -1254,7 +1267,7 @@ L0BFF: ld a,(density)
|
|||||||
call InitElapsedTime ; á®åà. ¨ á¡à®á¨âì ¢à¥¬ï
|
call InitElapsedTime ; á®åà. ¨ á¡à®á¨âì ¢à¥¬ï
|
||||||
call L07AF ; ®¦¨¤ ¨¥ £®â®¢®á⨠£¬¤
|
call L07AF ; ®¦¨¤ ¨¥ £®â®¢®á⨠£¬¤
|
||||||
; 横« ä®à¬ â. ¤®à®¦¥ª
|
; 横« ä®à¬ â. ¤®à®¦¥ª
|
||||||
L0C14: call L0BDA ; ä®à¬ â¨à®¢ ¨¥
|
L0C14: call FORMAT_TRK ; ä®à¬ â¨à®¢ ¨¥
|
||||||
ret c ; ä®à¬ â. ¯à¥à¢ ®
|
ret c ; ä®à¬ â. ¯à¥à¢ ®
|
||||||
ret nz ; ¥áâì ®è¨¡ª¨ ç⥨ï
|
ret nz ; ¥áâì ®è¨¡ª¨ ç⥨ï
|
||||||
; ¥â ®è¨¡®ª
|
; ¥â ®è¨¡®ª
|
||||||
@ -1271,10 +1284,10 @@ TRACKS: ld a,82
|
|||||||
|
|
||||||
|
|
||||||
; ”®à¬ â¨à. ®¤®© ¤®à®¦ª¨
|
; ”®à¬ â¨à. ®¤®© ¤®à®¦ª¨
|
||||||
L0BDA: xor a
|
FORMAT_TRK: xor a
|
||||||
ld (side),a ; ⥪. áâ®à®
|
ld (side),a ; ⥪. áâ®à®
|
||||||
ld (RetCode),a ; á¡à. ¢®§¢à. ª®¤
|
ld (RetCode),a ; á¡à. ¢®§¢à. ª®¤
|
||||||
L0BDE: ;ld a,2
|
.loop: ;ld a,2
|
||||||
;ld (L0C64),a ; ç¨á«® 3-å à §®¢ëå ¯®¯ë⮪
|
;ld (L0C64),a ; ç¨á«® 3-å à §®¢ëå ¯®¯ë⮪
|
||||||
call L0BAA ; ¨¨æ. § £®«®¢ª®¢ ᥪâ®à®¢ ¤®à®¦ª¨
|
call L0BAA ; ¨¨æ. § £®«®¢ª®¢ ᥪâ®à®¢ ¤®à®¦ª¨
|
||||||
call L0759 ; ãáâ. £®«®¢ªã ⥪. ¤®à®¦ªã
|
call L0759 ; ãáâ. £®«®¢ªã ⥪. ¤®à®¦ªã
|
||||||
@ -1292,7 +1305,7 @@ L0BDE: ;ld a,2
|
|||||||
inc (hl) ; ᬥ áâ®à®ë
|
inc (hl) ; ᬥ áâ®à®ë
|
||||||
ld a,(hl) ; ⥪. áâ®à®
|
ld a,(hl) ; ⥪. áâ®à®
|
||||||
cp 1+1 ; § ¯à¥¤¥«ì ï ?
|
cp 1+1 ; § ¯à¥¤¥«ì ï ?
|
||||||
jr nz,L0BDE
|
jr nz,.loop
|
||||||
xor a
|
xor a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@ -1483,41 +1496,38 @@ CalcTime:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;-------------------------------------------------+
|
;-------------------------------------------------+
|
||||||
; MS-DOS § £àã§ç¨ª ¤¨áª¥â (¨§ fformat), 512 ¡ ©â. |
|
; MS-DOS § £àã§ç¨ª ¤¨áª¥â (¨§ fformat), 512 ¡ ©â. |
|
||||||
; ä®à¬ â 1.44Mb. |
|
; ä®à¬ â 1.44Mb. |
|
||||||
; ¤«ï 720kB á¬. ¬¥âªã '#' |
|
; ¤«ï 720kB á¬. ¬¥âªã '#' |
|
||||||
;-------------------------------------------------+
|
;-------------------------------------------------+
|
||||||
MS_Boot:
|
MS_Boot:
|
||||||
db 0xEB,0x3C,0x90 ; 3 ¡ ©â , ª®¤ ¯¥à¥å®¤ § £àã§ç¨ª
|
.pc_code: db 0xEB,0x3C,0x90 ; 3 ¡ ©â , ª®¤ ¯¥à¥å®¤ § £àã§ç¨ª
|
||||||
db "DSS 1.60" ; 8 ¡ ©â, OEM ID
|
; 8 ¡ ©â, OEM ID
|
||||||
;BPB, 17 ¡ ©â
|
db "DSS "
|
||||||
BPB: dw 512 ; ¡ ©â ᥪâ®à
|
.dss_major_ver: db "1."
|
||||||
media1: db 1 ; # 2, ᥪâ®à®¢ ª« áâ¥à
|
.dss_minor_ver: db "71"
|
||||||
dw 1 ; § १¥à¢. ᥪâ®à®¢
|
;BPB, 17 ¡ ©â
|
||||||
db 2 ; ç¨á«® FAT-®¢
|
.BPB: dw 512 ; ¡ ©â ᥪâ®à
|
||||||
media2: dw 224 ; # 112, § ¯¨á¥© ¢ ª®à¥
|
.media1: db 1 ; # 2, ᥪâ®à®¢ ª« áâ¥à
|
||||||
media3: dw 2880 ; # 1440, ¢á¥å ᥪâ®à®¢ ¤¨áª¥
|
.reserved: dw 1 ; § १¥à¢. ᥪâ®à®¢
|
||||||
media4: db 0xF0 ; # 0xF9, ¡ ©â ä®à¬ â
|
.fat_num: db 2 ; ç¨á«® FAT-®¢
|
||||||
media5: dw 9 ; # 3, ᥪâ®à®¢ FAT
|
.media2: dw 224 ; # 112, § ¯¨á¥© ¢ ª®à¥
|
||||||
media6: dw 18 ; # 9, ᥪâ®à®¢ áâ®à®ã
|
.media3: dw 2880 ; # 1440, ¢á¥å ᥪâ®à®¢ ¤¨áª¥
|
||||||
|
.media4: db 0xF0 ; # 0xF9, ¡ ©â ä®à¬ â
|
||||||
|
.media5: dw 9 ; # 3, ᥪâ®à®¢ FAT
|
||||||
|
.media6: dw 18 ; # 9, ᥪâ®à®¢ áâ®à®ã
|
||||||
dw 2 ; ª®«-¢® áâ®à® ¤¨áª
|
dw 2 ; ª®«-¢® áâ®à® ¤¨áª
|
||||||
;extended boot-record
|
;extended boot-record
|
||||||
dw 0,0 ; áªàëâëå ᥪâ®à®¢
|
dw 0,0 ; áªàëâëå ᥪâ®à®¢
|
||||||
dw 0,0 ; ¢á¥å ᥪâ®à®¢ ¤¨áª¥
|
dw 0,0 ; ¢á¥å ᥪâ®à®¢ ¤¨áª¥
|
||||||
dw 0 ; 䨧. ®¬¥à ¤¨áª
|
dw 0 ; 䨧. ®¬¥à ¤¨áª
|
||||||
db 0x29 ; ᨣ âãà à áè. boot-§ ¯¨á¨
|
db 0x29 ; ᨣ âãà à áè. boot-§ ¯¨á¨
|
||||||
dw 96C2h,2D3Ah ; á¥à¨©ë© ®¬¥à ¤¨áª¥âë 2D3A:96C2
|
.serial: dw 0000,0000 ; á¥à¨©ë© ®¬¥à ¤¨áª¥âë 2D3A:96C2
|
||||||
db "NO NAME " ; 11 ¡ ©â, ¬¥âª ¤¨áª¥âë
|
.label: db "NO NAME " ; 11 ¡ ©â, ¬¥âª ¤¨áª¥âë
|
||||||
db "FAT12 " ; 8 ¡ ©â, ID ä ©«®¢®© á¨á⥬ë
|
db "FAT12 " ; 8 ¡ ©â, ID ä ©«®¢®© á¨á⥬ë
|
||||||
;---------------------------------------------------------------------
|
;--------------;
|
||||||
|
/*
|
||||||
db 0xFA,0x33,0xD2,0x8E,0xD2,0xBC,0xF0,0x7B
|
db 0xFA,0x33,0xD2,0x8E,0xD2,0xBC,0xF0,0x7B
|
||||||
db 0xFB,0xB8,0xC0,0x07,0x8E,0xD8,0xE8,0x89
|
db 0xFB,0xB8,0xC0,0x07,0x8E,0xD8,0xE8,0x89
|
||||||
db 0x00,0xBE,0xFE,0x00,0xFC,0xBB,0x70,0x00
|
db 0x00,0xBE,0xFE,0x00,0xFC,0xBB,0x70,0x00
|
||||||
@ -1576,6 +1586,7 @@ media6: dw 18 ; # 9, ᥪ
|
|||||||
db 0x01,0x4E,0x02,0x23,0x0E,0x89,0x20,0x02
|
db 0x01,0x4E,0x02,0x23,0x0E,0x89,0x20,0x02
|
||||||
db 0x00,0x19,0x00
|
db 0x00,0x19,0x00
|
||||||
dw 0xAA55
|
dw 0xAA55
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -816,7 +816,7 @@ LstBoxInv:
|
|||||||
PUSH DE
|
PUSH DE
|
||||||
IN A,(Page3)
|
IN A,(Page3)
|
||||||
PUSH AF
|
PUSH AF
|
||||||
LD A,(Win2)
|
LD A,(hPages.Win2)
|
||||||
OUT (Page3),A
|
OUT (Page3),A
|
||||||
LD A,(IY+3)
|
LD A,(IY+3)
|
||||||
SUB (IY+2)
|
SUB (IY+2)
|
||||||
@ -862,7 +862,7 @@ PrnLstBox:
|
|||||||
PUSH IX
|
PUSH IX
|
||||||
IN A,(Page3)
|
IN A,(Page3)
|
||||||
PUSH AF
|
PUSH AF
|
||||||
LD A,(Win2)
|
LD A,(hPages.Win2)
|
||||||
OUT (Page3),A
|
OUT (Page3),A
|
||||||
PUSH IX
|
PUSH IX
|
||||||
POP IY
|
POP IY
|
||||||
@ -1007,7 +1007,7 @@ LBB1: ld a,l
|
|||||||
CALL GetPutA
|
CALL GetPutA
|
||||||
IN A,(Page3)
|
IN A,(Page3)
|
||||||
PUSH AF
|
PUSH AF
|
||||||
LD A,(Win2)
|
LD A,(hPages.Win2)
|
||||||
OUT (Page3),A
|
OUT (Page3),A
|
||||||
LD A,"±"
|
LD A,"±"
|
||||||
LD (DE),A
|
LD (DE),A
|
||||||
@ -1048,7 +1048,7 @@ LBe1: POP DE
|
|||||||
CALL GetPutA
|
CALL GetPutA
|
||||||
IN A,(Page3)
|
IN A,(Page3)
|
||||||
PUSH AF
|
PUSH AF
|
||||||
LD A,(Win2)
|
LD A,(hPages.Win2)
|
||||||
OUT (Page3),A
|
OUT (Page3),A
|
||||||
LD A,"þ"
|
LD A,"þ"
|
||||||
LD (DE),A
|
LD (DE),A
|
||||||
|
|||||||
28
MAIN.ASM
28
MAIN.ASM
@ -32,22 +32,30 @@ Packed: incbin 'build/format.hrs'
|
|||||||
|
|
||||||
Start: ld c,0 ; ã§ âì ¢¥àá¨î „Ž‘
|
Start: ld c,0 ; ã§ âì ¢¥àá¨î „Ž‘
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
ld hl,0145h ; 1.69
|
ld hl,-#0147 ; 1.71
|
||||||
and a
|
add hl,de
|
||||||
sbc hl,de
|
jr c,dss_ver_ok ; >= 1.71
|
||||||
jr c,ok ; > 1.69
|
|
||||||
;
|
;
|
||||||
ld hl,ver_err
|
ld hl,ver_err
|
||||||
ld c,5Ch
|
.error_exit: ld c,Dss.PChars
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
ld bc,#2641
|
.loop: ld bc,DSS_Error.sys.COMMON_ERROR*256 + Dss.Exit
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
ret
|
jr .loop
|
||||||
|
|
||||||
ver_err: db "Invalid DSS version, DSS 1.70 or higher is required.",0Dh,0Ah,0
|
ver_err: db "Invalid DSS version, DSS 1.71 or higher is required.",0Dh,0Ah,0
|
||||||
|
no_mem_err: db "Error: no free memory!",0Dh,0Ah,0
|
||||||
|
|
||||||
|
dss_ver_ok: ; ¢ë¤¥«ï¥¬ áâà ¨æã ¯®¤ à ᯠª®¢ ë© ª®¤
|
||||||
ok: LD HL,#6200 ;!HARDCODE
|
ld bc,1*256 + Dss.GetMem
|
||||||
|
RST ToDSS
|
||||||
|
jr nc,.mem_ok
|
||||||
|
;
|
||||||
|
ld hl,no_mem_err
|
||||||
|
jr Start.error_exit
|
||||||
|
;
|
||||||
|
.mem_ok: ld (SLOT1),a
|
||||||
|
LD HL,#6200 ;!HARDCODE
|
||||||
LD BC,Dss.AppInfo.EXE_HomeDir
|
LD BC,Dss.AppInfo.EXE_HomeDir
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
;
|
;
|
||||||
|
|||||||
@ -1329,7 +1329,7 @@ prne: LD A,(IY+2)
|
|||||||
LD B,0
|
LD B,0
|
||||||
IN A,(Page3)
|
IN A,(Page3)
|
||||||
PUSH AF
|
PUSH AF
|
||||||
LD A,(Win2)
|
LD A,(hPages.Win2)
|
||||||
OUT (Page3),A
|
OUT (Page3),A
|
||||||
LDI
|
LDI
|
||||||
INC DE
|
INC DE
|
||||||
@ -1473,7 +1473,7 @@ SetClasInv:
|
|||||||
LD IX,DialData
|
LD IX,DialData
|
||||||
IN A,(Page3)
|
IN A,(Page3)
|
||||||
PUSH AF ;á®åà.page4
|
PUSH AF ;á®åà.page4
|
||||||
LD A,(Win2)
|
LD A,(hPages.Win2)
|
||||||
OUT (Page3),A ;¢ª«.¡ãä¥à
|
OUT (Page3),A ;¢ª«.¡ãä¥à
|
||||||
PUSH HL
|
PUSH HL
|
||||||
LD L,C ;Len X
|
LD L,C ;Len X
|
||||||
@ -1839,7 +1839,7 @@ ChangL1: INC HL ;Begin elements claster
|
|||||||
POP HL ;Reset begin elem table
|
POP HL ;Reset begin elem table
|
||||||
IN A,(Page3)
|
IN A,(Page3)
|
||||||
PUSH AF
|
PUSH AF
|
||||||
LD A,(Win2)
|
LD A,(hPages.Win2)
|
||||||
OUT (Page3),A
|
OUT (Page3),A
|
||||||
ChangL2: LD D,(HL) ;Ypos
|
ChangL2: LD D,(HL) ;Ypos
|
||||||
INC HL
|
INC HL
|
||||||
@ -1906,7 +1906,7 @@ cl1: BIT 7,(HL)
|
|||||||
;Change radio button ([x])
|
;Change radio button ([x])
|
||||||
ChangeR: IN A,(Page3)
|
ChangeR: IN A,(Page3)
|
||||||
PUSH AF
|
PUSH AF
|
||||||
LD A,(Win2)
|
LD A,(hPages.Win2)
|
||||||
OUT (Page3),A
|
OUT (Page3),A
|
||||||
LD D,(HL) ;Ypos
|
LD D,(HL) ;Ypos
|
||||||
INC HL
|
INC HL
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
Subproject commit cc0a75f6bc7b141622c1c904a2db4e91d54aaf8d
|
Subproject commit 68e156a69e848e7b01656cdf67122022999d75ee
|
||||||
Loading…
Reference in New Issue
Block a user