mirror of
https://github.com/Tolik-Trek/FFORMAT.git
synced 2026-06-15 01:11:44 +03:00
оптимизируем
This commit is contained in:
parent
a2b7e9b470
commit
6d775da44b
31
DIALOG.ASM
31
DIALOG.ASM
@ -296,10 +296,10 @@ PutDial: PUSH IX
|
||||
CALL GetMousInfo
|
||||
EXX
|
||||
DI
|
||||
kk2: LD A,(Win2) ;Page buffer
|
||||
kk2: LD A,(hPages.Win2) ;Page buffer
|
||||
LD B,A
|
||||
XOR A
|
||||
LD C,BIOS.WIN_RESTORE ; ¨§ ¡ãä¥à ¢ ⥪áâ. ®ª®
|
||||
LD C,BIOS.WIN_RESTORE ; ¨§ ¡ãä¥à ¢ ⥪áâ. ®ª®
|
||||
RST ToBIOS
|
||||
EI
|
||||
CALL GetMousInfo
|
||||
@ -310,15 +310,14 @@ kk2: LD A,(Win2) ;Page buffer
|
||||
|
||||
|
||||
; Close Dialog window and restore box place
|
||||
ClsDial:
|
||||
CALL ResILCr ; á¡à®á¨âì ªãàá®à
|
||||
ClsDial: CALL ResILCr ; á¡à®á¨âì ªãàá®à
|
||||
LD IX,DialData
|
||||
LD A,(IX+2) ;with shadow
|
||||
LD A,(IX+2) ;with shadow
|
||||
ADD A,2
|
||||
LD L,A
|
||||
LD A,(IX+3)
|
||||
INC A
|
||||
LD H,A ;Wind len
|
||||
LD H,A ;Wind len
|
||||
LD E,(IX+0)
|
||||
LD D,(IX+1)
|
||||
EXX
|
||||
@ -326,10 +325,10 @@ ClsDial:
|
||||
EXX
|
||||
DI
|
||||
LD IX,WinBoxBuff ;Address Box buffers
|
||||
kk3: LD A,(Win2) ;Page buffer
|
||||
kk3: LD A,(hPages.Win2) ;Page buffer
|
||||
LD B,A
|
||||
XOR A
|
||||
LD C,BIOS.WIN_RESTORE ; ¨§ ¡ãä¥à ¢ ⥪áâ. ®ª®
|
||||
LD C,BIOS.WIN_RESTORE ; ¨§ ¡ãä¥à ¢ ⥪áâ. ®ª®
|
||||
RST ToBIOS
|
||||
EI
|
||||
CALL GetMousInfo
|
||||
@ -349,7 +348,7 @@ PutDialWn:
|
||||
LD IX,DialData
|
||||
IN A,(Page3)
|
||||
PUSH AF
|
||||
kk4: LD A,(Win2) ;Page buffer
|
||||
kk4: LD A,(hPages.Win2) ;Page buffer
|
||||
OUT (Page3),A
|
||||
LD A,(HL) ;X position
|
||||
LD (IX+0),A ;Xpos
|
||||
@ -829,7 +828,7 @@ BTexit: LD HL,what
|
||||
; <20> ¦ âì/®â¦ âì ¡ãâ®
|
||||
PushBut: IN A,(Page3)
|
||||
PUSH AF
|
||||
kk5: LD A,(Win2)
|
||||
kk5: LD A,(hPages.Win2)
|
||||
OUT (Page3),A
|
||||
PUSH IX
|
||||
LD E,(IX+2) ;Xo
|
||||
@ -1104,7 +1103,7 @@ SetDialInv:
|
||||
LD IX,DialData
|
||||
IN A,(Page3)
|
||||
PUSH AF ;á®åà.page4
|
||||
kk6: LD A,(Win2)
|
||||
kk6: LD A,(hPages.Win2)
|
||||
OUT (Page3),A ;¢ª«.¡ãä¥à
|
||||
LD L,C
|
||||
LD H,1
|
||||
@ -1154,7 +1153,7 @@ ResDialInv:
|
||||
PUSH IX
|
||||
IN A,(Page3)
|
||||
PUSH AF ;á®åà.page4
|
||||
kk7: LD A,(Win2)
|
||||
kk7: LD A,(hPages.Win2)
|
||||
OUT (Page3),A ;¢ª«.¡ãä¥à
|
||||
LD HL,(RDlIbuf+2)
|
||||
LD A,(RDlIlen+1)
|
||||
@ -1201,7 +1200,7 @@ ResClasInv:
|
||||
PUSH IX
|
||||
IN A,(Page3)
|
||||
PUSH AF ;á®åà.page4
|
||||
kk8: LD A,(Win2)
|
||||
kk8: LD A,(hPages.Win2)
|
||||
OUT (Page3),A ;¢ª«.¡ãä¥à
|
||||
PUSH HL
|
||||
LD HL,(RClIbuf+2)
|
||||
@ -1270,7 +1269,7 @@ pdln: LD A,E
|
||||
SUB E
|
||||
LD L,A
|
||||
DI
|
||||
kk9: LD A,(Win2)
|
||||
kk9: LD A,(hPages.Win2)
|
||||
LD B,A
|
||||
XOR A
|
||||
LD C,BIOS.WIN_RESTORE
|
||||
@ -1317,7 +1316,6 @@ ColLstBxHI: EQU 1Eh ; 梥
|
||||
ColScrlBar: EQU 0Fh ; 梥â áªà®««-¡ à
|
||||
ColInpLine: EQU 0Eh ; 梥â । ªâ. ¯®«ï ¬¥âª¨ ¤¨áª¥âë
|
||||
|
||||
ColDialWn: DB 17h ; 梥⠮ª
|
||||
ColDialInv: EQU 0Fh ; color dialog window invert
|
||||
ColDialInv1: EQU 07h ; color dialog window invert
|
||||
|
||||
@ -1326,6 +1324,7 @@ ColFormNumber: EQU 3Eh ; 梥
|
||||
ColorFrame: EQU ColFormText ; 梥â à ¬ª¨ ®¡ê¥ªâ Frame
|
||||
|
||||
|
||||
ColDialWn: DB 17h ; 梥⠮ª
|
||||
|
||||
FramDSl: DB "ɻȼͺºº" ; à ¬ª ®ª
|
||||
|
||||
@ -1345,7 +1344,7 @@ SavDial: PUSH IX
|
||||
EXX
|
||||
DI
|
||||
LD IX,WinBoxBuff ;Address Box buffers
|
||||
kk1: LD A,(Win2) ;Page buffer
|
||||
kk1: LD A,(hPages.Win2) ;Page buffer
|
||||
LD B,A
|
||||
XOR A
|
||||
LD C,BIOS.WIN_COPY ; ª®¯¨à. ¨§ ®ª ¢ ¡ãä¥à
|
||||
|
||||
17
ESTEX.ASM
17
ESTEX.ASM
@ -37,7 +37,7 @@ CopySysFiles: xor a
|
||||
; ¯à®ç¨â âì ä ©«
|
||||
in a,(Page3)
|
||||
push af
|
||||
ld a,(SBuff0)
|
||||
ld a,(hPages.SBuff0)
|
||||
out (Page3),a ; ¯®¤ª«. ¡ãä¥à
|
||||
ld a,(hFile1)
|
||||
call ReadFile
|
||||
@ -91,7 +91,7 @@ tinRead: ld (Number2),ix ;
|
||||
; ¯à®ç¨â âì ä ©«
|
||||
in a,(Page3)
|
||||
push af
|
||||
ld a,(SBuff1)
|
||||
ld a,(hPages.SBuff1)
|
||||
out (Page3),a ; ¯®¤ª«. 1-î áâà ¨æã
|
||||
ld a,(hFile2)
|
||||
call ReadFile
|
||||
@ -101,7 +101,7 @@ tinRead: ld (Number2),ix ;
|
||||
jr z,endRead ; ¯à®ç¨â ¢¥áì ä ©«
|
||||
; ç¨â ¥¬ ®áâ ⮪ ä ©«
|
||||
ost: ld de,0
|
||||
ld a,(SBuff2)
|
||||
ld a,(hPages.SBuff2)
|
||||
out (Page3),a ; ¯®¤ª«. 2-î áâà ¨æã
|
||||
ld hl,WinBoxBuff ; ¡ãä¥à ¯®¤ ¤ ë¥
|
||||
ld a,(hFile2)
|
||||
@ -154,7 +154,7 @@ WriteSysFiles: ld a,(sFlag)
|
||||
; § ¯¨á âì ä ©«
|
||||
in a,(Page3)
|
||||
push af
|
||||
ld a,(SBuff0)
|
||||
ld a,(hPages.SBuff0)
|
||||
out (Page3),a ; ¯®¤ª«. ¡ãä¥à
|
||||
ld de,(Number1) ; ç¨á«® § ¯¨á. ¡ ©â
|
||||
ld a,(hFile1) ; åí¤«
|
||||
@ -177,7 +177,7 @@ WriteSysFiles: ld a,(sFlag)
|
||||
; § ¯¨á âì ä ©«
|
||||
in a,(Page3)
|
||||
push af
|
||||
ld a,(SBuff1)
|
||||
ld a,(hPages.SBuff1)
|
||||
out (Page3),a ; ¯®¤ª«. 1-î áâà ¨æã
|
||||
ld de,(Number2) ; à §¬¥à "system.dos"
|
||||
ld hl,4000h ; 1- áâà ¨æ
|
||||
@ -191,7 +191,7 @@ WriteSysFiles: ld a,(sFlag)
|
||||
call WriteFile
|
||||
pop de
|
||||
jr c,err1 ; ®è¨¡ª § ¯¨á¨ ä ©«
|
||||
ld a,(SBuff2)
|
||||
ld a,(hPages.SBuff2)
|
||||
out (Page3),a ; ¯®¤ª«. 2-î áâà ¨æã
|
||||
;
|
||||
tinFile: ld a,(hFile2) ; åí¤«
|
||||
@ -323,7 +323,7 @@ RootDir: db '\',0 ;
|
||||
;
|
||||
CurPath:
|
||||
CurDisk: db 0,':\' ; á®åà. ⥪. ¤¨áª
|
||||
CurDir: ds 256 ; á®åà. ⥪ã騩 ¯ãâì (ª â «®£)
|
||||
|
||||
;
|
||||
TmpColor: db 0 ; ¢à¥¬. á®åà. 梥⠮ª
|
||||
|
||||
@ -331,7 +331,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 ; ¤¥áªà¨¯â®à ä ©«
|
||||
@ -570,7 +569,7 @@ CopyBootTRD: xor a
|
||||
; ¯à®ç¨â âì ä ©«
|
||||
in a,(Page3)
|
||||
push af
|
||||
ld a,(TRBoot)
|
||||
ld a,(hPages.TRBoot)
|
||||
out (Page3),a ; ¯®¤ª«. ¡ãä¥à
|
||||
; ç¨â ¥¬ § £®«®¢®ª ¡ãâ
|
||||
ld hl,NameBt ; ¡ãä¥à ¯®¤ ¤ ë¥
|
||||
|
||||
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
|
||||
|
||||
118
FMAIN.ASM
118
FMAIN.ASM
@ -29,7 +29,7 @@ WinBoxBuff equ 0xC000 ;
|
||||
|
||||
db 'EX' ; exe ID
|
||||
db 'E' ; exe ⨯
|
||||
db 0 ; exe ¢¥àá¨ï
|
||||
db 1 ; exe ¢¥àá¨ï
|
||||
dw 512 ; ¬«. ᬥé. ª®¤
|
||||
dw 0 ; áâ. ᬥé. ª®¤
|
||||
dw 0 ; end-beg, ¯¥à¢¨çë© § £àã§ç¨ª
|
||||
@ -49,17 +49,17 @@ 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)
|
||||
ld a,(hPages.BuffSys2)
|
||||
out (Page3),a
|
||||
; ®ç¨áâ¨âì ¡ãä¥à ª« ¢ë
|
||||
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
|
||||
|
||||
|
||||
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> ç «® ¯à®£à ¬¬ë =========================[]
|
||||
|
||||
@ -132,47 +116,60 @@ Begin: ;
|
||||
RST ToDSS
|
||||
continue: call ReadInit ; ç⥨¥ "fformat.ini" ¨ áâனª
|
||||
call CopyBootTRD ; ᪮¯¨à. ¡ãâ ¨§ "boot.$b" (¥á«¨ ¥áâì)
|
||||
|
||||
call CopySysFiles ; ᪮¯¨à. á¨áâ. ä ©«ë ¢ ¡ãä¥àë
|
||||
|
||||
|
||||
|
||||
;[]==============================================================[]
|
||||
include "dialog.asm"
|
||||
include "listbox.asm"
|
||||
include "radio.asm"
|
||||
include "mouse.asm"
|
||||
include "map.asm"
|
||||
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
|
||||
; 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+1: 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>ãä¥à § £®«®¢ª ¢ë¢®¤. ®ª
|
||||
@ -182,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-2025 "
|
||||
;
|
||||
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
|
||||
;[]==============================================================[]
|
||||
|
||||
|
||||
;[]==============================================================[]
|
||||
; <20>ãä¥à á¨á⥬®© ®¡« á⨠¤¨áª¥âë
|
||||
L2400:
|
||||
|
||||
L2400 equ ES_BPB+512*4 ;!HARDCODE 4 - bootloader size
|
||||
;[]==============================================================[]
|
||||
@ -96,6 +96,7 @@ FFORM1: call ClearMap ;
|
||||
ld a,(_OS)
|
||||
or a
|
||||
jp nz,okno1 ; ¯à¨ tr-dos, cp/m-80
|
||||
;
|
||||
ld a,(cSystem) ; ä« £ ª®¯¨à. á¨á⥬ëå ä ©«®¢
|
||||
or a
|
||||
call nz,WriteSysFiles ; § ¯¨áì á¨áâ. ä ©«®¢ ¤¨áª¥âã
|
||||
@ -354,7 +355,9 @@ 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,6 +375,8 @@ _msdos: ld a,(media5) ;
|
||||
add hl,de
|
||||
ex de,hl
|
||||
ldir
|
||||
;
|
||||
; bpb boot loader
|
||||
ld a,(cSystem) ; ä« £ á®§¤ ¨ï á¨áâ. ¤¨áª¥âë
|
||||
or a
|
||||
jr z,.loc2
|
||||
@ -381,12 +386,13 @@ _msdos: ld a,(media5) ;
|
||||
ld bc,1536 ; 512*3 ᥪâ. = à §¬¥à § £àã§ç¨ª
|
||||
ldir
|
||||
; ᪮à४â. BPB ¢ ¡ãä¥à¥
|
||||
ld a,(media5)
|
||||
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
|
||||
@ -411,6 +417,13 @@ L08F6: call L0906 ;
|
||||
ld (sect),a
|
||||
loc03: cp 18+1 ; § ¯à¥¤. ᥪâ®à ?
|
||||
jr nz,L08F6
|
||||
; § ¯¨áì § £àã§ç¨ª ç¥à¥§ sys
|
||||
ld a,(cSystem) ; ä« £ á®§¤ ¨ï á¨áâ. ¤¨áª¥âë
|
||||
or a
|
||||
ret z
|
||||
;
|
||||
|
||||
;
|
||||
ret
|
||||
|
||||
; ‡ ¯¨áì á¨áâ. ®¡« á⨠TR-DOS.
|
||||
@ -506,7 +519,7 @@ _trdos: xor a ;
|
||||
copy1: exx
|
||||
in a,(Page1)
|
||||
ex af,af'
|
||||
ld a,(TRBoot)
|
||||
ld a,(hPages.TRBoot)
|
||||
out (Page1),a ; ¯®¤ª«. ¡ãä¥à
|
||||
ld hl,4000h ; ç «® Page1
|
||||
ld de,L2400+1000h
|
||||
@ -575,7 +588,7 @@ A0875: push de
|
||||
; ‡ ¯¨áì ¤®à®¦ª¨
|
||||
L091B: in a,(Page3)
|
||||
push af
|
||||
ld a,(BuffTrk)
|
||||
ld a,(hPages.BuffTrk)
|
||||
out (Page3),a ; ¯®¤ª«. ¡ãä¥à áâàãªâãàë ¤®à®¦ª¨
|
||||
ld hl,L4000 ; ç «® ¤ ëå
|
||||
ld (L0AC8),hl
|
||||
@ -728,7 +741,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 +752,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 +770,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 +821,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
|
||||
@ -923,7 +936,7 @@ GAP3 dw 108 ;
|
||||
; <20>®¤£®â®¢¨âì § £®«®¢ª¨ ᥪâ®à®¢ ¤®à®¦ª¨ (®¤®© áâ®à®ë)
|
||||
L0BAA: in a,(Page3)
|
||||
push af
|
||||
ld a,(BuffTrk)
|
||||
ld a,(hPages.BuffTrk)
|
||||
out (Page3),a ; ¯®¤ª«. ¡ãä¥à ¤®à®¦ª¨
|
||||
xor a
|
||||
ld (L0BA9),a ; ®¡ã«¨âì áç¥â稪 ᥪâ®à®¢
|
||||
@ -978,7 +991,7 @@ loc05: cp 18 ;
|
||||
; <20>ãä¥à: 0xC000..0xFFFF
|
||||
L0B21: in a,(Page3)
|
||||
push af
|
||||
ld a,(BuffTrk)
|
||||
ld a,(hPages.BuffTrk)
|
||||
out (Page3),a ; ¯®¤ª«. ¡ãä¥à ¤®à®¦ª¨
|
||||
call CLEAR ; § ¯®«¨âì ¡ãä¥à ª®¤®¬ 0x4E
|
||||
ld hl,L4000 ; ç «® ¡ãä¥à ¤ ëå ¤®à®¦ª¨
|
||||
@ -1090,7 +1103,7 @@ L09A8: ld de,L2400 ;
|
||||
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
|
||||
@ -1118,7 +1131,7 @@ frm1: ld a,18 ;
|
||||
ld (loc05+1),a
|
||||
ld (loc08+1),a
|
||||
SSect: ld hl,18 ; ᥪâ®à®¢ áâ®à®ã
|
||||
ld (media6),hl ;;
|
||||
ld (MS_Boot.media6),hl
|
||||
inc a ; § ¯à¥¤. ᥪâ®à
|
||||
ld (loc02+1),a
|
||||
ld (loc03+1),a
|
||||
@ -1126,17 +1139,17 @@ SSect: ld hl,18 ; ᥪ
|
||||
frm2: ld a,34 ; ¯®á«. á«ã¦. ᥪâ®à ¤¨áª¥âë
|
||||
ld (LastSect),a
|
||||
frm3: ld a,1 ; ᥪâ®à®¢ ª« áâ¥à
|
||||
ld (media1),a
|
||||
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 +1267,7 @@ L0BFF: ld a,(density)
|
||||
call InitElapsedTime ; á®åà. ¨ á¡à®á¨âì ¢à¥¬ï
|
||||
call L07AF ; ®¦¨¤ ¨¥ £®â®¢®á⨠£¬¤
|
||||
; 横« ä®à¬ â. ¤®à®¦¥ª
|
||||
L0C14: call L0BDA ; ä®à¬ â¨à®¢ ¨¥
|
||||
L0C14: call FORMAT_TRK ; ä®à¬ â¨à®¢ ¨¥
|
||||
ret c ; ä®à¬ â. ¯à¥à¢ ®
|
||||
ret nz ; ¥áâì ®è¨¡ª¨ ç⥨ï
|
||||
; ¥â ®è¨¡®ª
|
||||
@ -1271,30 +1284,30 @@ TRACKS: ld a,82
|
||||
|
||||
|
||||
; ”®à¬ â¨à. ®¤®© ¤®à®¦ª¨
|
||||
L0BDA: xor a
|
||||
ld (side),a ; ⥪. áâ®à®
|
||||
ld (RetCode),a ; á¡à. ¢®§¢à. ª®¤
|
||||
L0BDE: ;ld a,2
|
||||
;ld (L0C64),a ; ç¨á«® 3-å à §®¢ëå ¯®¯ë⮪
|
||||
call L0BAA ; ¨¨æ. § £®«®¢ª®¢ ᥪâ®à®¢ ¤®à®¦ª¨
|
||||
call L0759 ; ãáâ. £®«®¢ªã ⥪. ¤®à®¦ªã
|
||||
call L091B ; § ¯¨áì æ¥«®© ¤®à®¦ª¨
|
||||
call L0C87 ; â¥áâ ç⥨¥ ᥪâ®à®¢ ®¤®© áâ®à®ë
|
||||
ret c ; ¢ë室 - ¯à®æ¥áá ¯à¥à¢
|
||||
ret nz ; ¥áâì ®è¨¡ª¨ ç⥨ï
|
||||
call Map ; ¢ë¢®¤ ª àâë
|
||||
call L0D93 ; ¢ë¢®¤ "Side: X"
|
||||
call L0D92 ; ¢ë¢®¤ "Cylinder: XX"
|
||||
call ElapsedTime ; ¢ë¢®¤ ¢à¥¬¥¨ à ¡®âë
|
||||
call L0D25 ; ¯à¨§ ª ¦ â¨ï ª« ¢¨è¨
|
||||
ret c ; ¯à®æ¥áá ¯à¥à¢
|
||||
ld hl,side
|
||||
inc (hl) ; ᬥ áâ®à®ë
|
||||
ld a,(hl) ; ⥪. áâ®à®
|
||||
cp 1+1 ; § ¯à¥¤¥«ì ï ?
|
||||
jr nz,L0BDE
|
||||
xor a
|
||||
ret
|
||||
FORMAT_TRK: xor a
|
||||
ld (side),a ; ⥪. áâ®à®
|
||||
ld (RetCode),a ; á¡à. ¢®§¢à. ª®¤
|
||||
.loop: ;ld a,2
|
||||
;ld (L0C64),a ; ç¨á«® 3-å à §®¢ëå ¯®¯ë⮪
|
||||
call L0BAA ; ¨¨æ. § £®«®¢ª®¢ ᥪâ®à®¢ ¤®à®¦ª¨
|
||||
call L0759 ; ãáâ. £®«®¢ªã ⥪. ¤®à®¦ªã
|
||||
call L091B ; § ¯¨áì æ¥«®© ¤®à®¦ª¨
|
||||
call L0C87 ; â¥áâ ç⥨¥ ᥪâ®à®¢ ®¤®© áâ®à®ë
|
||||
ret c ; ¢ë室 - ¯à®æ¥áá ¯à¥à¢
|
||||
ret nz ; ¥áâì ®è¨¡ª¨ ç⥨ï
|
||||
call Map ; ¢ë¢®¤ ª àâë
|
||||
call L0D93 ; ¢ë¢®¤ "Side: X"
|
||||
call L0D92 ; ¢ë¢®¤ "Cylinder: XX"
|
||||
call ElapsedTime ; ¢ë¢®¤ ¢à¥¬¥¨ à ¡®âë
|
||||
call L0D25 ; ¯à¨§ ª ¦ â¨ï ª« ¢¨è¨
|
||||
ret c ; ¯à®æ¥áá ¯à¥à¢
|
||||
ld hl,side
|
||||
inc (hl) ; ᬥ áâ®à®ë
|
||||
ld a,(hl) ; ⥪. áâ®à®
|
||||
cp 1+1 ; § ¯à¥¤¥«ì ï ?
|
||||
jr nz,.loop
|
||||
xor a
|
||||
ret
|
||||
|
||||
|
||||
|
||||
@ -1483,99 +1496,97 @@ CalcTime:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;-------------------------------------------------+
|
||||
; MS-DOS § £àã§ç¨ª ¤¨áª¥â (¨§ fformat), 512 ¡ ©â. |
|
||||
; ä®à¬ â 1.44Mb. |
|
||||
; ¤«ï 720kB á¬. ¬¥âªã '#' |
|
||||
;-------------------------------------------------+
|
||||
MS_Boot:
|
||||
db 0xEB,0x3C,0x90 ; 3 ¡ ©â , ª®¤ ¯¥à¥å®¤ § £àã§ç¨ª
|
||||
db "DSS 1.60" ; 8 ¡ ©â, OEM ID
|
||||
;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, ᥪâ®à®¢ áâ®à®ã
|
||||
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 ¡ ©â, ¬¥âª ¤¨áª¥âë
|
||||
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
|
||||
.pc_code: db 0xEB,0x3C,0x90 ; 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, ᥪâ®à®¢ ª« áâ¥à
|
||||
.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-§ ¯¨á¨
|
||||
.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
|
||||
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
|
||||
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
|
||||
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 "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,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
|
||||
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
|
||||
*/
|
||||
|
||||
|
||||
|
||||
@ -816,7 +816,7 @@ LstBoxInv:
|
||||
PUSH DE
|
||||
IN A,(Page3)
|
||||
PUSH AF
|
||||
LD A,(Win2)
|
||||
LD A,(hPages.Win2)
|
||||
OUT (Page3),A
|
||||
LD A,(IY+3)
|
||||
SUB (IY+2)
|
||||
@ -862,7 +862,7 @@ PrnLstBox:
|
||||
PUSH IX
|
||||
IN A,(Page3)
|
||||
PUSH AF
|
||||
LD A,(Win2)
|
||||
LD A,(hPages.Win2)
|
||||
OUT (Page3),A
|
||||
PUSH IX
|
||||
POP IY
|
||||
@ -1007,7 +1007,7 @@ LBB1: ld a,l
|
||||
CALL GetPutA
|
||||
IN A,(Page3)
|
||||
PUSH AF
|
||||
LD A,(Win2)
|
||||
LD A,(hPages.Win2)
|
||||
OUT (Page3),A
|
||||
LD A,"±"
|
||||
LD (DE),A
|
||||
@ -1048,7 +1048,7 @@ LBe1: POP DE
|
||||
CALL GetPutA
|
||||
IN A,(Page3)
|
||||
PUSH AF
|
||||
LD A,(Win2)
|
||||
LD A,(hPages.Win2)
|
||||
OUT (Page3),A
|
||||
LD A,"þ"
|
||||
LD (DE),A
|
||||
|
||||
28
MAIN.ASM
28
MAIN.ASM
@ -32,22 +32,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: ld (SLOT1),a
|
||||
LD HL,#6200 ;!HARDCODE
|
||||
LD BC,Dss.AppInfo.EXE_HomeDir
|
||||
RST ToDSS
|
||||
;
|
||||
|
||||
@ -1329,7 +1329,7 @@ prne: LD A,(IY+2)
|
||||
LD B,0
|
||||
IN A,(Page3)
|
||||
PUSH AF
|
||||
LD A,(Win2)
|
||||
LD A,(hPages.Win2)
|
||||
OUT (Page3),A
|
||||
LDI
|
||||
INC DE
|
||||
@ -1473,7 +1473,7 @@ SetClasInv:
|
||||
LD IX,DialData
|
||||
IN A,(Page3)
|
||||
PUSH AF ;á®åà.page4
|
||||
LD A,(Win2)
|
||||
LD A,(hPages.Win2)
|
||||
OUT (Page3),A ;¢ª«.¡ãä¥à
|
||||
PUSH HL
|
||||
LD L,C ;Len X
|
||||
@ -1839,7 +1839,7 @@ ChangL1: INC HL ;Begin elements claster
|
||||
POP HL ;Reset begin elem table
|
||||
IN A,(Page3)
|
||||
PUSH AF
|
||||
LD A,(Win2)
|
||||
LD A,(hPages.Win2)
|
||||
OUT (Page3),A
|
||||
ChangL2: LD D,(HL) ;Ypos
|
||||
INC HL
|
||||
@ -1906,7 +1906,7 @@ cl1: BIT 7,(HL)
|
||||
;Change radio button ([x])
|
||||
ChangeR: IN A,(Page3)
|
||||
PUSH AF
|
||||
LD A,(Win2)
|
||||
LD A,(hPages.Win2)
|
||||
OUT (Page3),A
|
||||
LD D,(HL) ;Ypos
|
||||
INC HL
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit cc0a75f6bc7b141622c1c904a2db4e91d54aaf8d
|
||||
Subproject commit 68e156a69e848e7b01656cdf67122022999d75ee
|
||||
Loading…
Reference in New Issue
Block a user