This commit is contained in:
Anatoliy Belyanskiy 2023-07-15 05:04:58 +10:00
parent 258ea31f21
commit 33f7fbc6b0
8 changed files with 643 additions and 285 deletions

View File

@ -1,11 +1,10 @@
; <20>®α«¥¤­οο । <C2A4>ζ¨ο: 25.04.2006 ;!TODO ®¯à¥¤¥«¥­¨¥ ¯®¯ë⪨ ᤥ« âì § £àã§®ç­ë¬ ­¥ ¯¥à¢ë© à §¤¥«
; <20>®á«¥¤­ïï । ªæ¨ï: 25.04.2006
; <20>ணࠬ¬  § ¯¨á¨ ­  FDD/HDD boot-§ £àã§ç¨ª  ¨ ä ©«®¢ á¨á⥬ë. ; <20>ணࠬ¬  § ¯¨á¨ ­  FDD/HDD boot-§ £àã§ç¨ª  ¨ ä ©«®¢ á¨á⥬ë.
; ;
; ‡ £à㦠¥â á¨áâ. ä ©«ë ¨§ ª®à­ï ¤¨áª , á ª®â®à®£® ¡ë«  ; ‡ £à㦠¥â á¨áâ. ä ©«ë ¨§ ª®à­ï ¤¨áª , á ª®â®à®£® ¡ë« 
; § £à㦥­  á¨á⥬ . ; § £à㦥­  á¨á⥬ .
;
; ”¨âç¨ ¯à®£à ¬¬ë: ; ”¨âç¨ ¯à®£à ¬¬ë:
; ®â«¨ç¨¥ ®â ®à¨£¨­ «ì­®£® boot-¨­áâ ««ïâ®à , íâ  ¬®¦¥â ; ®â«¨ç¨¥ ®â ®à¨£¨­ «ì­®£® boot-¨­áâ ««ïâ®à , íâ  ¬®¦¥â

File diff suppressed because it is too large Load Diff

View File

@ -11,6 +11,8 @@
DSS 1.70.2 DSS 1.70.2
<20>§¬¥­¥­¨ο ―®α«¥ Ά¥ΰᨨ 1.70 <20>§¬¥­¥­¨ο ―®α«¥ Ά¥ΰᨨ 1.70
[+] ¨á¯à ¢«¥­ ¡ £ á "C:\>CD E:\"
[+] ¨á¯à ¢«¥­ ¡ £ á ¯¥à¥ª«î祭¨¥¬ ­  ¤à㣮© ¤¨áª ¨§ ­¥ª®à­¥¢®© ¤¨à¥ªâ®à¨¨, ª®£¤  ­  ­®¢®¬ ¤¨áª¥ ®ª §ë¢ «áï ¢ ­¥áãé¥áâ¢ãî饩 ¤¨à¥ªâ®à¨¨
[+] ―ΰ¨ ηβ¥­¨¨/§ ―¨α¨ δ ©«  ­¥ ―நα室¨β ¨§΅λβ®η­®¥ ―¥ΰ¥η¨βλΆ ­¨¥ <20>« αβ¥ΰ®Ά ®β ­ η «  δ ©«  [+] ―ΰ¨ ηβ¥­¨¨/§ ―¨α¨ δ ©«  ­¥ ―நα室¨β ¨§΅λβ®η­®¥ ―¥ΰ¥η¨βλΆ ­¨¥ <20>« αβ¥ΰ®Ά ®β ­ η «  δ ©« 
[+] ―¥ΰ¥η¨βλΆ ­¨¥ BPB β¥―¥ΰμ ¤¥« ¥βαο ­¥ ­  <20> ¦¤λ© η¨ε,   <20>®£¤  ­ ¤® (¨ ΅ £  ―ΰ¨ § £ΰγ§<CEB3>¥ α ¤¨α<C2A8>  "B:" ­¥β :-P ) [+] ―¥ΰ¥η¨βλΆ ­¨¥ BPB β¥―¥ΰμ ¤¥« ¥βαο ­¥ ­  <20> ¦¤λ© η¨ε,   <20>®£¤  ­ ¤® (¨ ΅ £  ―ΰ¨ § £ΰγ§<CEB3>¥ α ¤¨α<C2A8>  "B:" ­¥β :-P )
[+] ¨§¬¥­¥­  ΰ ΅®β  α RAM DISK, β¥―¥ΰμ ®­ ¬®¦¥β ΅λβμ § £ΰγ§®η­λ¬ [+] ¨§¬¥­¥­  ΰ ΅®β  α RAM DISK, β¥―¥ΰμ ®­ ¬®¦¥β ΅λβμ § £ΰγ§®η­λ¬

View File

@ -642,7 +642,10 @@ GETWORD:
SUB #20 SUB #20
.next: SUB 'A' .next: SUB 'A'
PUSH HL PUSH HL
CALL OPENDSK ;!TEST CHNDISK OPENDSK
;CALL OPENDSK
CALL CHNDISK
;
POP HL POP HL
JP NC,GETWORD JP NC,GETWORD
RET RET

View File

@ -352,6 +352,7 @@ BLOK_WR PUSH BC
CALL DIV32 CALL DIV32
LD B,XH LD B,XH
LD C,XL LD C,XL
PUSH HL ;RESIDUE PUSH HL ;RESIDUE
LD L,(IY+_sFM.ST_CLUSTER) ;START CLUSTER LD L,(IY+_sFM.ST_CLUSTER) ;START CLUSTER
LD H,(IY+_sFM.ST_CLUSTER+1) LD H,(IY+_sFM.ST_CLUSTER+1)
@ -909,9 +910,29 @@ ADD_DE2: DJNZ ADD_DE1
ADC HL,DE ADC HL,DE
RET RET
; HL:DE / BC => DE:IX HL-OSTATOK ; HL:DE / BC => DE:IX HL-OSTATOK (DE:BC.HL)
DIV32: LD A,#FF
LD B,E
.loop: SRL C
JR C,.exitLoop
SRL H : RR L : RR D : RR E : SLA A
JP .loop
.exitLoop:
CPL
AND B
LD XH,D
LD XL,E
EX DE,HL
LD H,0
LD L,A
RET
/*
DEFINE NEW_DIV 1
DIV32: LD XH,D DIV32: LD XH,D
LD XL,E LD XL,E
IFN NEW_DIV
EX DE,HL EX DE,HL
LD HL,0 LD HL,0
LD A,#20 LD A,#20
@ -930,17 +951,82 @@ DIV002: INC IX
DEC A DEC A
JR NZ,DIV001 JR NZ,DIV001
RET RET
ELSE
//READCOD DB #00
//READMEM DW #0000 div32_16:
;HLIX/BC -> HLIX remainder DE
;174+4*div32_16_sub8
;min: 2186cc
;max: 2794cc
;avg: 2466cc
;61 bytes
ex de,hl ; 4
//SECTORH DW 0 ; Negate BC to allow add instead of sbc
//SECTORL DW 0 xor a ; 4
; Need to set HL to 0 anyways, so save 2cc and a byte
ld h,a ; 4
ld l,a ; 4
sub c ; 4
ld c,a ; 4
sbc a,a ; 4
sub b ; 4
ld b,a ; 4
//R_POINT DW 0
//S_POINT DW 0
;//MODULE: DOS_FM ld a,d ; 4
;[END] call div32_16_sub8 ; 17
rla ; 4
ld d,a ; 4
ld a,e ; 4
call div32_16_sub8 ; 17
rla ; 4
ld e,a ; 4
ld a,ixh ; 8
call div32_16_sub8 ; 17
rla ; 4
ld ixh,a ; 8
ld a,ixl ; 8
call div32_16_sub8 ; 17
rla ; 4
ld ixl,a ; 8
;ex de,hl ; 4
ret ; 10
div32_16_sub8:
;119+8*div32_16_sub
;min: 503cc
;max: 655cc
;avg: 573cc
call 1F
1:
;17+2(17+2(div32_16_sub)))
call 1F
1:
;17+2(div32_16_sub)
call div32_16_sub
div32_16_sub:
;48+{8,0+{0,19}}
;min: 48cc
;max: 67cc
;avg: 56.75cc
rla ; 4
adc hl,hl ; 15
jr c,1F ;12/7
add hl,bc ; 11
ret c ;11/5
sbc hl,bc ; 15
ret ; 10
1:
add hl,bc ; 11
scf ; 4
ret ; 10
ENDIF
*/
;

View File

@ -1,10 +1,31 @@
;------------------[ „®áâ ñ¬ ⥪ãéãî ¤ âã ¨ BUILD++ ]-----------------[]
LUA PASS1
dss_date, dss_month, dss_year = Get_date_RU(sj.get_define("__DATE__"))
dss_build = increase_build("./DSS/build.txt")
if dss_build > 999 then
dss_build = 999
print("WARNING! Build > 999","WARNING! Build > 999","WARNING! Build > 999","WARNING! Build > 999","\aWARNING! Build > 999\a")
end
ENDLUA
LUA ALLPASS
sj.insert_label("lua_DAY", dss_date)
sj.insert_label("lua_MONTH", dss_month)
sj.insert_label("lua_YEAR", dss_year)
sj.insert_label("lua_BUILD", dss_build)
ENDLUA
;---------------------------------------------------------------------[]
; ;
; DSS Version ; DSS full version
VERS EQU 01 ;Version Number (XX.) ; ­®¬¥à ¢¥àᨨ (0..9)
MODF EQU 70 ;Modification (.xx) VERS EQU 1
BUILD EQU 2 ; ­®¬¥à ¬®¤¨ä¨ª æ¨¨ (0..99)
MODF EQU 70
; ­®¬¥à ¡¨«¤  (0..999)
BUILD EQU lua_BUILD
; ;
; Release Types ; Release Types
RELEASE EQU 0 RELEASE EQU 0
RC EQU 1 RC EQU 1
@ -12,13 +33,13 @@ BETA EQU 2
DP EQU 3 DP EQU 3
; ;
; Bulid Type ; Build Type
OSTYPE EQU BETA OSTYPE EQU BETA
REVISION EQU 1 REVISION EQU 1
; ;
; Default date ; Current date
DAY EQU 30 DAY EQU lua_DAY
MONTH EQU 03 MONTH EQU lua_MONTH
YEAR EQU 2023 YEAR EQU lua_YEAR
; ;

1
DSS/build.txt Normal file
View File

@ -0,0 +1 @@
11

@ -1 +1 @@
Subproject commit 53ae29d127a926a372ada8fc8692afc7ecafdd9a Subproject commit eb8e55262317fea366bfb6b7d834dde90ff7307b