mirror of
https://github.com/Tolik-Trek/FFORMAT.git
synced 2026-06-15 09:21:43 +03:00
Release 25/06/2025
This commit is contained in:
commit
477e4f8327
10
Build.sh
Executable file
10
Build.sh
Executable file
@ -0,0 +1,10 @@
|
||||
#! /bin/zsh
|
||||
rm ./build/fmain.bin
|
||||
rm ./build/format.hrs
|
||||
sjasmplus --nologo -Wall --syntax=w --fullpath --msg=war --color=on --lst=./build/fmain.lst --raw=./build/fmain.bin ./fmain.asm
|
||||
echo FMain compilation DONE
|
||||
./mhmt -hst -zxh ./build/fmain.bin ./build/format.hrs
|
||||
echo Packing fmain.bin DONE
|
||||
echo Main compilation starts
|
||||
sjasmplus --nologo -Wall --syntax=w --fullpath --msg=war --color=on --lst=./build/main.lst --raw=./build/fformat/fformat.exe ./main.asm
|
||||
echo Main compilation DONE
|
||||
877
DIALOG.ASM
877
DIALOG.ASM
File diff suppressed because it is too large
Load Diff
419
ESTEX.ASM
419
ESTEX.ASM
@ -8,113 +8,113 @@
|
||||
;--- Š®¯¨à®¢ ¨¥ á¨áâ. ä ©«®¢ ¢ ¡ãä¥àë
|
||||
; ¢ëå: "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"
|
||||
; 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 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 ; ®è¨¡ª § ªàëâ¨ï ä ©«
|
||||
; call OpenFile
|
||||
; jp c,error1 ; ®è¨¡ª ®âªàëâ¨ï ä ©«
|
||||
; ld (hFile1),a
|
||||
; ; ¯à®ç¨â âì ä ©«
|
||||
; in a,(SLOT3)
|
||||
; push af
|
||||
; ld a,(hPages.SBuff0)
|
||||
; out (SLOT3),a ; ¯®¤ª«. ¡ãä¥à
|
||||
; ld a,(hFile1)
|
||||
; call ReadFile
|
||||
; jp c,err1 ; ®è¨¡ª ç⥨ï ä ©«
|
||||
; pop af
|
||||
; out (SLOT3),a ; ¢®ááâ. áâà ¨æã
|
||||
; ld (Number1),de ; ç¨á«® ¯à®ç¨â ëå ¡ ©â
|
||||
; ; § ªàëâì ä ©«
|
||||
; ld a,(hFile1)
|
||||
; call CloseFile
|
||||
; jp c,error1 ; ®è¨¡ª § ªàëâ¨ï ä ©«
|
||||
|
||||
;<3B> ©â¨ ä ©« "SYSTEM.DOS"
|
||||
; ;<3B> ©â¨ ä ©« "SYSTEM.DOS"
|
||||
; ;ld hl,Name2
|
||||
; ;call FirstFile
|
||||
; ;jp c,error1 ; ä ©« ¥ ©¤¥
|
||||
; ; ®âªàëâì ä ©«
|
||||
; 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
|
||||
; 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,(SLOT3)
|
||||
; push af
|
||||
; ld a,(hPages.SBuff1)
|
||||
; out (SLOT3),a ; ¯®¤ª«. 1-î áâà ¨æã
|
||||
; ld a,(hFile2)
|
||||
; call ReadFile
|
||||
; jp c,err1 ; ®è¨¡ª ç⥨ï ä ©«
|
||||
; ld a,(bigFile)
|
||||
; or a
|
||||
; jr z,endRead ; ¯à®ç¨â ¢¥áì ä ©«
|
||||
; ; ç¨â ¥¬ ®áâ ⮪ ä ©«
|
||||
; ost: ld de,0
|
||||
; ld a,(hPages.SBuff2)
|
||||
; out (SLOT3),a ; ¯®¤ª«. 2-î áâà ¨æã
|
||||
; ld hl,WinBoxBuff ; ¡ãä¥à ¯®¤ ¤ ë¥
|
||||
; ld a,(hFile2)
|
||||
; ld c,13h
|
||||
; RST ToDSS
|
||||
; jp c,err1 ; ®è¨¡ª ç⥨ï ä ©«
|
||||
; endRead: pop af
|
||||
; out (SLOT3),a ; ¢®ááâ. áâà ¨æã
|
||||
; ; § ªàëâì ä ©«
|
||||
; ld a,(hFile2)
|
||||
; call CloseFile
|
||||
; jp c,error1 ; ®è¨¡ª § ªàëâ¨ï ä ©«
|
||||
; ret
|
||||
|
||||
|
||||
|
||||
@ -125,7 +125,7 @@ sFlag: db 0
|
||||
sFlag1: db 0
|
||||
|
||||
; ä« £, 0/1 - "system.dos" ¬¥ìè¥/¡®«ìè¥ 1-© áâà ¨æë
|
||||
bigFile: db 0
|
||||
;bigFile: db 0
|
||||
|
||||
|
||||
|
||||
@ -145,64 +145,76 @@ WriteSysFiles: ld a,(sFlag)
|
||||
; áªàëâì ¬ëèªã
|
||||
call HiddenMouse
|
||||
; “áâ. ⥪ã騩 ¤¨áª ¨ ¯ãâì ¤¨áª¥âã
|
||||
call SetDisketa
|
||||
;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 ; ®è¨¡ª § ªàëâ¨ï ä ©«
|
||||
|
||||
;ld hl,Name1 ; ¨¬ï ä ©«
|
||||
;call CreateFile
|
||||
;jp c,error1 ; ®è¨¡ª á®§¤ ¨ï ä ©«
|
||||
;ld (hFile1),a
|
||||
;; § ¯¨á âì ä ©«
|
||||
;in a,(SLOT3)
|
||||
;push af
|
||||
;ld a,(hPages.SBuff0)
|
||||
;out (SLOT3),a ; ¯®¤ª«. ¡ãä¥à
|
||||
;ld de,(Number1) ; ç¨á«® § ¯¨á. ¡ ©â
|
||||
;ld a,(hFile1) ; åí¤«
|
||||
;call WriteFile
|
||||
;ex af,af'
|
||||
;pop af
|
||||
;out (SLOT3),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-î áâà ¨æã
|
||||
;ld hl,Name2 ; ¨¬ï ä ©«
|
||||
;call CreateFile
|
||||
;jr c,error1 ; ®è¨¡ª á®§¤ ¨ï ä ©«
|
||||
;ld (hFile2),a
|
||||
;; § ¯¨á âì ä ©«
|
||||
;in a,(SLOT3)
|
||||
;push af
|
||||
;ld a,(hPages.SBuff1)
|
||||
;out (SLOT3),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,(hPages.SBuff2)
|
||||
;out (SLOT3),a ; ¯®¤ª«. 2-î áâà ¨æã
|
||||
;
|
||||
; tinFile: ld a,(hFile2) ; åí¤«
|
||||
; call WriteFile
|
||||
; jr c,err1 ; ®è¨¡ª § ¯¨á¨ ä ©«
|
||||
; pop af
|
||||
; out (SLOT3),a ; ¢®ááâ. áâà ¨æã
|
||||
; ; § ªàëâì ä ©«
|
||||
; ld a,(hFile2) ; åí¤«
|
||||
; call CloseFile
|
||||
; jr c,error1 ; ®è¨¡ª § ªàëâ¨ï ä ©«
|
||||
;
|
||||
;
|
||||
; § ¯¨áì § £àã§ç¨ª ç¥à¥§ sys
|
||||
ld hl,.sys_name
|
||||
ld a,(DskName)
|
||||
ld (.sys_prm_disk),a
|
||||
ld bc,Dss.Exec
|
||||
rst ToDSS
|
||||
;
|
||||
jr c,.error1
|
||||
and a
|
||||
jr nz,.error1
|
||||
;
|
||||
tinFile: ld a,(hFile2) ; åí¤«
|
||||
call WriteFile
|
||||
jr c,err1 ; ®è¨¡ª § ¯¨á¨ ä ©«
|
||||
pop af
|
||||
out (Page3),a ; ¢®ááâ. áâà ¨æã
|
||||
; § ªàëâì ä ©«
|
||||
ld a,(hFile2) ; åí¤«
|
||||
call CloseFile
|
||||
jr c,error1 ; ®è¨¡ª § ªàëâ¨ï ä ©«
|
||||
; ¢®ááâ. ¤¨áª ¨ ¯ãâì
|
||||
call RestPath
|
||||
; § ªàëâì ®ª® "‡ ¯¨áì á¨áâ. ä ©«®¢"
|
||||
@ -226,10 +238,10 @@ tinFile: ld a,(hFile2) ;
|
||||
ld (ColDialWn),a ; ¢®ááâ. ¯à¥¦îî ãáâ ®¢ªã 梥⠮ª
|
||||
ret
|
||||
;
|
||||
err1: pop af
|
||||
out (Page3),a ; ¢®ááâ. áâà ¨æã
|
||||
; err1: pop af
|
||||
; out (SLOT3),a ; ¢®ááâ. áâà ¨æã
|
||||
;
|
||||
error1: call RestPath ; ¢®ááâ. ¤¨áª ¨ ¯ãâì
|
||||
.error1: call RestPath ; ¢®ááâ. ¤¨áª ¨ ¯ãâì
|
||||
ld a,40h
|
||||
ld (ColDialWn),a
|
||||
ld hl,ErrSysFiles
|
||||
@ -239,18 +251,19 @@ error1: call RestPath ;
|
||||
ld a,1
|
||||
ld (sFlag),a
|
||||
ret
|
||||
.sys_name: db "SYS.EXE "
|
||||
.sys_prm_disk: dz "A: 1"
|
||||
|
||||
|
||||
|
||||
SetDisketa: ; “áâ. ⥪ã騩 ¤¨áª ä®à¬ â. ¤¨áª¥âã
|
||||
ld a,(DISK)
|
||||
ld c,1
|
||||
RST ToDSS
|
||||
; “áâ. "ª®à¥ì" ¤¨áª¥âë
|
||||
ld hl,RootDir
|
||||
ld c,1Dh
|
||||
RST ToDSS
|
||||
ret
|
||||
; SetDisketa: ; “áâ. ⥪ã騩 ¤¨áª ä®à¬ â. ¤¨áª¥âã
|
||||
; ld a,(DISK)
|
||||
; ld c,1
|
||||
; RST ToDSS
|
||||
; ; “áâ. "ª®à¥ì" ¤¨áª¥âë
|
||||
; ld hl,RootDir
|
||||
; ld c,1Dh
|
||||
; RST ToDSS
|
||||
; ret
|
||||
|
||||
RestPath: ; ‚®ááâ. ⥪ã騩 ¤¨áª
|
||||
; ld a,(CurDisk)
|
||||
@ -274,10 +287,10 @@ FirstFile: ld bc,0019h ;
|
||||
|
||||
|
||||
; ‘®§¤ âì ä ©«
|
||||
CreateFile: ld c,0Ah
|
||||
ld a,20h ; âਡãâ " à娢ë©"
|
||||
RST ToDSS
|
||||
ret
|
||||
; CreateFile: ld c,0Ah
|
||||
; ld a,20h ; âਡãâ " à娢ë©"
|
||||
; RST ToDSS
|
||||
; ret
|
||||
|
||||
|
||||
; Žâªàëâì ä ©«
|
||||
@ -288,18 +301,18 @@ OpenFile: ld c,11h
|
||||
|
||||
|
||||
; <20>à®ç¨â âì ä ©«
|
||||
ReadFile: ld hl,WinBoxBuff ;L4000 ¡ãä¥à ¯®¤ ¤ ë¥
|
||||
ld de,4000h ; ç¨á«® ç¨â ¥¬ëå ¡ ©â (1 áâà ¨æ )
|
||||
ld c,13h
|
||||
RST ToDSS
|
||||
ret
|
||||
; 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
|
||||
; WriteFile: ld hl,WinBoxBuff ;L4000 ¡ãä¥à ¤ ëå
|
||||
; ld c,14h
|
||||
; RST ToDSS
|
||||
; ret
|
||||
|
||||
|
||||
; ‡ ªàëâì ä ©«
|
||||
@ -312,18 +325,17 @@ CloseFile: ld c,12h
|
||||
|
||||
|
||||
SysDisk: db 0 ; ®¬¥à § £à. ¤¨áª
|
||||
Name1: db "SYSTEM.EXE",0
|
||||
Name2: db "SYSTEM.DOS",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 ;
|
||||
;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 ; ¢à¥¬. á®åà. 梥⠮ª
|
||||
|
||||
@ -331,7 +343,6 @@ 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 ; ¤¥áªà¨¯â®à ä ©«
|
||||
@ -348,9 +359,9 @@ compare_page: ld c,0C6h ;
|
||||
ld a,1 ;¯ à ¬¥âàë 1-£® ®ª
|
||||
RST ToBIOS
|
||||
ld a,c ;¢®â §¤¥áì ¨¤¥â áp ¢¥¨¥ áç¨â ®£®
|
||||
cp Page1 ;®¬¥p ¯®pâ á ⥬, ª®â®pë© ï î§ î
|
||||
cp SLOT1 ;®¬¥p ¯®pâ á ⥬, ª®â®pë© ï î§ î
|
||||
jr z,.loc1
|
||||
; ãáâ. ®¢ë© ®¬¥à Page1
|
||||
; ãáâ. ®¢ë© ®¬¥à SLOT1
|
||||
ld (port1+1),a
|
||||
ld (port2+1),a
|
||||
ld (port3+1),a
|
||||
@ -359,9 +370,9 @@ compare_page: ld c,0C6h ;
|
||||
ld a,3 ;¯ à ¬¥âàë 3-£® ®ª
|
||||
RST ToBIOS
|
||||
ld a,c
|
||||
cp Page3
|
||||
cp SLOT3
|
||||
ret z
|
||||
; ãáâ. ®¢ë© ®¬¥à Page3
|
||||
; ãáâ. ®¢ë© ®¬¥à SLOT3
|
||||
ld (port5+1),a
|
||||
ld (port6+1),a
|
||||
ld (port7+1),a
|
||||
@ -568,10 +579,10 @@ CopyBootTRD: xor a
|
||||
jr c,trd_err ; ®è¨¡ª ®âªàëâ¨ï
|
||||
ld (hFile4),a
|
||||
; ¯à®ç¨â âì ä ©«
|
||||
in a,(Page3)
|
||||
in a,(SLOT3)
|
||||
push af
|
||||
ld a,(TRBoot)
|
||||
out (Page3),a ; ¯®¤ª«. ¡ãä¥à
|
||||
ld a,(hPages.TRBoot)
|
||||
out (SLOT3),a ; ¯®¤ª«. ¡ãä¥à
|
||||
; ç¨â ¥¬ § £®«®¢®ª ¡ãâ
|
||||
ld hl,NameBt ; ¡ãä¥à ¯®¤ ¤ ë¥
|
||||
ld de,17 ; ç¨á«® ç¨â ¥¬ëå ¡ ©â
|
||||
@ -591,7 +602,7 @@ CopyBootTRD: xor a
|
||||
ld c,13h
|
||||
RST ToDSS
|
||||
pop af
|
||||
out (Page3),a ; ¢®ááâ. áâà ¨æã
|
||||
out (SLOT3),a ; ¢®ááâ. áâà ¨æã
|
||||
; § ªàëâì ä ©«
|
||||
ld a,(hFile4)
|
||||
jp CloseFile
|
||||
|
||||
22
EXIT.ASM
22
EXIT.ASM
@ -26,24 +26,20 @@ sys_cursor_coords+1:
|
||||
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
|
||||
; 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
|
||||
@ -62,7 +58,7 @@ _skrn: di
|
||||
ld ix,WinBoxBuff ; Address Box buffers
|
||||
ld hl,2050h ; Y/X à §¬¥à ®ª
|
||||
ld de,0000h ; Y/X ¯®«®¦. ®ª
|
||||
ld a,(Win1) ; Page buffer
|
||||
ld a,(hPages.Win1) ; Page buffer
|
||||
ld b,a
|
||||
xor a
|
||||
RST ToBIOS
|
||||
|
||||
154
FMAIN.ASM
154
FMAIN.ASM
@ -8,34 +8,17 @@
|
||||
;
|
||||
;
|
||||
|
||||
define release 1 ; ०¨¬ ª®¬¯¨«ï樨 ¨á室¨ª
|
||||
|
||||
|
||||
; ; ®¯¨á ¨¥ ds xx
|
||||
; %imacro ds 1
|
||||
; times %1 db 0
|
||||
; %endmacro
|
||||
|
||||
; ; ®¯¨á ¨¥ ds xx,yy
|
||||
; %imacro ds 2
|
||||
; times %1 db %2
|
||||
; %endmacro
|
||||
; !TODO ¡à âì § £àã§®çë© á¥ªâ®à á á¨á⥬®£® ¤¨áª , ¥ â ᪠âì ¢ ᥡ¥
|
||||
; !TODO ¯¥à¥¤¥« âì ¯®¤ § ¯¨áì § £àã§ç¨ª ®¢®£® ¤®á , ª®â®àë© ¡®«ìè¥ 3-å ᥪâ®à®¢
|
||||
|
||||
include './shared_includes/constants/dss_equ.inc'
|
||||
include './shared_includes/constants/bios_equ.inc'
|
||||
include './shared_includes/constants/sp2000.inc'
|
||||
include './shared_includes/structures/FileSystem.inc'
|
||||
include 'version.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
|
||||
@ -45,7 +28,7 @@ minor_version equ 13
|
||||
|
||||
db 'EX' ; exe ID
|
||||
db 'E' ; exe ⨯
|
||||
db 0 ; exe ¢¥àá¨ï
|
||||
db 1 ; exe ¢¥àá¨ï
|
||||
dw 512 ; ¬«. ᬥé. ª®¤
|
||||
dw 0 ; áâ. ᬥé. ª®¤
|
||||
dw 0 ; end-beg, ¯¥à¢¨çë© § £àã§ç¨ª
|
||||
@ -65,18 +48,18 @@ Start: ld sp,Stack
|
||||
RST ToBIOS
|
||||
; áà ¢¨âì ¨á¯. ®¬¥à ¯®à⮢ áâà ¨æ á ®¬¥à ¬¨ ¯®à⮢ <20>¨®á
|
||||
;call compare_page
|
||||
; ¢ë¤¥«ï¥¬ ¡«®ª ¢ 8 áâà ¨æ
|
||||
ld bc,8*256 + Dss.GetMem ;!HARDCODE
|
||||
; ¢ë¤¥«ï¥¬ ¡«®ª ¢ hPages.Size áâà ¨æ
|
||||
ld bc,hPages.Size*256 + Dss.GetMem
|
||||
RST ToDSS
|
||||
jr c,err_mem ; ¥â ¯ ¬ïâ¨
|
||||
ld (hBlock),a ; åí¤« ¡«®ª
|
||||
;ld (hBlock),a ; åí¤« ¡«®ª
|
||||
; á®§¤ âì ᯨ᮪ ¢ë¤¥«. áâà ¨æ
|
||||
ld hl,hPages
|
||||
ld c,0C5h
|
||||
RST ToBIOS
|
||||
; ¢ª«. à ¡®çãî áâà ¨æã ¢ Page3 (¨á¯. ¤«ï ¡ãä¥à á¨áâ. ®¡« á⨠¤¨áª¥âë)
|
||||
ld a,(BuffSys)
|
||||
out (Page3),a
|
||||
; ¢ª«. à ¡®çãî áâà ¨æã ¢ SLOT3 (¨á¯. ¤«ï ¡ãä¥à á¨áâ. ®¡« á⨠¤¨áª¥âë)
|
||||
ld a,(hPages.BuffSys2)
|
||||
out (SLOT3),a
|
||||
; ®ç¨áâ¨âì ¡ãä¥à ª« ¢ë
|
||||
ld bc,Dss.ScanKey*256 + Dss.K_CLEAR
|
||||
RST ToDSS
|
||||
@ -112,29 +95,13 @@ err_mem: ld hl,NoMem
|
||||
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
|
||||
ld c,BIOS.LP_GET_PLACE
|
||||
RST ToBIOS
|
||||
ld (sys_cursor_coords),de
|
||||
; ¨¨æ. ¤à ©¢¥à ¬ë誨
|
||||
@ -148,47 +115,61 @@ Begin: ;
|
||||
RST ToDSS
|
||||
continue: call ReadInit ; ç⥨¥ "fformat.ini" ¨ áâனª
|
||||
call CopyBootTRD ; ᪮¯¨à. ¡ãâ ¨§ "boot.$b" (¥á«¨ ¥áâì)
|
||||
|
||||
call CopySysFiles ; ᪮¯¨à. á¨áâ. ä ©«ë ¢ ¡ãä¥àë
|
||||
|
||||
|
||||
|
||||
;call CopySysFiles ; ᪮¯¨à. á¨áâ. ä ©«ë ¢ ¡ãä¥àë
|
||||
;[]==============================================================[]
|
||||
include "dialog.asm"
|
||||
include "listbox.asm"
|
||||
include "radio.asm"
|
||||
include "mouse.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 "
|
||||
db " (c) 2005-2025 Sprinter Team "
|
||||
;
|
||||
;ds 562 ; 565 + start2 = 672 (_2 -_1)
|
||||
;[]==============================================================[]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; ¢¥ªâ®à ¤«ï ®â®¡à ¦¥¨ï ªãàá®à
|
||||
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 ; ¤à¥á á¨áâ. ¢¥ªâ®à
|
||||
|
||||
;[]==============================================================[]
|
||||
;hBlock: db 0 ; åí¤« ¢ë¤¥«. ¡«®ª
|
||||
hPages:
|
||||
.BuffSys2: db #FF ; åí¤« à ¡®ç¥© áâà ¨æë (+¤«ï á¨áâ. ®¡« áâ¨)
|
||||
.BuffTrk: db #FF ; åí¤« áâà. ¡ãä¥à áâàãªâãàë ¤®à®¦ª¨ (¨ "system.exe")
|
||||
.Win1: db #FF ; åí¤« áâà. á®åà. íªà
|
||||
.Win2: db #FF ; åí¤« áâà. á®åà. £«. ®ª® ä®à¬ ⨫ª¨
|
||||
.TRBoot: db #FF ; åí¤« ¡ãä¥à § £àã§ç¨ª TR-DOS
|
||||
;.SBuff0: db #FF ; åí¤« ¡ãä¥à "system.exe"
|
||||
;.SBuff1: db #FF ; åí¤«ë ¡ãä¥à ¯®¤
|
||||
;.SBuff2: db #FF ; ä ©« "system.dos"
|
||||
.Size equ $-hPages
|
||||
db 0xFF ; á⮯-¡ ©â ᯨáª
|
||||
|
||||
|
||||
; ¡ãä¥à ¤«ï äãªæ¨¨ ¯®¨áª ä ©«
|
||||
BuffName: ds 45
|
||||
; á®åà. ⥪ã騩 ¯ãâì (ª â «®£)
|
||||
CurDir: ds 256
|
||||
|
||||
; <20> ¡®ç¨© ¡ãä¥à Input Line
|
||||
CompBuff: ds 16
|
||||
|
||||
_1:
|
||||
; _1:
|
||||
DialData: ds 16
|
||||
|
||||
; <20>ãä¥à § £®«®¢ª ¢ë¢®¤. ®ª
|
||||
@ -198,28 +179,23 @@ 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
|
||||
;[]==============================================================[]
|
||||
|
||||
|
||||
;[]==============================================================[]
|
||||
ES_BPB equ $
|
||||
;ES_Boot equ ES_BPB + 512
|
||||
; incbin "estex.bs" ; § £àã§ç¨ª Estex
|
||||
;[]==============================================================[]
|
||||
|
||||
CurPath equ ES_BPB + 512 ;!TEST
|
||||
;[]==============================================================[]
|
||||
; <20>ãä¥à á¨á⥬®© ®¡« á⨠¤¨áª¥âë
|
||||
L2400:
|
||||
|
||||
L2400 equ CurPath + 257
|
||||
;[]==============================================================[]
|
||||
@ -38,15 +38,15 @@ FFORM1: call ClearMap ;
|
||||
call HiddenMouse ; áªàëâì ¬ëèªã
|
||||
call set_1440
|
||||
; Žâªàëâì ¯®àâë ‚ƒ93
|
||||
ld a,1Ch
|
||||
out (SysPort),a
|
||||
ld a,SYS_PORT.CNF_3
|
||||
out (SYS_PORT.RAM),a
|
||||
call A0626 ; á¡à®á¨âì ª®â஫«¥à
|
||||
; ¤¥àãâì £®«®¢ª®©
|
||||
ld a,70
|
||||
out (REGDATA),a
|
||||
ld a,18h ; ¯¥à¥©â¨ § ¤ . ¤®à®¦ªã
|
||||
call A092C ; § ¥á⨠ª®¬ ¤ã
|
||||
call A092A ; 0-î ¤®à®¦ªã
|
||||
call FDC_CMD ; § ¥á⨠ª®¬ ¤ã
|
||||
call FDC_CMD.zeroTrk ; 0-î ¤®à®¦ªã
|
||||
;
|
||||
; ¯à®¢¥à¨âì «¨ç¨¥ ¤¨áª¥âë
|
||||
call L0C65 ; â¥áâ ç⥨¥ ᥪâ®à
|
||||
@ -82,7 +82,7 @@ FFORM1: call ClearMap ;
|
||||
ld hl,SystemArea ; "Writing system area..."
|
||||
call PutDialWn
|
||||
call HiddenMouse ; áªàëâì ¬ëèªã
|
||||
call L09D9 ; § ¯¨áì á¨áâ. ®¡« áâ¨
|
||||
call SysWR ; § ¯¨áì á¨áâ. ®¡« áâ¨
|
||||
call ClsDial ; § ªàëâì ®ª® ¤¨ «®£
|
||||
pop af
|
||||
ld (ColDialWn),a
|
||||
@ -90,23 +90,24 @@ FFORM1: call ClearMap ;
|
||||
ld a,(RetCode)
|
||||
or a
|
||||
jr nz,Parsing ; ¡ë«¨ ®è¨¡ª¨ ¯à¨ § ¯¨á¨ á¨áâ. ®¡« áâ¨
|
||||
call A092A ; 0-î ¤®à®¦ªã
|
||||
call FDC_CMD.zeroTrk ; 0-î ¤®à®¦ªã
|
||||
; ‡ ªàëâì ¯®àâë ‚ƒ93
|
||||
call Abort
|
||||
ld a,(_OS)
|
||||
or a
|
||||
jp nz,okno1 ; ¯à¨ tr-dos, cp/m-80
|
||||
;
|
||||
ld a,(cSystem) ; ä« £ ª®¯¨à. á¨á⥬ëå ä ©«®¢
|
||||
or a
|
||||
call nz,WriteSysFiles ; § ¯¨áì á¨áâ. ä ©«®¢ ¤¨áª¥âã
|
||||
call CreateLabel ; á®§¤ âì ¬¥âªã ¤¨áª¥âë, ¥á«¨ § ¤
|
||||
;call CreateLabel ; á®§¤ âì ¬¥âªã ¤¨áª¥âë, ¥á«¨ § ¤
|
||||
jp okno1 ; "”®à¬. § ¢¥à襮", ¢ë室 ¨§ äãªæ¨¨ fformat
|
||||
|
||||
|
||||
Abort: call A0626 ; á¡à®á¨âì ª®â஫«¥à
|
||||
; § ªàëâì ¯®àâë ‚ƒ93
|
||||
ld a,4
|
||||
out (SysPort),a
|
||||
ld a,SYS_PORT.CNF_0
|
||||
out (SYS_PORT.RAM),a
|
||||
ld c,1 ; ¯®ª § âì ¬ëèªã
|
||||
RST ToDSS.Mouse
|
||||
ret
|
||||
@ -247,9 +248,10 @@ L0870: ld a,(side)
|
||||
A0626: ex af,af'
|
||||
ld a,(DISK) ; ¤¨áª
|
||||
and 3
|
||||
ld c,a
|
||||
ld a,00011000b ; á¡à®á ‚ƒ93 ã«¥¬ 2-£® ¡¨â
|
||||
or c
|
||||
;ld c,a
|
||||
;ld a,00011000b ; á¡à®á ‚ƒ93 ã«¥¬ 2-£® ¡¨â
|
||||
;or c
|
||||
or %0001'1000
|
||||
out (REGCTRL),a
|
||||
set 2,a ; 1Ch
|
||||
out (REGCTRL),a
|
||||
@ -284,9 +286,10 @@ delay: ; >=16. usec delay
|
||||
;A0929: ld a,0D0h
|
||||
; jr A092C
|
||||
; £®«®¢ªã 0-î ¤®à®¦ªã
|
||||
A092A: ld a,8
|
||||
FDC_CMD.zeroTrk:
|
||||
ld a,8
|
||||
; ¯®á« âì ª®¬ ¤ã
|
||||
A092C: out (REGCOM),a
|
||||
FDC_CMD: out (REGCOM),a
|
||||
exx
|
||||
ld b,3+3; ; 3 áç¥â稪
|
||||
call delay ; ¬¨ªà®-¯ ã§
|
||||
@ -337,12 +340,12 @@ L07B3: call L0870 ;
|
||||
|
||||
|
||||
; ‡ ¯¨áì á¨áâ. ®¡« á⨠ms-dos ¨«¨ trd-¡ãâ
|
||||
L09D9: ld a,(density)
|
||||
SysWR: ld a,(density)
|
||||
ld c,8Fh ; turbo on/off
|
||||
RST ToBIOS
|
||||
xor a
|
||||
ld (tracks),a
|
||||
call A092A ; ¯¥à¥©â¨ 0-î ¤®à®¦ªã
|
||||
call FDC_CMD.zeroTrk ; ¯¥à¥©â¨ 0-î ¤®à®¦ªã
|
||||
ld hl,L2400 ; ¡ãä¥à á¨áâ. ®¡« áâ¨
|
||||
ld (L0AC8),hl
|
||||
ld a,(_OS)
|
||||
@ -354,7 +357,7 @@ L09D9: ld a,(density)
|
||||
;jp _cpm80
|
||||
; Š®¯¨àã¥â 2-î FAT ¨ § ¯¨áë¢ ¥â á¨áâ. ®¡« áâì ¤¨áª¥âë,
|
||||
; ¯à¨ ¢ª«. ®¯æ¨¨ ª®¯¨àã¥â § £àã§ç¨ª Estex ¢ ᥪâ®àë 2..4.
|
||||
_msdos: ld a,(media5) ; ç¨á«® ᥪâ®à®¢ FAT
|
||||
_msdos: ld a,(MS_Boot.media5) ; ç¨á«® ᥪâ®à®¢ FAT
|
||||
ld e,a
|
||||
ld hl,0
|
||||
ld bc,512
|
||||
@ -372,47 +375,51 @@ _msdos: ld a,(media5) ;
|
||||
add hl,de
|
||||
ex de,hl
|
||||
ldir
|
||||
ld a,(cSystem) ; ä« £ á®§¤ ¨ï á¨áâ. ¤¨áª¥âë
|
||||
or a
|
||||
jr z,.loc2
|
||||
;
|
||||
; bpb boot loader
|
||||
;ld a,(cSystem) ; ä« £ á®§¤ ¨ï á¨áâ. ¤¨áª¥âë
|
||||
;or a
|
||||
;jr z,.loc2
|
||||
; ª®¯¨à. § £àã§ç¨ª Estex ¢ á¨áâ. ®¡« áâì
|
||||
ld hl,ES_Boot ; ª®¤ § £àã§ç¨ª
|
||||
ld de,L2400+512 ; ç «® 1-© FAT
|
||||
ld bc,1536 ; 512*3 ᥪâ. = à §¬¥à § £àã§ç¨ª
|
||||
ldir
|
||||
;ld hl,ES_Boot ; ª®¤ § £àã§ç¨ª
|
||||
;ld de,L2400+512 ; ç «® 1-© FAT
|
||||
;ld bc,1536 ; 512*3 ᥪâ. = à §¬¥à § £àã§ç¨ª
|
||||
;ldir
|
||||
; ᪮à४â. BPB ¢ ¡ãä¥à¥
|
||||
ld a,(media5)
|
||||
inc a
|
||||
ld (L2400+14),a
|
||||
ld a,1 ; ç¨á«® ª®¯¨© FAT
|
||||
ld (L2400+16),a ; ᬥé. ç¨á«® ª®¯¨©
|
||||
;ld a,(MS_Boot.media5)
|
||||
;inc a
|
||||
;ld (L2400+14),a
|
||||
;ld a,1 ; ç¨á«® ª®¯¨© FAT
|
||||
;ld (L2400+16),a ; ᬥé. ç¨á«® ª®¯¨©
|
||||
;
|
||||
;
|
||||
.loc2: call L07AF ; ®¦¨¤ ¨¥ £®â®¢®á⨠£¬¤
|
||||
; § ¯¨áì 0-© áâ®à®ë
|
||||
ld a,1
|
||||
ld (sect),a ; 1-© ᥪâ®à (boot)
|
||||
call L0870 ; áâ®à®ã ¨ ¤¨áª ¢ ª®â஫«¥à
|
||||
L08F0: call L0906 ; § ¯¨áì ᥪâ®à
|
||||
.loopWr0: call L0906 ; § ¯¨áì ᥪâ®à
|
||||
ret nz ; ®è¨¡ª¨ § ¯¨á¨
|
||||
ld a,(sect) ; ⥪. ᥪâ®à
|
||||
inc a
|
||||
ld (sect),a
|
||||
loc02: cp 18+1 ; § ¯à¥¤¥«ìë© á¥ªâ®à
|
||||
jr nz,L08F0
|
||||
.maxSector0+1: cp 18+1 ; § ¯à¥¤¥«ìë© á¥ªâ®à
|
||||
jr nz,.loopWr0
|
||||
; § ¯¨áì 1-© áâ®à®ë
|
||||
ld a,1
|
||||
ld (side),a ; ⥪. áâ®à®
|
||||
ld (sect),a ; ⥪. ᥪâ®à
|
||||
call L0870 ; áâ®à®ã ¨ ¤¨áª ¢ ª®â஫«¥à
|
||||
L08F6: call L0906 ; § ¯¨áì ᥪâ®à
|
||||
.loopWr1: call L0906 ; § ¯¨áì ᥪâ®à
|
||||
ret nz ; ®è¨¡ª¨ § ¯¨á¨
|
||||
ld a,(sect) ; ⥪. ᥪâ®à
|
||||
inc a
|
||||
ld (sect),a
|
||||
loc03: cp 18+1 ; § ¯à¥¤. ᥪâ®à ?
|
||||
jr nz,L08F6
|
||||
.maxSector1+1: cp 18+1 ; § ¯à¥¤. ᥪâ®à ?
|
||||
jr nz,.loopWr1
|
||||
ret
|
||||
|
||||
|
||||
; ‡ ¯¨áì á¨áâ. ®¡« á⨠TR-DOS.
|
||||
; <20>ਠboot-¤¨áª¥ ª®à४â¨àã¥â ç «® ᢮¡. ¬¥áâ ,
|
||||
; ç¨á«® ᢮¡. ᥪâ®à®¢ ¨ ç¨á«® § ¯¨á. ä ©«®¢
|
||||
@ -504,16 +511,16 @@ _trdos: xor a ;
|
||||
|
||||
; ‘ª®¯¨à®¢ âì ⥫® ¡ãâ ¨§ ¡ãä¥à TRBoot ¢ ¡ãä¥à L2400+1000h
|
||||
copy1: exx
|
||||
in a,(Page1)
|
||||
in a,(SLOT1)
|
||||
ex af,af'
|
||||
ld a,(TRBoot)
|
||||
out (Page1),a ; ¯®¤ª«. ¡ãä¥à
|
||||
ld hl,4000h ; ç «® Page1
|
||||
ld a,(hPages.TRBoot)
|
||||
out (SLOT1),a ; ¯®¤ª«. ¡ãä¥à
|
||||
ld hl,4000h ; ç «® SLOT1
|
||||
ld de,L2400+1000h
|
||||
SizeBt: ld bc,4000h
|
||||
ldir
|
||||
ex af,af'
|
||||
out (Page1),a ; ¯®¤ª«. ¡ãä¥à
|
||||
out (SLOT1),a ; ¯®¤ª«. ¡ãä¥à
|
||||
exx
|
||||
ret
|
||||
|
||||
@ -573,10 +580,10 @@ A0875: push de
|
||||
|
||||
|
||||
; ‡ ¯¨áì ¤®à®¦ª¨
|
||||
L091B: in a,(Page3)
|
||||
L091B: in a,(SLOT3)
|
||||
push af
|
||||
ld a,(BuffTrk)
|
||||
out (Page3),a ; ¯®¤ª«. ¡ãä¥à áâàãªâãàë ¤®à®¦ª¨
|
||||
ld a,(hPages.BuffTrk)
|
||||
out (SLOT3),a ; ¯®¤ª«. ¡ãä¥à áâàãªâãàë ¤®à®¦ª¨
|
||||
ld hl,L4000 ; ç «® ¤ ëå
|
||||
ld (L0AC8),hl
|
||||
call L0870 ; ¢ ª®â஫«¥à áâ®à®ã ¨ ¤¨áª
|
||||
@ -585,7 +592,7 @@ L091B: in a,(Page3)
|
||||
ld a,0xF4 ; § ¯¨áì ¤®à®¦ª¨
|
||||
call A0875
|
||||
pop af
|
||||
out (Page3),a
|
||||
out (SLOT3),a
|
||||
ret
|
||||
|
||||
|
||||
@ -598,7 +605,7 @@ NxtTrack:
|
||||
L0759: ld a,(tracks) ; ⥪. ¤®à®¦ª
|
||||
out (REGDATA),a ; ॣ¨áâà ¤ ëå
|
||||
ld a,18h ; ¯¥à¥©â¨ § ¤ . ¤®à®¦ªã
|
||||
jp A092C ; § ¥á⨠ª®¬ ¤ã
|
||||
jp FDC_CMD ; § ¥á⨠ª®¬ ¤ã
|
||||
|
||||
|
||||
|
||||
@ -621,7 +628,7 @@ L0C65: ld a,(sect) ; ⥪. ᥪ
|
||||
or 0x80
|
||||
; 0-ï áâ®à® : 80h
|
||||
; 1-ï áâ®à® : 88h
|
||||
call A092C ; § ¥á⨠ª®¬ ¤ã
|
||||
call FDC_CMD ; § ¥á⨠ª®¬ ¤ã
|
||||
di
|
||||
ld c,REGCOM
|
||||
ld b,3 ; áç¥â稪 ¯®¯ë⮪
|
||||
@ -728,7 +735,7 @@ _done2: xor a
|
||||
;[]==============================================================[]
|
||||
|
||||
; ¢ëç¨á«¨âì ï祩ªã bad-ᥪâ®à ¢ FAT-¥
|
||||
L0ACF: ld hl,(media6) ; ᥪâ®à®¢ áâ®à®ã
|
||||
L0ACF: ld hl,(MS_Boot.media6) ; ᥪâ®à®¢ áâ®à®ã
|
||||
add hl,hl ; *2 (ᥪâ®à®¢ ¢áî ¤®à®¦ªã)
|
||||
ex de,hl
|
||||
ld hl,0
|
||||
@ -739,7 +746,7 @@ L0AD8: add hl,de
|
||||
ld a,(side) ; ⥪. áâ®à®
|
||||
or a
|
||||
jr z,L0AE8
|
||||
ld de,(media6) ; ᥪâ®à®¢ áâ®à®ã
|
||||
ld de,(MS_Boot.media6) ; ᥪâ®à®¢ áâ®à®ã
|
||||
add hl,de
|
||||
L0AE8: ld a,(sect) ; ⥪. ᥪâ®à
|
||||
ld e,a
|
||||
@ -757,7 +764,7 @@ L0AE8: ld a,(sect) ; ⥪. ᥪ
|
||||
ld a,l
|
||||
rra
|
||||
ld l,a
|
||||
ld a,(media1) ; ᥪâ®à®¢ ª« áâ¥à
|
||||
ld a,(MS_Boot.media1) ; ᥪâ®à®¢ ª« áâ¥à
|
||||
ld e,a
|
||||
ld d,0
|
||||
add hl,de
|
||||
@ -808,7 +815,7 @@ L0A2C: push hl
|
||||
; ᥪâ®à®¢ +2 («ãç訩 ¢ ਠâ).
|
||||
;
|
||||
add_offset:
|
||||
ld hl,(media6) ; ç¨á«® ᥪâ®à®¢ ¢ ⥪. ä®à¬ â¥
|
||||
ld hl,(MS_Boot.media6) ; ç¨á«® ᥪâ®à®¢ ¢ ⥪. ä®à¬ â¥
|
||||
ld a,(_OS) ; ⨯ Ž‘-¨
|
||||
or a
|
||||
jr z,.loc0 ; ms-dos
|
||||
@ -921,10 +928,10 @@ GAP1 equ 50
|
||||
GAP3 dw 108 ; ¯®-㬮«ç ¨î ¤«ï 1.44Mb
|
||||
|
||||
; <20>®¤£®â®¢¨âì § £®«®¢ª¨ ᥪâ®à®¢ ¤®à®¦ª¨ (®¤®© áâ®à®ë)
|
||||
L0BAA: in a,(Page3)
|
||||
L0BAA: in a,(SLOT3)
|
||||
push af
|
||||
ld a,(BuffTrk)
|
||||
out (Page3),a ; ¯®¤ª«. ¡ãä¥à ¤®à®¦ª¨
|
||||
ld a,(hPages.BuffTrk)
|
||||
out (SLOT3),a ; ¯®¤ª«. ¡ãä¥à ¤®à®¦ª¨
|
||||
xor a
|
||||
ld (L0BA9),a ; ®¡ã«¨âì áç¥â稪 ᥪâ®à®¢
|
||||
;
|
||||
@ -969,17 +976,17 @@ L0BB6: ld bc,553 ;
|
||||
loc05: cp 18 ; ¯®á«. ᥪâ®à ?
|
||||
jr nz,L0BB2
|
||||
pop af
|
||||
out (Page3),a ; ¢®ááâ. à ¡. áâà ¨æã
|
||||
out (SLOT3),a ; ¢®ááâ. à ¡. áâà ¨æã
|
||||
ret
|
||||
|
||||
|
||||
|
||||
; ‘®§¤ ¥â ¢ ¡ãä¥à¥ áâàãªâãàã ¤®à®¦ª¨
|
||||
; <20>ãä¥à: 0xC000..0xFFFF
|
||||
L0B21: in a,(Page3)
|
||||
L0B21: in a,(SLOT3)
|
||||
push af
|
||||
ld a,(BuffTrk)
|
||||
out (Page3),a ; ¯®¤ª«. ¡ãä¥à ¤®à®¦ª¨
|
||||
ld a,(hPages.BuffTrk)
|
||||
out (SLOT3),a ; ¯®¤ª«. ¡ãä¥à ¤®à®¦ª¨
|
||||
call CLEAR ; § ¯®«¨âì ¡ãä¥à ª®¤®¬ 0x4E
|
||||
ld hl,L4000 ; ç «® ¡ãä¥à ¤ ëå ¤®à®¦ª¨
|
||||
xor a
|
||||
@ -1051,7 +1058,7 @@ loc08: cp 18 ;
|
||||
jr nz,L0B3E
|
||||
; GAP4B, ®áâ ⮪ ¤®à®¦ª¨ (¡ãä¥à 㦥 § ¯®«¥ 0x4E)
|
||||
pop af
|
||||
out (Page3),a ; ¢ª«. à ¡®çãî áâà ¨æã 0xC000
|
||||
out (SLOT3),a ; ¢ª«. à ¡®çãî áâà ¨æã 0xC000
|
||||
ret
|
||||
|
||||
FILL: ld (hl),c
|
||||
@ -1084,19 +1091,21 @@ CLEAR: ld (L0ACD),sp
|
||||
; ¬ ªá. ¤«¨ ®¡« áâ¨: 0x4C00 ¤«ï 1.74Mb
|
||||
L09A8: ld de,L2400 ; ¡ãä¥à Boot-ᥪâ®à
|
||||
ld hl,MS_Boot ; ms-dos boot-ᥪâ®à
|
||||
ld bc,512 ; ¤«¨ boot-
|
||||
ldir
|
||||
ld bc,MS_Boot.SIZE ; ¤«¨ boot-
|
||||
ldir ;!TEST
|
||||
ex de,hl ; hl = ç «® FAT ¢ ¡ãä¥à¥
|
||||
loc07: ld bc,16896 ; 6656/16896 ¤«¨ FAT-®¢ + Root dir
|
||||
ld e,0 ; ¡ ©â § ¯®«¥¨ï
|
||||
call L0994 ; ¯¥à¥ª çª ¥ -> (hl)
|
||||
ld a,(media4) ; ¡ ©â-®¯¨á ⥫ì ä®à¬ â ¤¨áª
|
||||
ld a,(MS_Boot.media4) ; ¡ ©â-®¯¨á ⥫ì ä®à¬ â ¤¨áª
|
||||
ld hl,L2400+512
|
||||
ld (hl),a ; § ¥á⨠¯¥à¢ë¬ ¡ ©â®¬ ¢ FAT
|
||||
inc hl
|
||||
ld (hl),0FFh ; 2 ¨ 3-© ¡ ©âë FAT
|
||||
inc hl
|
||||
ld (hl),0FFh
|
||||
call CreateLabel ; á®§¤ âì ¬¥âªã ¤¨áª¥âë, ¥á«¨ § ¤
|
||||
call CreateSerialNumber
|
||||
ret
|
||||
|
||||
L0994: ld (hl),e
|
||||
@ -1114,29 +1123,30 @@ L0994: ld (hl),e
|
||||
FSETUP: ld a,(_OS)
|
||||
or a
|
||||
jr nz,noMSDOS
|
||||
frm1: ld a,18 ; ç¨á«® ᥪâ®à®¢
|
||||
.sectorsAll+1: ld a,18 ; ç¨á«® ᥪâ®à®¢
|
||||
ld (loc05+1),a
|
||||
ld (loc08+1),a
|
||||
SSect: ld hl,18 ; ᥪâ®à®¢ áâ®à®ã
|
||||
ld (media6),hl ;;
|
||||
.sectorsSide+1: ld hl,18 ; ᥪâ®à®¢ áâ®à®ã
|
||||
ld (MS_Boot.media6),hl
|
||||
inc a ; § ¯à¥¤. ᥪâ®à
|
||||
ld (loc02+1),a
|
||||
ld (loc03+1),a
|
||||
ld (_msdos.maxSector0),a
|
||||
ld (_msdos.maxSector1),a
|
||||
ld (loc06+1),a
|
||||
frm2: ld a,34 ; ¯®á«. á«ã¦. ᥪâ®à ¤¨áª¥âë
|
||||
.lastSector+1: ld a,34 ; ¯®á«. á«ã¦. ᥪâ®à ¤¨áª¥âë
|
||||
ld (LastSect),a
|
||||
frm3: ld a,1 ; ᥪâ®à®¢ ª« áâ¥à
|
||||
ld (media1),a
|
||||
.sectorsPerCluster+1:
|
||||
ld a,1 ; ᥪâ®à®¢ ª« áâ¥à
|
||||
ld (MS_Boot.media1),a
|
||||
frm4: ld a,0xF0 ; ¡ ©â ä®à¬ â
|
||||
ld (media4),a
|
||||
ld (MS_Boot.media4),a
|
||||
frm5: ld hl,16896 ; à §¬¥à FAT-®¢ + Root dir
|
||||
ld (loc07+1),hl
|
||||
frm6: ld hl,224 ; § ¯¨á¥© ¢ ª®à¥
|
||||
ld (media2),hl
|
||||
ld (MS_Boot.media2),hl
|
||||
ASect: ld hl,2880 ; ᥪâ®à®¢ ¤¨áª¥
|
||||
ld (media3),hl ;;
|
||||
ld (MS_Boot.media3),hl
|
||||
FSect: ld hl,9 ; ᥪâ®à®¢ FAT
|
||||
ld (media5),hl ;;
|
||||
ld (MS_Boot.media5),hl
|
||||
ret
|
||||
;
|
||||
noMSDOS: dec a
|
||||
@ -1254,7 +1264,7 @@ L0BFF: ld a,(density)
|
||||
call InitElapsedTime ; á®åà. ¨ á¡à®á¨âì ¢à¥¬ï
|
||||
call L07AF ; ®¦¨¤ ¨¥ £®â®¢®á⨠£¬¤
|
||||
; 横« ä®à¬ â. ¤®à®¦¥ª
|
||||
L0C14: call L0BDA ; ä®à¬ â¨à®¢ ¨¥
|
||||
L0C14: call FORMAT_TRK ; ä®à¬ â¨à®¢ ¨¥
|
||||
ret c ; ä®à¬ â. ¯à¥à¢ ®
|
||||
ret nz ; ¥áâì ®è¨¡ª¨ ç⥨ï
|
||||
; ¥â ®è¨¡®ª
|
||||
@ -1271,10 +1281,10 @@ TRACKS: ld a,82
|
||||
|
||||
|
||||
; ”®à¬ â¨à. ®¤®© ¤®à®¦ª¨
|
||||
L0BDA: xor a
|
||||
FORMAT_TRK: xor a
|
||||
ld (side),a ; ⥪. áâ®à®
|
||||
ld (RetCode),a ; á¡à. ¢®§¢à. ª®¤
|
||||
L0BDE: ;ld a,2
|
||||
.loop: ;ld a,2
|
||||
;ld (L0C64),a ; ç¨á«® 3-å à §®¢ëå ¯®¯ë⮪
|
||||
call L0BAA ; ¨¨æ. § £®«®¢ª®¢ ᥪâ®à®¢ ¤®à®¦ª¨
|
||||
call L0759 ; ãáâ. £®«®¢ªã ⥪. ¤®à®¦ªã
|
||||
@ -1292,7 +1302,7 @@ L0BDE: ;ld a,2
|
||||
inc (hl) ; ᬥ áâ®à®ë
|
||||
ld a,(hl) ; ⥪. áâ®à®
|
||||
cp 1+1 ; § ¯à¥¤¥«ì ï ?
|
||||
jr nz,L0BDE
|
||||
jr nz,.loop
|
||||
xor a
|
||||
ret
|
||||
|
||||
@ -1483,100 +1493,39 @@ CalcTime:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------+
|
||||
; MS-DOS § £àã§ç¨ª ¤¨áª¥â (¨§ fformat), 512 ¡ ©â. |
|
||||
; ä®à¬ â 1.44Mb. |
|
||||
; ¤«ï 720kB á¬. ¬¥âªã '#' |
|
||||
;-------------------------------------------------+
|
||||
MS_Boot:
|
||||
db 0xEB,0x3C,0x90 ; 3 ¡ ©â , ª®¤ ¯¥à¥å®¤ § £àã§ç¨ª
|
||||
db "DSS 1.60" ; 8 ¡ ©â, OEM ID
|
||||
.pc_code: db 0xEB,0xFE,0x00 ; 3 ¡ ©â , ª®¤ ¯¥à¥å®¤ § £àã§ç¨ª
|
||||
; 8 ¡ ©â, OEM ID
|
||||
db "DSS "
|
||||
.dss_major_ver: db "1."
|
||||
.dss_minor_ver: db "71"
|
||||
;BPB, 17 ¡ ©â
|
||||
BPB: dw 512 ; ¡ ©â ᥪâ®à
|
||||
media1: db 1 ; # 2, ᥪâ®à®¢ ª« áâ¥à
|
||||
dw 1 ; § १¥à¢. ᥪâ®à®¢
|
||||
db 2 ; ç¨á«® FAT-®¢
|
||||
media2: dw 224 ; # 112, § ¯¨á¥© ¢ ª®à¥
|
||||
media3: dw 2880 ; # 1440, ¢á¥å ᥪâ®à®¢ ¤¨áª¥
|
||||
media4: db 0xF0 ; # 0xF9, ¡ ©â ä®à¬ â
|
||||
media5: dw 9 ; # 3, ᥪâ®à®¢ FAT
|
||||
media6: dw 18 ; # 9, ᥪâ®à®¢ áâ®à®ã
|
||||
.BPB: dw 512 ; ¡ ©â ᥪâ®à
|
||||
.media1: db 1 ; # 2, ᥪâ®à®¢ ª« áâ¥à
|
||||
.reserved: dw 1 ; § १¥à¢. ᥪâ®à®¢
|
||||
.fat_num: db 2 ; ç¨á«® FAT-®¢
|
||||
.media2: dw 224 ; # 112, § ¯¨á¥© ¢ ª®à¥
|
||||
.media3: dw 2880 ; # 1440, ¢á¥å ᥪâ®à®¢ ¤¨áª¥
|
||||
.media4: db 0xF0 ; # 0xF9, ¡ ©â ä®à¬ â
|
||||
.media5: dw 9 ; # 3, ᥪâ®à®¢ FAT
|
||||
.media6: dw 18 ; # 9, ᥪâ®à®¢ áâ®à®ã
|
||||
dw 2 ; ª®«-¢® áâ®à® ¤¨áª
|
||||
;extended boot-record
|
||||
dw 0,0 ; áªàëâëå ᥪâ®à®¢
|
||||
dw 0,0 ; ¢á¥å ᥪâ®à®¢ ¤¨áª¥
|
||||
dw 0 ; 䨧. ®¬¥à ¤¨áª
|
||||
db 0x29 ; ᨣ âãà à áè. boot-§ ¯¨á¨
|
||||
dw 96C2h,2D3Ah ; á¥à¨©ë© ®¬¥à ¤¨áª¥âë 2D3A:96C2
|
||||
db "NO NAME " ; 11 ¡ ©â, ¬¥âª ¤¨áª¥âë
|
||||
.serial: dw 0000,0000 ; á¥à¨©ë© ®¬¥à ¤¨áª¥âë 2D3A:96C2
|
||||
.label: db "NO NAME " ; 11 ¡ ©â, ¬¥âª ¤¨áª¥âë
|
||||
db "FAT12 " ; 8 ¡ ©â, ID ä ©«®¢®© á¨á⥬ë
|
||||
;---------------------------------------------------------------------
|
||||
db 0xFA,0x33,0xD2,0x8E,0xD2,0xBC,0xF0,0x7B
|
||||
db 0xFB,0xB8,0xC0,0x07,0x8E,0xD8,0xE8,0x89
|
||||
db 0x00,0xBE,0xFE,0x00,0xFC,0xBB,0x70,0x00
|
||||
db 0xE8,0x25,0x00,0x32,0xE4,0xCD,0x16,0x3C
|
||||
db 0x1B,0x74,0x18,0x3C,0x0D,0x74,0x08,0x3C
|
||||
db 0x20,0x74,0x04,0x3C,0x6F,0x75,0xEC,0xBE
|
||||
db 0xDF,0x01,0xE8,0x0B,0x00,0xBE,0xC1,0x01
|
||||
db 0xE8,0x05,0x00,0xE8,0x5C,0x00,0xCD,0x19
|
||||
db 0xAC,0x0A,0xC0,0x74,0x46,0x3C,0x01,0x75
|
||||
db 0x05,0xAC,0x8A,0xD8,0xEB,0xF2,0x3C,0x02
|
||||
db 0x75,0x0A,0xAD,0x8B,0xD0,0x56,0xE8,0x62
|
||||
db 0x00,0x5E,0xEB,0xE4,0x3C,0x03,0x75,0x0A
|
||||
db 0xAC,0xA2,0x00,0x00,0x89,0x36,0x01,0x00
|
||||
db 0xEB,0xD6,0x3C,0x04,0x75,0x0C,0xFE,0x0E
|
||||
db 0x00,0x00,0x74,0x04,0x8B,0x36,0x01,0x00
|
||||
db 0xEB,0xC6,0x33,0xC9,0xA8,0x80,0x74,0x05
|
||||
db 0x24,0x7F,0x8A,0xC8,0xAC,0x41,0xE8,0x17
|
||||
db 0x00,0xEB,0xB5,0x36,0xA1,0x6C,0x04,0x05
|
||||
db 0x04,0x00,0x36,0x39,0x06,0x6C,0x04,0x72
|
||||
db 0xF9,0xC3,0xB8,0x03,0x00,0xCD,0x10,0xC3
|
||||
db 0x56,0x3C,0x0A,0x74,0x10,0xB4,0x09,0xCD
|
||||
db 0x10,0x02,0xD1,0x80,0xFA,0x50,0x73,0x05
|
||||
db 0xE8,0x08,0x00,0x5E,0xC3,0xFE,0xC6,0x32
|
||||
db 0xD2,0xEB,0xF5,0xB4,0x02,0xCD,0x10,0xC3
|
||||
; 21 ¡ ©â
|
||||
db " FFORMAT Version "
|
||||
db major_version + "0","."
|
||||
db (minor_version / 10) + "0",(minor_version % 10) + "0"
|
||||
;
|
||||
db 0xBA,0x20,0x01,0x1F,0x03,0x07,0xCF,0xB0
|
||||
db 0x04,0x91,0xB0,0x01,0x4E,0x80,0xC9,0xA7
|
||||
db 0xCD,0x80,0xBB,0x01,0x1F,0x93,0xB0,0x03
|
||||
db 0x06,0x91,0xB0,0x01,0x4E,0x80,0xBA,0xA7
|
||||
db 0x20,0x80,0xBA,0x01,0x07,0x81,0xB0,0x01
|
||||
db 0x1F,0x91,0xB0,0x04,0x91,0xB0,0x01,0x4E
|
||||
db 0x80,0xC8,0xA7,0xCD,0x80,0xBC,0x01,0x07
|
||||
db 0x81,0xB0,0x01,0x1F,0x91,0xB0,0x93,0xB0
|
||||
db 0x01,0x07,0xA9,0xB0,0x01,0x1F,0x91,0xB0
|
||||
db 0x03,0x07,0xCF,0xB0,0x04,0x01,0x70
|
||||
; 16 ¡ ©â
|
||||
db " RLE Boot record"
|
||||
db 0xC6,0x20,0x01,0x4F,0x02,0x15,0x0A
|
||||
; 36 ¡ ©â
|
||||
db "Sorry, but this disk is not bootable"
|
||||
db 0x02,0x16,0x0B
|
||||
; 33 ¡ ©â
|
||||
db "Insert SYSTEM disk into the drive"
|
||||
db 0x01,0x7F,0x02,0x22,0x0D
|
||||
; ¥ ¦ âë© ¡ãâ®
|
||||
db "",82h,20h,01h,7Ch,"O",01h,7Fh,"k",82h,20h,""
|
||||
db 0x01,0x40,0x80,0xDC,0x02,0x23,0x0E,0x89
|
||||
db 0xDF,0x02,0x00,0x19,0x00,0x01,0x4E,0x02
|
||||
db 0x22,0x0D,0x20,0x01,0x7F
|
||||
; ¦ âë© ¡ãâ®
|
||||
db "",82h,20h,01h,7Ch,"O",01h,7Fh,"k",82h,20h,""
|
||||
db 0x01,0x4E,0x02,0x23,0x0E,0x89,0x20,0x02
|
||||
db 0x00,0x19,0x00
|
||||
dw 0xAA55
|
||||
|
||||
block 510-62,0
|
||||
dw #AA55
|
||||
.SIZE EQU $-MS_Boot
|
||||
|
||||
|
||||
|
||||
@ -1609,7 +1558,7 @@ L0D25: ld c,31h
|
||||
ld a,(tracks)
|
||||
out (REGDATA),a
|
||||
ld a,18h ; ¯¥à¥©â¨ § ¤ . ¤®à®¦ªã
|
||||
call A092C ; § ¥á⨠ª®¬ ¤ã
|
||||
call FDC_CMD ; § ¥á⨠ª®¬ ¤ã
|
||||
call L07B3 ; ®¦¨¤ ¨¥ £®â®¢®á⨠<20>ƒŒ„
|
||||
ret z ; ¥â ®è¨¡®ª
|
||||
call okno3 ; "‚áâ ¢ì⥠¤¨áª¥âã"
|
||||
32
LISTBOX.ASM
32
LISTBOX.ASM
@ -814,10 +814,10 @@ LstBoxInv:
|
||||
LD B,A
|
||||
CALL GetPutA
|
||||
PUSH DE
|
||||
IN A,(Page3)
|
||||
IN A,(SLOT3)
|
||||
PUSH AF
|
||||
LD A,(Win2)
|
||||
OUT (Page3),A
|
||||
LD A,(hPages.Win2)
|
||||
OUT (SLOT3),A
|
||||
LD A,(IY+3)
|
||||
SUB (IY+2)
|
||||
SUB 3
|
||||
@ -843,7 +843,7 @@ lbclr1: INC DE ; 横
|
||||
ex af,af'
|
||||
ld (de),a
|
||||
POP AF
|
||||
OUT (Page3),A
|
||||
OUT (SLOT3),A
|
||||
POP IX
|
||||
LD E,(IY+2)
|
||||
INC E
|
||||
@ -860,10 +860,10 @@ lbclr1: INC DE ; 横
|
||||
PrnLstBox:
|
||||
PUSH IY
|
||||
PUSH IX
|
||||
IN A,(Page3)
|
||||
IN A,(SLOT3)
|
||||
PUSH AF
|
||||
LD A,(Win2)
|
||||
OUT (Page3),A
|
||||
LD A,(hPages.Win2)
|
||||
OUT (SLOT3),A
|
||||
PUSH IX
|
||||
POP IY
|
||||
LD IX,DialData
|
||||
@ -937,7 +937,7 @@ PrLsBx5:PUSH AF
|
||||
JR NZ,PrLsBx5
|
||||
PrLsBx6:CALL PutDial
|
||||
POP AF
|
||||
OUT (Page3),A
|
||||
OUT (SLOT3),A
|
||||
POP IX
|
||||
POP IY
|
||||
RET
|
||||
@ -1005,14 +1005,14 @@ LBB1: ld a,l
|
||||
SUB (IX+1)
|
||||
LD B,A
|
||||
CALL GetPutA
|
||||
IN A,(Page3)
|
||||
IN A,(SLOT3)
|
||||
PUSH AF
|
||||
LD A,(Win2)
|
||||
OUT (Page3),A
|
||||
LD A,(hPages.Win2)
|
||||
OUT (SLOT3),A
|
||||
LD A,"±"
|
||||
LD (DE),A
|
||||
POP AF
|
||||
OUT (Page3),A
|
||||
OUT (SLOT3),A
|
||||
LD A,(IY+3)
|
||||
SUB 2
|
||||
LD E,A
|
||||
@ -1046,14 +1046,14 @@ LBe1: POP DE
|
||||
SUB (IX+1)
|
||||
LD B,A
|
||||
CALL GetPutA
|
||||
IN A,(Page3)
|
||||
IN A,(SLOT3)
|
||||
PUSH AF
|
||||
LD A,(Win2)
|
||||
OUT (Page3),A
|
||||
LD A,(hPages.Win2)
|
||||
OUT (SLOT3),A
|
||||
LD A,"þ"
|
||||
LD (DE),A
|
||||
POP AF
|
||||
OUT (Page3),A
|
||||
OUT (SLOT3),A
|
||||
POP IX
|
||||
POP IY
|
||||
RET
|
||||
|
||||
29
MAIN.ASM
29
MAIN.ASM
@ -9,6 +9,7 @@
|
||||
|
||||
include './shared_includes/constants/dss_equ.inc'
|
||||
include './shared_includes/constants/bios_equ.inc'
|
||||
include './shared_includes/constants/sp2000.inc'
|
||||
|
||||
org #9200 - exe_begin.size
|
||||
|
||||
@ -32,22 +33,30 @@ 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,-#0147 ; 1.71
|
||||
add hl,de
|
||||
jr c,dss_ver_ok ; >= 1.71
|
||||
;
|
||||
ld hl,ver_err
|
||||
ld c,5Ch
|
||||
.error_exit: ld c,Dss.PChars
|
||||
RST ToDSS
|
||||
ld bc,#2641
|
||||
.loop: ld bc,DSS_Error.sys.COMMON_ERROR*256 + Dss.Exit
|
||||
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
|
||||
|
||||
|
||||
ok: LD HL,#6200 ;!HARDCODE
|
||||
dss_ver_ok: ; ¢ë¤¥«ï¥¬ áâà ¨æã ¯®¤ à ᯠª®¢ ë© ª®¤
|
||||
ld bc,1*256 + Dss.GetMem
|
||||
RST ToDSS
|
||||
jr nc,.mem_ok
|
||||
;
|
||||
ld hl,no_mem_err
|
||||
jr Start.error_exit
|
||||
;
|
||||
.mem_ok: out (SLOT1),a
|
||||
LD HL,#6200 ;!HARDCODE
|
||||
LD BC,Dss.AppInfo.EXE_HomeDir
|
||||
RST ToDSS
|
||||
;
|
||||
|
||||
283
MAP.ASM
283
MAP.ASM
@ -57,8 +57,7 @@ count: db 5
|
||||
|
||||
|
||||
; <20> áâனª ®ª ¯à®æ¥áá ä®à¬ â¨à®¢ ¨ï
|
||||
Setup_Map:
|
||||
xor a
|
||||
Setup_Map: xor a
|
||||
ld (_OS),a
|
||||
ld hl,553
|
||||
ld (L0BB6+1),hl
|
||||
@ -68,25 +67,80 @@ Setup_Map:
|
||||
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
|
||||
LD A,(HL)
|
||||
CP ' '+1
|
||||
JR C,.no_name
|
||||
;
|
||||
.loop1: LD A,(HL)
|
||||
AND A
|
||||
jr z,.empty
|
||||
CP '*'
|
||||
JR Z,.no_name
|
||||
CP '.'
|
||||
JR Z,.no_name
|
||||
CP '"'
|
||||
JR Z,.no_name
|
||||
CP '+'
|
||||
JR Z,.no_name
|
||||
CP ','
|
||||
JR Z,.no_name
|
||||
CP '/'
|
||||
JR Z,.no_name
|
||||
CP ':'
|
||||
JR Z,.no_name
|
||||
CP ';'
|
||||
JR Z,.no_name
|
||||
CP '<'
|
||||
JR Z,.no_name
|
||||
CP '='
|
||||
JR Z,.no_name
|
||||
CP '>'
|
||||
JR Z,.no_name
|
||||
CP '['
|
||||
JR Z,.no_name
|
||||
CP '\'
|
||||
JR Z,.no_name
|
||||
CP ']'
|
||||
JR Z,.no_name
|
||||
CP '|'
|
||||
JR Z,.no_name
|
||||
LD (DE),A
|
||||
INC HL
|
||||
INC DE
|
||||
DJNZ .loop1
|
||||
jr .loc3
|
||||
.loc2: ld a," " ; § ¯®«¨âì ®áâ ⮪ "LABEL" ¯à®¡¥«®¬
|
||||
ld (de),a
|
||||
inc de
|
||||
djnz .loc2
|
||||
;
|
||||
.empty: ld a,b
|
||||
cp 11
|
||||
jr z,.no_name
|
||||
;
|
||||
ex de,hl
|
||||
.loop2: ld (hl)," "
|
||||
inc hl
|
||||
djnz .loop2
|
||||
jr .loc3
|
||||
;
|
||||
.no_name: ld hl,.loc22
|
||||
ld de,LABEL1
|
||||
ld bc,11
|
||||
push hl
|
||||
ldir
|
||||
pop hl
|
||||
ld de,LABEL
|
||||
ld c,11
|
||||
ldir
|
||||
;
|
||||
;
|
||||
.loc3: ld hl,(CurElem1) ; ⥪. ¯®«®¦. 㪠§ ⥫ï ä®à¬ â
|
||||
ld a,h
|
||||
add a,l
|
||||
@ -211,8 +265,7 @@ Setup_Map:
|
||||
.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) "
|
||||
@ -349,11 +402,11 @@ SetMedia:
|
||||
ld hl,3E00h
|
||||
ld (Avail),hl
|
||||
ld a,18 ; ç¨á«® ᥪâ®à®¢
|
||||
ld (frm1+1),a
|
||||
ld (FSETUP.sectorsAll),a
|
||||
ld hl,18 ; ᥪâ®à®¢ áâ®à®ã
|
||||
ld (SSect+1),hl
|
||||
ld (FSETUP.sectorsSide),hl
|
||||
ld a,34 ; ¯®á«. á«ã¦. ᥪâ®à
|
||||
ld (frm2+1),a
|
||||
ld (FSETUP.lastSector),a
|
||||
ld hl,16896 ; à §¬¥à FAT-®¢ + Root dir
|
||||
ld (frm5+1),hl
|
||||
ld hl,2880 ; ᥪâ®à®¢ ¤¨áª¥
|
||||
@ -363,7 +416,7 @@ SetMedia:
|
||||
.loc13: ld a,0F0h ; ¡ ©â ä®à¬ â
|
||||
ld (frm4+1),a
|
||||
ld a,1 ; ᥪâ®à®¢ ª« áâ¥à
|
||||
ld (frm3+1),a
|
||||
ld (FSETUP.sectorsPerCluster),a
|
||||
ld hl,224 ; § ¯¨á¥© ¢ ª®à¥
|
||||
ld (frm6+1),hl
|
||||
.loc12: ld hl,Avail
|
||||
@ -381,11 +434,11 @@ SetMedia:
|
||||
ld hl,7E00h
|
||||
ld (Avail),hl
|
||||
ld a,19 ; ç¨á«® ᥪâ®à®¢
|
||||
ld (frm1+1),a
|
||||
ld (FSETUP.sectorsAll),a
|
||||
ld hl,19 ; ᥪâ®à®¢ áâ®à®ã
|
||||
ld (SSect+1),hl
|
||||
ld (FSETUP.sectorsSide),hl
|
||||
ld a,34 ; ¯®á«. á«ã¦. ᥪâ®à
|
||||
ld (frm2+1),a
|
||||
ld (FSETUP.lastSector),a
|
||||
ld hl,16896 ; à §¬¥à FAT-®¢ + Root dir
|
||||
ld (frm5+1),hl
|
||||
ld hl,3040 ; ᥪâ®à®¢ ¤¨áª¥
|
||||
@ -399,11 +452,11 @@ SetMedia:
|
||||
ld hl,0BA00h
|
||||
ld (Avail),hl
|
||||
ld a,20 ; ç¨á«® ᥪâ®à®¢
|
||||
ld (frm1+1),a
|
||||
ld (FSETUP.sectorsAll),a
|
||||
ld hl,20 ; ᥪâ®à®¢ áâ®à®ã
|
||||
ld (SSect+1),hl
|
||||
ld (FSETUP.sectorsSide),hl
|
||||
ld a,36 ; ¯®á«. á«ã¦. ᥪâ®à
|
||||
ld (frm2+1),a
|
||||
ld (FSETUP.lastSector),a
|
||||
ld hl,17920 ; à §¬¥à FAT-®¢ + Root dir
|
||||
ld (frm5+1),hl
|
||||
ld hl,3200 ; ᥪâ®à®¢ ¤¨áª¥
|
||||
@ -417,11 +470,11 @@ SetMedia:
|
||||
ld hl,5A00h
|
||||
ld (Avail),hl
|
||||
ld a,20 ; ç¨á«® ᥪâ®à®¢
|
||||
ld (frm1+1),a
|
||||
ld (FSETUP.sectorsAll),a
|
||||
ld hl,20 ; ᥪâ®à®¢ áâ®à®ã
|
||||
ld (SSect+1),hl
|
||||
ld (FSETUP.sectorsSide),hl
|
||||
ld a,36 ; ¯®á«. á«ã¦. ᥪâ®à
|
||||
ld (frm2+1),a
|
||||
ld (FSETUP.lastSector),a
|
||||
ld hl,17920 ; à §¬¥à FAT-®¢ + Root dir
|
||||
ld (frm5+1),hl
|
||||
ld hl,3280 ; ᥪâ®à®¢ ¤¨áª¥
|
||||
@ -435,11 +488,11 @@ SetMedia:
|
||||
ld hl,0AA00h
|
||||
ld (Avail),hl
|
||||
ld a,20 ; ç¨á«® ᥪâ®à®¢
|
||||
ld (frm1+1),a
|
||||
ld (FSETUP.sectorsAll),a
|
||||
ld hl,20 ; ᥪâ®à®¢ áâ®à®ã
|
||||
ld (SSect+1),hl
|
||||
ld (FSETUP.sectorsSide),hl
|
||||
ld a,36 ; ¯®á«. á«ã¦. ᥪâ®à
|
||||
ld (frm2+1),a
|
||||
ld (FSETUP.lastSector),a
|
||||
ld hl,17920 ; à §¬¥à FAT-®¢ + Root dir
|
||||
ld (frm5+1),hl
|
||||
ld hl,3320 ; ᥪâ®à®¢ ¤¨áª¥
|
||||
@ -455,11 +508,11 @@ SetMedia:
|
||||
ld hl,0FA00h
|
||||
ld (Avail),hl
|
||||
ld a,21 ; ç¨á«® ᥪâ®à®¢
|
||||
ld (frm1+1),a
|
||||
ld (FSETUP.sectorsAll),a
|
||||
ld hl,21 ; ᥪâ®à®¢ áâ®à®ã
|
||||
ld (SSect+1),hl
|
||||
ld (FSETUP.sectorsSide),hl
|
||||
ld a,36 ; ¯®á«. á«ã¦. ᥪâ®à
|
||||
ld (frm2+1),a
|
||||
ld (FSETUP.lastSector),a
|
||||
ld hl,17920 ; à §¬¥à FAT-®¢ + Root dir
|
||||
ld (frm5+1),hl
|
||||
ld hl,3360 ; ᥪâ®à®¢ ¤¨áª¥
|
||||
@ -473,11 +526,11 @@ SetMedia:
|
||||
ld hl,0A200h
|
||||
ld (Avail),hl
|
||||
ld a,21 ; ç¨á«® ᥪâ®à®¢
|
||||
ld (frm1+1),a
|
||||
ld (FSETUP.sectorsAll),a
|
||||
ld hl,21 ; ᥪâ®à®¢ áâ®à®ã
|
||||
ld (SSect+1),hl
|
||||
ld (FSETUP.sectorsSide),hl
|
||||
ld a,36 ; ¯®á«. á«ã¦. ᥪâ®à
|
||||
ld (frm2+1),a
|
||||
ld (FSETUP.lastSector),a
|
||||
ld hl,17920 ; à §¬¥à FAT-®¢ + Root dir
|
||||
ld (frm5+1),hl
|
||||
ld hl,3444 ; ᥪâ®à®¢ ¤¨áª¥
|
||||
@ -491,11 +544,11 @@ SetMedia:
|
||||
ld hl,0F200h
|
||||
ld (Avail),hl
|
||||
ld a,21 ; ç¨á«® ᥪâ®à®¢
|
||||
ld (frm1+1),a
|
||||
ld (FSETUP.sectorsAll),a
|
||||
ld hl,21 ; ᥪâ®à®¢ áâ®à®ã
|
||||
ld (SSect+1),hl
|
||||
ld (FSETUP.sectorsSide),hl
|
||||
ld a,38 ; ¯®á«. á«ã¦. ᥪâ®à
|
||||
ld (frm2+1),a
|
||||
ld (FSETUP.lastSector),a
|
||||
ld hl,18944 ; à §¬¥à FAT-®¢ + Root dir
|
||||
ld (frm5+1),hl
|
||||
ld hl,3486 ; ᥪâ®à®¢ ¤¨áª¥
|
||||
@ -516,21 +569,21 @@ SetMedia:
|
||||
ld hl,2400h
|
||||
ld (Avail),hl
|
||||
ld a,9 ; ç¨á«® ᥪâ®à®¢
|
||||
ld (frm1+1),a
|
||||
ld (FSETUP.sectorsAll),a
|
||||
ld hl,9 ; ᥪâ®à®¢ áâ®à®ã
|
||||
ld (SSect+1),hl
|
||||
ld (FSETUP.sectorsSide),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 (FSETUP.lastSector),a
|
||||
ld hl,3 ; ᥪâ®à®¢ FAT
|
||||
ld (FSect+1),hl
|
||||
ld a,0F9h ; ¡ ©â ä®à¬ â
|
||||
ld (frm4+1),a
|
||||
ld a,2 ; ᥪâ®à®¢ ª« áâ¥à
|
||||
ld (frm3+1),a
|
||||
ld (FSETUP.sectorsPerCluster),a
|
||||
ld hl,112 ; § ¯¨á¥© ¢ ª®à¥
|
||||
ld (frm6+1),hl
|
||||
jp .loc12
|
||||
@ -558,9 +611,9 @@ SetMedia:
|
||||
ld hl,1660 ; ᥪâ®à®¢ ¤¨áª¥
|
||||
ld (ASect+1),hl
|
||||
.loc16: ld a,10 ; ç¨á«® ᥪâ®à®¢
|
||||
ld (frm1+1),a
|
||||
ld (FSETUP.sectorsAll),a
|
||||
ld hl,10 ; ᥪâ®à®¢ áâ®à®ã
|
||||
ld (SSect+1),hl
|
||||
ld (FSETUP.sectorsSide),hl
|
||||
ld hl,36 ; à §¬¥à ¬¥¦á¥ªâ. ¯à®¡¥«
|
||||
ld (GAP3),hl
|
||||
ld hl,INTERL3 ; ãáâ. ¨â¥à«¨¢ ¤«ï 21 ᥪâ®à
|
||||
@ -825,27 +878,125 @@ SetDrive:
|
||||
|
||||
|
||||
|
||||
; << ”ãªæ¨ï á®§¤ ¨ï âਡãâ "¬¥âª ⮬ " ã¡à ¨§ 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 ; ¢®ááâ. ¤¨áª ¨ ¯ãâì
|
||||
; 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 ; ¢®ááâ. ¤¨áª ¨ ¯ãâì
|
||||
; ><|?*/\:"
|
||||
ld hl,LABEL1
|
||||
ld de,L2400 + BOOT_SECTOR.FAT.LABEL
|
||||
LD BC,11 ; áç¥â稪
|
||||
LDIR
|
||||
RET
|
||||
; ;
|
||||
; LD A,(HL)
|
||||
; CP ' '+1
|
||||
; JR C,.no_name
|
||||
; .loop1: LD A,(HL)
|
||||
; AND A
|
||||
; jr z,.empty
|
||||
; CP '*'
|
||||
; JR Z,.no_name
|
||||
; CP '.'
|
||||
; JR Z,.no_name
|
||||
; CP '"'
|
||||
; JR Z,.no_name
|
||||
; CP '+'
|
||||
; JR Z,.no_name
|
||||
; CP ','
|
||||
; JR Z,.no_name
|
||||
; CP '/'
|
||||
; JR Z,.no_name
|
||||
; CP ':'
|
||||
; JR Z,.no_name
|
||||
; CP ';'
|
||||
; JR Z,.no_name
|
||||
; CP '<'
|
||||
; JR Z,.no_name
|
||||
; CP '='
|
||||
; JR Z,.no_name
|
||||
; CP '>'
|
||||
; JR Z,.no_name
|
||||
; CP '['
|
||||
; JR Z,.no_name
|
||||
; CP '\'
|
||||
; JR Z,.no_name
|
||||
; CP ']'
|
||||
; JR Z,.no_name
|
||||
; CP '|'
|
||||
; JR Z,.no_name
|
||||
; LD (DE),A
|
||||
; INC HL
|
||||
; INC DE
|
||||
; DJNZ .loop1
|
||||
; RET
|
||||
; ;
|
||||
; .empty: ld a,b
|
||||
; cp 11
|
||||
; jr z,.no_name
|
||||
; ;
|
||||
; ex de,hl
|
||||
; .loop2: ld (hl)," "
|
||||
; inc hl
|
||||
; djnz .loop2
|
||||
; ret
|
||||
; ;
|
||||
; .no_name: ld hl,Setup_Map.loc22
|
||||
; ld de,L2400 + BOOT_SECTOR.FAT.LABEL
|
||||
; ld bc,11
|
||||
; push hl
|
||||
; ldir
|
||||
; pop hl
|
||||
; ld de,LABEL
|
||||
; ld c,11
|
||||
; ldir
|
||||
; ret
|
||||
|
||||
; ‚ëå®¤ë¥ § 票ï:
|
||||
; D - ¤¥ì
|
||||
; E - ¬¥áïæ
|
||||
; IX - £®¤
|
||||
; H - ç á
|
||||
; L - ¬¨ãâë
|
||||
; B - ᥪã¤ë
|
||||
; C - ¤¥ì ¥¤¥«¨
|
||||
;!TEST
|
||||
CreateSerialNumber:
|
||||
ld c,Dss.SysTime
|
||||
rst ToDSS
|
||||
;
|
||||
ex de,hl
|
||||
add ix,de
|
||||
ld (L2400 + BOOT_SECTOR.FAT.SERIAL_NUMBER + 2),ix
|
||||
;
|
||||
ld a,d
|
||||
ld d,b
|
||||
xor c
|
||||
.loop: rra
|
||||
djnz .loop
|
||||
;
|
||||
ld e,h
|
||||
ld h,l
|
||||
ld l,e
|
||||
;
|
||||
ld e,a
|
||||
add hl,de
|
||||
; ld e,l
|
||||
; ld l,h
|
||||
; ld h,e
|
||||
ld (L2400 + BOOT_SECTOR.FAT.SERIAL_NUMBER),hl
|
||||
ret
|
||||
508
RADIO.ASM
508
RADIO.ASM
@ -6,45 +6,44 @@
|
||||
|
||||
|
||||
; <20>ãä¥à ¨¬¥¨ ¬¥âª¨ ¤¨áª¥âë
|
||||
LabelBuff:
|
||||
db 11 ; Max input symbols
|
||||
db 0 ; ReadyString
|
||||
db 0 ; Pos X
|
||||
db 0 ; Add X
|
||||
db 0 ; Inp.Symb
|
||||
LABEL: ds 12,0
|
||||
LabelBuff: DB 11 ; Max input symbols
|
||||
DB 0 ; ReadyString
|
||||
DB 0 ; Pos X
|
||||
DB 0 ; Add X
|
||||
DB 0 ; Inp.Symb
|
||||
LABEL: DS 12,0 ;!TEST
|
||||
|
||||
cSystem:db 0 ; 01/00 - á®§¤./¥ á®§¤. á¨áâ. ¤¨áª¥âã
|
||||
cSystem: DB 0 ; 01/00 - á®§¤./¥ á®§¤. á¨áâ. ¤¨áª¥âã
|
||||
|
||||
|
||||
Mode0: db 0 ; "Standart mode"
|
||||
Mode2: db 1 ; "Optimize sectors"
|
||||
Mode1: db 0 ; "Quick format"
|
||||
Mode0: DB 0 ; "Standart mode"
|
||||
Mode2: DB 1 ; "Optimize sectors"
|
||||
Mode1: DB 0 ; "Quick format"
|
||||
|
||||
|
||||
CurElem0:dw 0 ; ⥪. ¯®«®¦. ªãàá®à ListBox1-
|
||||
CurElem1:dw 0 ; ⥪. ¯®«®¦. ªãàá®à ListBox2-
|
||||
CurElem0: DW 0 ; ⥪. ¯®«®¦. ªãàá®à ListBox1-
|
||||
CurElem1: DW 0 ; ⥪. ¯®«®¦. ªãàá®à ListBox2-
|
||||
|
||||
|
||||
CurILFl:db 0 ; ä« £ ªãàá®à 00-¢ëª«/01-¢ª«
|
||||
Flag: db 0 ; ä« £ ªãàá®à 00-¥â/01-¥áâì
|
||||
Timer: db 1 ; â ©¬¥à
|
||||
CursPos:dw 0 ; ¯®§¨æ¨ï ªãàá®à
|
||||
CurILFl: DB 0 ; ä« £ ªãàá®à 00-¢ëª«/01-¢ª«
|
||||
;Flag: DB 0 ; ä« £ ªãàá®à 00-¥â/01-¥áâì
|
||||
Timer: DB 1 ; â ©¬¥à
|
||||
CursPos: DW 0 ; ¯®§¨æ¨ï ªãàá®à
|
||||
|
||||
_OS: db 0 ; 00/01/02 ⨯ Ž‘ (ms-dos/tr-dos/cpm)
|
||||
_OS: DB 0 ; 00/01/02 ⨯ Ž‘ (ms-dos/tr-dos/cpm)
|
||||
|
||||
|
||||
; Ž¯æ¨¨ ¢ë¡®à ä®à¬ â FDD
|
||||
; ¤¨áª "A"
|
||||
DriveA:
|
||||
SetDriveA0:db 1 ; 1.44Mb 3.5"
|
||||
SetDriveA1:db 0 ; 720kB 5.25"
|
||||
SetDriveA2:db 0 ; None (ï祩ª ¥ ®âá«¥¦¨¢ ¥âáï)
|
||||
SetDriveA0: DB 1 ; 1.44Mb 3.5"
|
||||
SetDriveA1: DB 0 ; 720kB 5.25"
|
||||
SetDriveA2: DB 0 ; None (ï祩ª ¥ ®âá«¥¦¨¢ ¥âáï)
|
||||
; ¤¨áª "B"
|
||||
DriveB:
|
||||
SetDriveB0:db 0 ; 1.44Mb 3.5"
|
||||
SetDriveB1:db 1 ; 720kB 5.25"
|
||||
SetDriveB2:db 0 ; None
|
||||
SetDriveB0: DB 0 ; 1.44Mb 3.5"
|
||||
SetDriveB1: DB 1 ; 720kB 5.25"
|
||||
SetDriveB2: DB 0 ; None
|
||||
|
||||
|
||||
|
||||
@ -86,13 +85,13 @@ PInpLine:
|
||||
LD (IY+3),A ;+3 Yo
|
||||
CALL GetPutA
|
||||
EX DE,HL
|
||||
ld a,(ColDialWn)
|
||||
LD A,(ColDialWn)
|
||||
LD C,A
|
||||
LD A,(DE)
|
||||
PInpLp1: INC DE
|
||||
CP '~'
|
||||
JR NZ,PInpN0
|
||||
ld c,ColDhotkey
|
||||
LD C,ColDhotkey
|
||||
;LD C,A
|
||||
LD A,(DE)
|
||||
INC DE
|
||||
@ -107,7 +106,7 @@ PInpLp1:INC DE
|
||||
INC HL
|
||||
INC DE
|
||||
INC (IX+4)
|
||||
ld a,(ColDialWn)
|
||||
LD A,(ColDialWn)
|
||||
LD C,A
|
||||
LD A,(DE)
|
||||
INC DE
|
||||
@ -151,7 +150,7 @@ PInpN0: LD (HL),A
|
||||
INC DE
|
||||
PUSH HL
|
||||
next1: LD HL,0
|
||||
ld c,ColInpLine ; 梥â áâப¨ ¢¢®¤
|
||||
LD C,ColInpLine ; 梥â áâப¨ ¢¢®¤
|
||||
;LD C,A
|
||||
PInpLp2: LD A,(DE)
|
||||
INC DE
|
||||
@ -231,8 +230,8 @@ PClRadioB:
|
||||
LD A,"Ú"
|
||||
LD (DE),A
|
||||
INC DE
|
||||
ld a,ColLstBxFr ; 梥â à ¬ª¨
|
||||
ld (de),a
|
||||
LD A,ColLstBxFr ; 梥â à ¬ª¨
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD A," "
|
||||
LD (DE),A
|
||||
@ -260,15 +259,15 @@ PClRadioB:
|
||||
clrd1: LD A,"Ä"
|
||||
LD (DE),A
|
||||
INC DE
|
||||
ld a,ColLstBxFr ;
|
||||
ld (de),a
|
||||
LD A,ColLstBxFr ;
|
||||
LD (DE),A
|
||||
INC DE
|
||||
DJNZ clrd1
|
||||
ClRadN1: LD A,"¿"
|
||||
LD (DE),A
|
||||
inc de
|
||||
ld a,ColLstBxFr ;
|
||||
ld (de),a
|
||||
INC DE
|
||||
LD A,ColLstBxFr ;
|
||||
LD (DE),A
|
||||
INC (IX+5)
|
||||
LD BC,6 ;Next element claster
|
||||
ADD IY,BC
|
||||
@ -280,16 +279,16 @@ ClRadN1:LD A,"
|
||||
LD (HL),"³"
|
||||
INC HL
|
||||
;ld a,(ColLstBxFr) ;
|
||||
ld (hl),ColLstBxFr
|
||||
LD (HL),ColLstBxFr
|
||||
INC HL
|
||||
LD C,(IX+6)
|
||||
LD B,0
|
||||
ADD HL,BC
|
||||
ADD HL,BC
|
||||
LD (HL),"³"
|
||||
inc hl
|
||||
INC HL
|
||||
;ld a,(ColLstBxFr) ;
|
||||
ld (hl),ColLstBxFr
|
||||
LD (HL),ColLstBxFr
|
||||
INC (IX+5)
|
||||
EX DE,HL
|
||||
;
|
||||
@ -302,7 +301,7 @@ ClRadLp:LD C,(IX+4) ;pos element
|
||||
LD (HL),"³"
|
||||
INC HL
|
||||
;ld a,(ColLstBxFr) ;
|
||||
ld (hl),ColLstBxFr
|
||||
LD (HL),ColLstBxFr
|
||||
INC HL
|
||||
INC HL
|
||||
INC HL
|
||||
@ -323,13 +322,13 @@ ClRadLp:LD C,(IX+4) ;pos element
|
||||
INC HL
|
||||
INC B
|
||||
;
|
||||
ld a,(ColDialWn) ;Put name element
|
||||
LD A,(ColDialWn) ;Put name element
|
||||
LD C,A
|
||||
LD A,(DE)
|
||||
ClRadL1: INC DE
|
||||
CP '~'
|
||||
JR NZ,ClRadN0
|
||||
ld c,ColDhotkey
|
||||
LD C,ColDhotkey
|
||||
;LD C,A
|
||||
LD A,(DE)
|
||||
INC DE
|
||||
@ -343,7 +342,7 @@ ClRadL1:INC DE
|
||||
LD (HL),A
|
||||
INC HL
|
||||
INC DE
|
||||
ld a,(ColDialWn)
|
||||
LD A,(ColDialWn)
|
||||
LD C,A
|
||||
INC B
|
||||
LD A,(DE)
|
||||
@ -364,9 +363,9 @@ ClRadN0:LD (HL),A
|
||||
ADD HL,BC
|
||||
ADD HL,BC
|
||||
LD (HL),"³"
|
||||
inc hl
|
||||
INC HL
|
||||
;ld a,(ColLstBxFr) ;
|
||||
ld (hl),ColLstBxFr
|
||||
LD (HL),ColLstBxFr
|
||||
LD A,(IX+5) ;Current Y pos
|
||||
ADD A,(IX+1) ;from begin screen
|
||||
LD (IY+0),A
|
||||
@ -409,20 +408,20 @@ ClRadN0:LD (HL),A
|
||||
LD (HL),"À"
|
||||
INC HL
|
||||
;ld a,(ColLstBxFr) ;
|
||||
ld (hl),ColLstBxFr
|
||||
LD (HL),ColLstBxFr
|
||||
INC HL
|
||||
LD B,(IX+6)
|
||||
clrd2: LD A,"Ä"
|
||||
LD (HL),A
|
||||
INC HL
|
||||
;ld a,(ColLstBxFr) ;
|
||||
ld (hl),ColLstBxFr
|
||||
LD (HL),ColLstBxFr
|
||||
INC HL
|
||||
DJNZ clrd2
|
||||
LD (HL),"Ù"
|
||||
inc hl
|
||||
INC HL
|
||||
;ld a,(ColLstBxFr) ;
|
||||
ld (hl),ColLstBxFr
|
||||
LD (HL),ColLstBxFr
|
||||
EX DE,HL
|
||||
PUSH IY
|
||||
EXX
|
||||
@ -486,8 +485,8 @@ PClCheckB:
|
||||
LD A,"Ú"
|
||||
LD (DE),A
|
||||
INC DE
|
||||
ld a,ColLstBxFr ;
|
||||
ld (de),a
|
||||
LD A,ColLstBxFr ;
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD A," "
|
||||
LD (DE),A
|
||||
@ -515,15 +514,15 @@ PClCheckB:
|
||||
clch1: LD A,"Ä"
|
||||
LD (DE),A
|
||||
INC DE
|
||||
ld a,ColLstBxFr ;
|
||||
ld (de),a
|
||||
LD A,ColLstBxFr ;
|
||||
LD (DE),A
|
||||
INC DE
|
||||
DJNZ clch1
|
||||
ClChkN1: LD A,"¿"
|
||||
LD (DE),A
|
||||
inc de
|
||||
ld a,ColLstBxFr ;
|
||||
ld (de),a
|
||||
INC DE
|
||||
LD A,ColLstBxFr ;
|
||||
LD (DE),A
|
||||
INC (IX+5)
|
||||
LD BC,6 ;Next element claster
|
||||
ADD IY,BC
|
||||
@ -535,16 +534,16 @@ ClChkN1:LD A,"
|
||||
LD (HL),"³"
|
||||
INC HL
|
||||
;ld a,(ColLstBxFr) ;
|
||||
ld (hl),ColLstBxFr
|
||||
LD (HL),ColLstBxFr
|
||||
INC HL
|
||||
LD C,(IX+6)
|
||||
LD B,0
|
||||
ADD HL,BC
|
||||
ADD HL,BC
|
||||
LD (HL),"³"
|
||||
inc hl
|
||||
INC HL
|
||||
;ld a,(ColLstBxFr) ;
|
||||
ld (hl),ColLstBxFr
|
||||
LD (HL),ColLstBxFr
|
||||
INC (IX+5)
|
||||
EX DE,HL
|
||||
; Next element
|
||||
@ -556,7 +555,7 @@ ClChkLp:LD C,(IX+4) ;pos element
|
||||
LD (HL),"³"
|
||||
INC HL
|
||||
;ld a,(ColLstBxFr) ;
|
||||
ld (hl),ColLstBxFr
|
||||
LD (HL),ColLstBxFr
|
||||
INC HL
|
||||
INC HL
|
||||
INC HL
|
||||
@ -577,13 +576,13 @@ ClChkLp:LD C,(IX+4) ;pos element
|
||||
INC HL
|
||||
INC B
|
||||
;
|
||||
ld a,(ColDialWn) ;Put name element
|
||||
LD A,(ColDialWn) ;Put name element
|
||||
LD C,A
|
||||
LD A,(DE)
|
||||
ClChkL1: INC DE
|
||||
CP '~'
|
||||
JR NZ,ClChkN0
|
||||
ld c,ColDhotkey
|
||||
LD C,ColDhotkey
|
||||
;LD C,A
|
||||
LD A,(DE)
|
||||
INC DE
|
||||
@ -597,7 +596,7 @@ ClChkL1:INC DE
|
||||
LD (HL),A
|
||||
INC HL
|
||||
INC DE
|
||||
ld a,(ColDialWn)
|
||||
LD A,(ColDialWn)
|
||||
LD C,A
|
||||
INC B
|
||||
LD A,(DE)
|
||||
@ -618,9 +617,9 @@ ClChkN0:LD (HL),A
|
||||
ADD HL,BC
|
||||
ADD HL,BC
|
||||
LD (HL),"³"
|
||||
inc hl
|
||||
INC HL
|
||||
;ld a,(ColLstBxFr) ;
|
||||
ld (hl),ColLstBxFr
|
||||
LD (HL),ColLstBxFr
|
||||
;
|
||||
LD A,(IX+5) ;Current Y pos
|
||||
ADD A,(IX+1) ;from begin screen
|
||||
@ -664,20 +663,20 @@ ClChkN0:LD (HL),A
|
||||
LD (HL),"À"
|
||||
INC HL
|
||||
;ld a,(ColLstBxFr) ;
|
||||
ld (hl),ColLstBxFr
|
||||
LD (HL),ColLstBxFr
|
||||
INC HL
|
||||
LD B,(IX+6)
|
||||
clch2: LD A,"Ä"
|
||||
LD (HL),A
|
||||
INC HL
|
||||
;ld a,(ColLstBxFr) ;
|
||||
ld (hl),ColLstBxFr
|
||||
LD (HL),ColLstBxFr
|
||||
INC HL
|
||||
DJNZ clch2
|
||||
LD (HL),"Ù"
|
||||
inc hl
|
||||
INC HL
|
||||
;ld a,(ColLstBxFr) ;
|
||||
ld (hl),ColLstBxFr
|
||||
LD (HL),ColLstBxFr
|
||||
EX DE,HL
|
||||
PUSH IY
|
||||
EXX
|
||||
@ -697,90 +696,90 @@ clch2: LD A,"
|
||||
; Input: HL-label
|
||||
; Format mouse table: None
|
||||
;
|
||||
PFrame: ld c,(hl) ; X pos
|
||||
inc hl
|
||||
ld b,(hl) ; Y pos
|
||||
inc hl ; X len
|
||||
inc hl ; Y len
|
||||
ld a,(hl)
|
||||
push af ; á®åà. Y len
|
||||
push bc
|
||||
call GetPutA
|
||||
ld a,"Ú"
|
||||
ld (de),a
|
||||
inc de
|
||||
ld a,ColorFrame
|
||||
ld (de),a
|
||||
inc de
|
||||
dec hl
|
||||
ld b,(hl) ; X len
|
||||
.loop1: ld a,"Ä"
|
||||
ld (de),a
|
||||
inc de
|
||||
ld a,ColorFrame
|
||||
ld (de),a
|
||||
inc de
|
||||
djnz .loop1
|
||||
ld a,"¿"
|
||||
ld (de),a
|
||||
inc de
|
||||
ld a,ColorFrame
|
||||
ld (de),a
|
||||
pop bc
|
||||
.loop2: inc b
|
||||
push bc
|
||||
call GetPutA
|
||||
ex de,hl
|
||||
ld (hl),"³"
|
||||
inc hl
|
||||
ld (hl),ColorFrame
|
||||
inc hl
|
||||
ex de,hl
|
||||
ld b,(hl) ; X len
|
||||
.loop3: ld a," "
|
||||
ld (de),a
|
||||
inc de
|
||||
ld a,ColorFrame ; 梥⠢ãâਠä३¬
|
||||
ld (de),a
|
||||
inc de
|
||||
djnz .loop3
|
||||
ld a,"³"
|
||||
ld (de),a
|
||||
inc de
|
||||
ld a,ColorFrame
|
||||
ld (de),a
|
||||
inc de
|
||||
pop bc
|
||||
inc hl
|
||||
dec (hl)
|
||||
dec hl
|
||||
jr nz,.loop2
|
||||
inc b
|
||||
call GetPutA
|
||||
ld a,"À"
|
||||
ld (de),a
|
||||
inc de
|
||||
ld a,ColorFrame
|
||||
ld (de),a
|
||||
inc de
|
||||
ld b,(hl) ; X len
|
||||
inc hl
|
||||
pop af
|
||||
ld (hl),a ; ¢®ááâ. Y len
|
||||
.loop4: ld a,"Ä"
|
||||
ld (de),a
|
||||
inc de
|
||||
ld a,ColorFrame
|
||||
ld (de),a
|
||||
inc de
|
||||
djnz .loop4
|
||||
ld a,"Ù"
|
||||
ld (de),a
|
||||
inc de
|
||||
ld a,ColorFrame
|
||||
ld (de),a
|
||||
inc hl
|
||||
ret
|
||||
PFrame: LD C,(HL) ; X pos
|
||||
INC HL
|
||||
LD B,(HL) ; Y pos
|
||||
INC HL ; X len
|
||||
INC HL ; Y len
|
||||
LD A,(HL)
|
||||
PUSH AF ; á®åà. Y len
|
||||
PUSH BC
|
||||
CALL GetPutA
|
||||
LD A,"Ú"
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD A,ColorFrame
|
||||
LD (DE),A
|
||||
INC DE
|
||||
DEC HL
|
||||
LD B,(HL) ; X len
|
||||
.loop1: LD A,"Ä"
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD A,ColorFrame
|
||||
LD (DE),A
|
||||
INC DE
|
||||
DJNZ .loop1
|
||||
LD A,"¿"
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD A,ColorFrame
|
||||
LD (DE),A
|
||||
POP BC
|
||||
.loop2: INC B
|
||||
PUSH BC
|
||||
CALL GetPutA
|
||||
EX DE,HL
|
||||
LD (HL),"³"
|
||||
INC HL
|
||||
LD (HL),ColorFrame
|
||||
INC HL
|
||||
EX DE,HL
|
||||
LD B,(HL) ; X len
|
||||
.loop3: LD A," "
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD A,ColorFrame ; 梥⠢ãâਠä३¬
|
||||
LD (DE),A
|
||||
INC DE
|
||||
DJNZ .loop3
|
||||
LD A,"³"
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD A,ColorFrame
|
||||
LD (DE),A
|
||||
INC DE
|
||||
POP BC
|
||||
INC HL
|
||||
DEC (HL)
|
||||
DEC HL
|
||||
JR NZ,.loop2
|
||||
INC B
|
||||
CALL GetPutA
|
||||
LD A,"À"
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD A,ColorFrame
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD B,(HL) ; X len
|
||||
INC HL
|
||||
POP AF
|
||||
LD (HL),A ; ¢®ááâ. Y len
|
||||
.loop4: LD A,"Ä"
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD A,ColorFrame
|
||||
LD (DE),A
|
||||
INC DE
|
||||
DJNZ .loop4
|
||||
LD A,"Ù"
|
||||
LD (DE),A
|
||||
INC DE
|
||||
LD A,ColorFrame
|
||||
LD (DE),A
|
||||
INC HL
|
||||
RET
|
||||
|
||||
|
||||
|
||||
@ -893,7 +892,7 @@ SetInLn:CALL MoveObj ;Select Input line
|
||||
EI
|
||||
InLnExt: LD HL,what
|
||||
LD (HL),evNothing
|
||||
jp GetFire
|
||||
JP GetFire
|
||||
|
||||
|
||||
; Work select input line
|
||||
@ -1029,7 +1028,7 @@ EIcombK:BIT 7,(IX+1)
|
||||
JP SetInLn ; ¢ë¤¥«¨âì ¯à¥¤. ®¡ê¥ªâ
|
||||
;
|
||||
EIcombn: PUSH IY
|
||||
ld c,(hl) ; what+1
|
||||
LD C,(HL) ; what+1
|
||||
INC HL
|
||||
LD A,(HL) ; what+2
|
||||
LD L,(IX+9) ; Address buffer
|
||||
@ -1038,8 +1037,8 @@ EIcombn:PUSH IY
|
||||
PUSH DE
|
||||
PUSH HL
|
||||
POP IY
|
||||
bit 7,c ; ªãàá®àë¥ ¨«¨ shift+... ?
|
||||
jr nz,eicmb1 ; Shift+...
|
||||
BIT 7,C ; ªãàá®àë¥ ¨«¨ shift+... ?
|
||||
JR NZ,eicmb1 ; Shift+...
|
||||
CP 54h
|
||||
JR Z,ILleft ; ªãàá®à ¢«¥¢®
|
||||
CP 56h
|
||||
@ -1050,11 +1049,11 @@ EIcombn:PUSH IY
|
||||
JP Z,ILHome ; ¢ ç «® áâப¨
|
||||
CP 51h
|
||||
JP Z,ILEnd ; ¢ ª®¥æ áâப¨
|
||||
jr eicmb2
|
||||
eicmb1: cp " "
|
||||
jr c,eicmb2
|
||||
cp "~"+1
|
||||
jp c,ILwrk2 ; ¢¢®¤ ᨬ¢®«®¢
|
||||
JR eicmb2
|
||||
eicmb1: CP " "
|
||||
JR C,eicmb2
|
||||
CP "~"+1
|
||||
JP C,ILwrk2 ; ¢¢®¤ ᨬ¢®«®¢
|
||||
eicmb2: POP DE
|
||||
POP IY
|
||||
RET
|
||||
@ -1231,15 +1230,11 @@ PrnInLn:LD A,(CurILFl)
|
||||
NEG
|
||||
LD L,A
|
||||
LD E,H
|
||||
;LD A,E
|
||||
;CP 80
|
||||
;JR NC,prne
|
||||
;LD A,D
|
||||
;CP 31
|
||||
;JR NC,prne
|
||||
LD (prnadd+1),HL
|
||||
LD C,BIOS.LP_SET_PLACE ; ãáâ. ¯®§¨æ¨î ªãàá®à
|
||||
RST ToBIOS
|
||||
;LD C,BIOS.LP_SET_PLACE ; ãáâ. ¯®§¨æ¨î ªãàá®à
|
||||
;RST ToBIOS
|
||||
LD C,Dss.Locate
|
||||
RST ToDSS
|
||||
LD L,(IX+9) ;Address buffer
|
||||
LD H,(IX+0Ah)
|
||||
LD A,(IY+3)
|
||||
@ -1332,82 +1327,111 @@ prne: LD A,(IY+2)
|
||||
SUB (IX+6)
|
||||
LD C,A
|
||||
LD B,0
|
||||
IN A,(Page3)
|
||||
IN A,(SLOT3)
|
||||
PUSH AF
|
||||
LD A,(Win2)
|
||||
OUT (Page3),A
|
||||
LD A,(hPages.Win2)
|
||||
OUT (SLOT3),A
|
||||
LDI
|
||||
INC DE
|
||||
JP PE,$-3
|
||||
POP AF
|
||||
OUT (Page3),A
|
||||
OUT (SLOT3),A
|
||||
RET
|
||||
|
||||
|
||||
;Šãàá®à ®¡ê¥ªâ InputLine
|
||||
PrnILCr:LD A,(Timer) ;¯ ã§ ¬¨£ ¨ï
|
||||
DEC A
|
||||
CALL Z,PutILCr
|
||||
LD (Timer),A
|
||||
RET
|
||||
|
||||
PutILCr:LD A,(Flag)
|
||||
CPL
|
||||
LD (Flag),A
|
||||
;;;;;;;;;;;;;;;;
|
||||
PILCurs: LD DE,(CursPos) ; ãáâ. ªãàá®à
|
||||
LD (CrPs+1),DE
|
||||
LD (ResILCr.CrPs),DE
|
||||
BIT 7,E
|
||||
JR NZ,cre
|
||||
;LD A,E
|
||||
;CP 80
|
||||
;JR NC,cre
|
||||
;LD A,D
|
||||
;CP 31
|
||||
;JR NC,cre
|
||||
LD C,0B4h ; ¯®«ãç¨âì ᨬ¢®«
|
||||
SUB A
|
||||
RST ToBIOS
|
||||
LD A,(Flag)
|
||||
OR A
|
||||
LD B,1Bh
|
||||
JR Z,NoILC
|
||||
LD B,5Bh ; ªãàá®à ç¥àâ®çª®©
|
||||
NoILC: LD C,0B5h ; ᨬ¢®« íªà
|
||||
SUB A
|
||||
RST ToBIOS
|
||||
cre: LD A,1
|
||||
JR NZ,.cre
|
||||
;
|
||||
LD C,Dss.Locate
|
||||
RST ToDSS
|
||||
;
|
||||
LD BC,Dss.K_SETUP.ShowCursor
|
||||
RST ToDSS
|
||||
;
|
||||
.cre: LD A,1
|
||||
LD (CurILFl),A
|
||||
LD A,12
|
||||
LD A,12 ;!FIXIT ¤® «¨?
|
||||
RET
|
||||
;;;;;;;;;;;;;;;;
|
||||
|
||||
; ‘¡à®á¨âì ªãàá®à
|
||||
ResILCr: LD A,(CurILFl)
|
||||
OR A
|
||||
RET Z
|
||||
LD A,0FFh
|
||||
LD (Flag),A
|
||||
INC A
|
||||
LD (CurILFl),A
|
||||
LD A,12
|
||||
LD (Timer),A
|
||||
CrPs: LD DE,0
|
||||
;
|
||||
.CrPs+1: LD DE,0
|
||||
BIT 7,E
|
||||
RET NZ
|
||||
;LD A,E
|
||||
;CP 80
|
||||
;RET NC
|
||||
;LD A,D
|
||||
;CP 31
|
||||
;RET NC
|
||||
LD C,0B4h ; ¯®«ãç¨âì ᨬ¢®«
|
||||
SUB A
|
||||
RST ToBIOS
|
||||
LD BC,1BB5h ; ᨬ¢®« íªà
|
||||
SUB A
|
||||
RST ToBIOS
|
||||
;
|
||||
LD BC,Dss.K_SETUP.HideCursor
|
||||
RST ToDSS
|
||||
XOR A
|
||||
LD (CurILFl),A
|
||||
RET
|
||||
|
||||
|
||||
;;;;;;;;;;;;;;;;
|
||||
;!FIXIT CURSOR ¯¥à¥¤¥« âì ªãàá®à ¤®á ¨ ã¡à âì ¯¥à¥å¢ âì ¯à¥àë¢ ¨©
|
||||
;Šãàá®à ®¡ê¥ªâ InputLine
|
||||
; PrnILCr: LD A,(Timer) ;¯ ã§ ¬¨£ ¨ï
|
||||
; DEC A
|
||||
; CALL Z,.PutILCr
|
||||
; LD (Timer),A
|
||||
; RET
|
||||
; ;
|
||||
|
||||
; .PutILCr: LD A,(Flag)
|
||||
; CPL
|
||||
; LD (Flag),A
|
||||
; PILCurs: LD DE,(CursPos) ; ãáâ. ªãàá®à
|
||||
; LD (ResILCr.CrPs),DE
|
||||
; BIT 7,E
|
||||
; JR NZ,.cre
|
||||
; ;
|
||||
; LD C,0B4h ; ¯®«ãç¨âì ᨬ¢®«
|
||||
; SUB A
|
||||
; RST ToBIOS
|
||||
; LD A,(Flag)
|
||||
; OR A
|
||||
; LD B,1Bh
|
||||
; JR Z,.NoILC
|
||||
; LD B,5Bh ; ªãàá®à ç¥àâ®çª®©
|
||||
; .NoILC: LD C,0B5h ; ᨬ¢®« íªà
|
||||
; SUB A
|
||||
; RST ToBIOS
|
||||
; .cre: LD A,1
|
||||
; LD (CurILFl),A
|
||||
; LD A,12
|
||||
; RET
|
||||
;;;;;;;;;;;;;;;;
|
||||
|
||||
|
||||
; ‘¡à®á¨âì ªãàá®à
|
||||
; ResILCr: LD A,(CurILFl)
|
||||
; OR A
|
||||
; RET Z
|
||||
; LD A,#FF
|
||||
; LD (Flag),A
|
||||
; INC A
|
||||
; LD (CurILFl),A
|
||||
; LD A,12
|
||||
; LD (Timer),A
|
||||
; .CrPs+1: LD DE,0
|
||||
; BIT 7,E
|
||||
; RET NZ
|
||||
; ;
|
||||
; LD C,#B4 ; ¯®«ãç¨âì ᨬ¢®«
|
||||
; SUB A
|
||||
; RST ToBIOS
|
||||
; LD BC,1BB5h ; ᨬ¢®« íªà
|
||||
; SUB A
|
||||
; RST ToBIOS
|
||||
; RET
|
||||
;;;;;;;
|
||||
|
||||
|
||||
;
|
||||
InpLineI:
|
||||
LD E,(IX+2) ;Xo
|
||||
@ -1435,7 +1459,7 @@ ClastI: LD E,(IX+2) ;Xo
|
||||
SUB E
|
||||
DEC A
|
||||
LD C,A ;Len X
|
||||
jp SetClasInv
|
||||
JP SetClasInv
|
||||
|
||||
|
||||
|
||||
@ -1447,10 +1471,10 @@ ClastI: LD E,(IX+2) ;Xo
|
||||
SetClasInv:
|
||||
PUSH IX
|
||||
LD IX,DialData
|
||||
IN A,(Page3)
|
||||
IN A,(SLOT3)
|
||||
PUSH AF ;á®åà.page4
|
||||
LD A,(Win2)
|
||||
OUT (Page3),A ;¢ª«.¡ãä¥à
|
||||
LD A,(hPages.Win2)
|
||||
OUT (SLOT3),A ;¢ª«.¡ãä¥à
|
||||
PUSH HL
|
||||
LD L,C ;Len X
|
||||
LD H,1 ;len Y
|
||||
@ -1466,9 +1490,9 @@ SetClasInv:
|
||||
EX DE,HL
|
||||
LD (RClIbuf+2),HL
|
||||
LD B,E
|
||||
ld e,ColDialInv
|
||||
LD E,ColDialInv
|
||||
;LD E,A
|
||||
ld d,ColDhotkey
|
||||
LD D,ColDhotkey
|
||||
;LD D,A
|
||||
SetDin2: INC HL
|
||||
LD A,(HL)
|
||||
@ -1477,8 +1501,8 @@ SetDin2:INC HL
|
||||
JR Z,.loc2 ;$+5
|
||||
LD A,(HL)
|
||||
;XOR E
|
||||
and 0xF0 ;
|
||||
or e ;
|
||||
AND 0xF0 ;
|
||||
OR E ;
|
||||
LD (HL),A
|
||||
.loc2: INC HL
|
||||
DJNZ SetDin2
|
||||
@ -1488,7 +1512,7 @@ SetDin2:INC HL
|
||||
CALL PutDialLn
|
||||
POP HL
|
||||
POP AF
|
||||
OUT (Page3),A
|
||||
OUT (SLOT3),A
|
||||
POP IX
|
||||
LD E,(IX+2) ;Xo pos element
|
||||
INC E
|
||||
@ -1775,7 +1799,7 @@ ECnext: LD A,0
|
||||
CALL NZ,ChangeB
|
||||
EClexit: LD HL,what ;Event claster exit
|
||||
LD (HL),evNothing
|
||||
jp GetFire
|
||||
JP GetFire
|
||||
|
||||
|
||||
|
||||
@ -1813,10 +1837,10 @@ ChangL1:INC HL ;Begin elements claster
|
||||
INC HL
|
||||
INC HL
|
||||
POP HL ;Reset begin elem table
|
||||
IN A,(Page3)
|
||||
IN A,(SLOT3)
|
||||
PUSH AF
|
||||
LD A,(Win2)
|
||||
OUT (Page3),A
|
||||
LD A,(hPages.Win2)
|
||||
OUT (SLOT3),A
|
||||
ChangL2: LD D,(HL) ;Ypos
|
||||
INC HL
|
||||
INC HL
|
||||
@ -1876,14 +1900,14 @@ cl1: BIT 7,(HL)
|
||||
CALL PILCurs ; Set cursor
|
||||
EI
|
||||
POP AF
|
||||
OUT (Page3),A
|
||||
OUT (SLOT3),A
|
||||
RET
|
||||
|
||||
;Change radio button ([x])
|
||||
ChangeR:IN A,(Page3)
|
||||
ChangeR: IN A,(SLOT3)
|
||||
PUSH AF
|
||||
LD A,(Win2)
|
||||
OUT (Page3),A
|
||||
LD A,(hPages.Win2)
|
||||
OUT (SLOT3),A
|
||||
LD D,(HL) ;Ypos
|
||||
INC HL
|
||||
INC HL
|
||||
@ -1941,6 +1965,6 @@ cl2: CALL ResILCr ;
|
||||
CALL PILCurs ; ãáâ. ªãàá®à
|
||||
EI
|
||||
POP AF
|
||||
OUT (Page3),A
|
||||
OUT (SLOT3),A
|
||||
RET
|
||||
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit 378f3fdd49601390b3aacfe51e45c6fceba25022
|
||||
Subproject commit a0e68ce3a19bd47537585e49bfbf5e45fab197a1
|
||||
@ -1,4 +1,6 @@
|
||||
define RELEASE 1
|
||||
; ०¨¬ ª®¬¯¨«ï樨 ¨á室¨ª
|
||||
DEFINE release 1
|
||||
|
||||
; ¢¥àá¨ï ¯à®£à ¬¬ë
|
||||
DEFINE FF_Version '1.13.2'
|
||||
major_version equ 1
|
||||
minor_version equ 16
|
||||
Loading…
Reference in New Issue
Block a user