небольшие оптимизации

This commit is contained in:
Anatoliy Belyanskiy 2023-07-04 22:58:09 +10:00
parent 8965dee742
commit 4fc3220d28
12 changed files with 67 additions and 62 deletions

View File

@ -39,10 +39,10 @@ BOOTDRIVE DB "C:",0
CRLF LD A,#0D CRLF LD A,#0D
LD C,DSS_PUTCHAR LD C,DSS_PUTCHAR
RST #10 RST ToDSS
LD A,#0A LD A,#0A
LD C,DSS_PUTCHAR LD C,DSS_PUTCHAR
RST #10 RST ToDSS
RET RET
ERROR LD E,A ERROR LD E,A

View File

@ -24,9 +24,7 @@ CDRIVE EQU #02
DRIVE: DRIVE: _mSYSID
_mSYSID
DI DI
LD (DRIVE),A LD (DRIVE),A
LD C,BIOS.EXT_VERSION LD C,BIOS.EXT_VERSION

View File

@ -416,10 +416,13 @@ NOSPC INC HL
JP (HL) JP (HL)
COMP002 XOR A COMP002 XOR A
LD C,#FF ;!TEST
;LD C,#FF
.loop: CPI ;!FIXIT CPIR LD C,A
JP NZ,.loop CPIR
.loop: ;CPI
;JP NZ,.loop
;
INC HL INC HL
INC HL INC HL
@ -530,6 +533,7 @@ RUN_BAT CALL BATCH
JP C,EXEERR JP C,EXEERR
RET RET
; !! <09>¥ ¤¥« âì ®¤­ã ª®¬ ­¤ã > 256 ᨬ¢®«®¢)) !!
BATLIST DZ 'PAUSE' : DW CPAUSE BATLIST DZ 'PAUSE' : DW CPAUSE
DZ 'REM' : DW CREM DZ 'REM' : DW CREM
CMDLIST DZ 'CD' : DW CCHDIR CMDLIST DZ 'CD' : DW CCHDIR
@ -1274,13 +1278,12 @@ PDIGIT LD DE,10000
LD A,L LD A,L
ADD A,#30 ADD A,#30
; !FIXIT ;!TEST
LD (IX+0),A
INC IX
LD (IX+0),0
; ­  íâ®:
;LD (IX+0),A ;LD (IX+0),A
; LD (IX+1),0 ;INC IX
;LD (IX+0),0
LD (IX+0),A
LD (IX+1),0
RET RET
DIG XOR A DIG XOR A

View File

@ -251,7 +251,7 @@ PORTAL.outMAIN: ;
.BPB_PHISICAL_DRIVE_NUMBER: WORD #80 ; +#24 PHISICAL DRIVE NUMBER .BPB_PHISICAL_DRIVE_NUMBER: WORD #80 ; +#24 PHISICAL DRIVE NUMBER
.BPB_EXT_BOOT_RECORD_SIGNATURE: BYTE #29 ; +#26 EXTENDED BOOT RECORD SIGNATURE .BPB_EXT_BOOT_RECORD_SIGNATURE: BYTE #29 ; +#26 EXTENDED BOOT RECORD SIGNATURE
.BPB_SERIAL_NUMBER: DWORD 0 ; +#27 VOLUME SERIAL NUMBER .BPB_SERIAL_NUMBER: DWORD 0 ; +#27 VOLUME SERIAL NUMBER
.BPB_LABEL: TEXT 8,{"NO NAME"," "} ; +#2B DISK LABEL .BPB_LABEL: TEXT 11,{"NO NAME"," "} ; +#2B DISK LABEL
.ID_FAT: TEXT 8,{"FAT16"," "} ; +#36 FILE SYSTEM ID ( BPB_FS_ID ) .ID_FAT: TEXT 8,{"FAT16"," "} ; +#36 FILE SYSTEM ID ( BPB_FS_ID )
ENDS ENDS
*/ */
@ -494,27 +494,25 @@ SECBUF EQU BUFFER
; !!!!! íâ  ¯à®æ¥¤ãà  § âàñâáï ¯®á«¥ ¨á¯®«­¥­¨ï ; !!!!! íâ  ¯à®æ¥¤ãà  § âàñâáï ¯®á«¥ ¨á¯®«­¥­¨ï
DEPLOY: DEPLOY:
;Allocate memory ;Allocate memory
LD BC,USING_MEMPAGES*256+#C2 LD BC,USING_MEMPAGES*256 + BIOS.GetMem
RST ToBIOS ;GET DSS PAGES HANDLE
RET C ;R10
LD HL,BANKTBL
LD C,A
LD B,#FF
.loop: INC B
PUSH BC
PUSH HL
LD A,C
LD C,#C4 ; !FIXIT ­  .GetMemBlkPages - ¯¨å âì íâã áâà ­¨æã ¢ á«®â 1 (®­  ¡ã¤¥â ¨ ¢ 0 ᫮⥠¨ ¢ 1) ¨ ¢ë§ë¢ âì ¡¨®á
RST ToBIOS RST ToBIOS
RET C ;R10
LD C,A
POP HL IN A,(SLOT3)
POP BC PUSH AF
LD (HL),A
INC HL
JR NC,.loop
;
IN A,(SLOT0) IN A,(SLOT0)
LD (DRV.MAIN_PG_NUMBER),A LD (DRV.MAIN_PG_NUMBER),A
OUT (SLOT3),A
LD A,C
LD HL,BANKTBL + #C000
LD C,BIOS.GetMemBlkPages
RST ToBIOS
POP AF
OUT (SLOT3),A
LD A,DRVPAGE LD A,DRVPAGE
CALL BANK CALL BANK
PUSH AF PUSH AF

View File

@ -878,7 +878,7 @@ LOADDIR:
LD A,DIRPAGE LD A,DIRPAGE
CALL BANK CALL BANK
PUSH AF PUSH AF
;!FIXIT ᫨誮¬ ¤®«£® ;!TEST no ldir
;LD HL,#C000 ;LD HL,#C000
;LD DE,#C001 ;LD DE,#C001
;LD BC,#3FFF ;LD BC,#3FFF

View File

@ -62,7 +62,7 @@ FM_BUF: _sFM
SET_FM: SET_FM:
_mFM_FIND _mFM_FIND
LD A,0 ;!FIXIT ­®¬¥à ®è¨¡ª¨ LD A,0 ;!HARDCODE ­®¬¥à ®è¨¡ª¨
RET NZ RET NZ
ABS_FM LD A,DSS_Error.sys.INVALID_HANDLE ABS_FM LD A,DSS_Error.sys.INVALID_HANDLE
SCF SCF

View File

@ -443,6 +443,7 @@ FatBuffer:
; ;
DIRSPEC: DB '\' DIRSPEC: DB '\'
;BLOCK DIRSPEC.DEPTH,0 ;????? <20>ë«® 255, ã ‘ ©¬ ­  256
BLOCK DIRSPEC.DEPTH-1,0 ;????? <20>ë«® 255, ã ‘ ©¬ ­  256 BLOCK DIRSPEC.DEPTH-1,0 ;????? <20>ë«® 255, ã ‘ ©¬ ­  256
; ;
@ -520,12 +521,14 @@ BACK_CUR_PATH:
;R12 ;R12
SCANDRV: SCANDRV:
DI ;!FIXIT ¢ DRV-MAIN ¬®£ãâ ¡ëâì ¯à®¡«¥¬ë á ¯à¥à뢠­¨ï¬¨ ;!TEST ¢ DRV-MAIN ¬®£ãâ ¡ëâì ¯à®¡«¥¬ë á ¯à¥à뢠­¨ï¬¨
LD A,#FF ;DI
LD C,#FF LD A,Dss.DRV.RescanDRV
RST #18 LD C,Dss.DRV.RescanDRV
RST ToDSS.DRV
LD (LDRIVE),A LD (LDRIVE),A
EI ;EI
;
RET RET
;R12 ;R12

View File

@ -113,7 +113,7 @@ RST_30:
; <[MAIN INT]> ; ; <[MAIN INT]> ;
BLOCK #38-$,#FF ; BLOCK #38-$,#FF ;
A0038: ; A0038: ;
// JP RST_38 ; ; JP RST_38 ;
; RST_38: ; ; RST_38: ;
; INT_: PUSH AF ; ; INT_: PUSH AF ;
; EX AF,AF' ; ; EX AF,AF' ;
@ -227,7 +227,6 @@ LDRIVE DB #00
INCLUDE 'disk_x.asm' INCLUDE 'disk_x.asm'
INCLUDE 'ide_drv0.asm' INCLUDE 'ide_drv0.asm'
INCLUDE 'fdd_drv0.asm' INCLUDE 'fdd_drv0.asm'
;INCLUDE 'ram_drv0.asm'
INCLUDE 'ram_drv1.asm' INCLUDE 'ram_drv1.asm'
DB 0 DB 0

View File

@ -471,7 +471,11 @@ RESE_H XOR A
STAT_H XOR A STAT_H XOR A
RET RET
CHEK_H LD A,#FF CHEK_H:
;!TEST
;LD A,#FF
XOR A
;
AND A AND A
RET RET

View File

@ -312,7 +312,7 @@ TESTKEY LD HL,HOST
; RET ; RET
; K_C3 LD C,B ; K_C3 LD C,B
; RST #10 ; RST ToDSS
; RET ; RET
;small optimization ;small optimization

@ -1 +1 @@
Subproject commit ced877c153d64941d9ab3a1808d21bc559113e4b Subproject commit 3fa91af2db4f96a96f3342d7291deb4d63a90591