in progress: current dir for TR-DOS HDD

This commit is contained in:
Tolik 2024-07-18 05:40:16 +10:00
parent 5c1252ec86
commit 4fb389c80b
7 changed files with 30 additions and 13 deletions

@ -1 +1 @@
Subproject commit 4f546cb1d2cd8eeb1aec0de2c3e9902d1bb52fee
Subproject commit 77a51684d4d63ad2fdccf416793951df00276b17

Binary file not shown.

View File

@ -133,8 +133,8 @@ TAB_FNS:
DB low EMM.GetBanksPorts ; #96 ¯®«ãç¨âì  ¤à¥á  ¯®à⮢
DB low EMM.CheckColdInit ; #97 ¯à®¢¥àª  ­  宫®¤­ë© áâ àâ ¨ ¨­¨æ¨ «¨§ æ¨¨ ¥á«¨ ®­ ;????? ­ã¦­  «¨ ª ª API?
DB low RAMD_CALC_PAGE ; #98 ‚ëç¨á«¥­¨¥ áâà ­¨æë ¨  ¤à¥á  ¢ RAM-Disk ¯®  ¡á®«îâ­®¬ã ­®¬¥àã ᥪâ®à 
DB low SET_DISK_TYPE ; #99 ;?????
DB low DISK_REDIR ; #9A ;?????
DB low SET_DISK_REDIR ; #99 “áâ ­®¢¨âì ­  ⥪ã騩 ¤à ©¢ ¯¥à¥­ §­ ç¥­¨¥ (áâ à ï äã­ªæ¨ï ¤«ï TR-DOS!) ;?????
DB low GET_DISK_REDIR ; #9A <20>®«ãç¨âì ⨯ ­ §­ ç¥­¨ï ­  ⥪ã騩 ¤à ©¢ (áâ à ï äã­ªæ¨ï ¤«ï TR-DOS!)
DB low GET_RAMD_NUM ; #9B ¯®«ãç¨âì ­®¬¥à ram disk ¯® ¥£® block id
DB low SWAP_RAM_DRIVES ; #9C ᬥ­¨âì ­ ¡®à à ¬¤¨áª®¢ ZX <-> Sp2000
DB low EMM.DivMemBlocks ; #9D à §¤¥«¥­¨ï ¡«®ª  ­  ¤¢ .
@ -325,8 +325,8 @@ TAB_FNS:
DB high EMM.GetBanksPorts
DB high EMM.CheckColdInit
DB high RAMD_CALC_PAGE
DB high SET_DISK_TYPE
DB high DISK_REDIR
DB high SET_DISK_REDIR
DB high GET_DISK_REDIR
DB high GET_RAMD_NUM
DB high SWAP_RAM_DRIVES
DB high EMM.DivMemBlocks

View File

@ -951,7 +951,21 @@ PrepareToZX: ; Setup HDD drives for ZX Spectrum mode
JR Z,.start_zx
; find first good partition
;
IN A,(SLOT3)
EX AF,AF
LD A,SYS_PAGE
OUT (SLOT3),A
;
XOR A
LD H,A
LD L,A
LD (SYS_PAGE.CURRENT_DIR_SEC_L),HL
LD (SYS_PAGE.CURRENT_DIR_SEC_H),HL
EX AF,AF
OUT (SLOT3),A
EX AF,AF
.loop: CALL FN_HDD_PART
JR NC,.start_zx
POP AF

View File

@ -691,8 +691,8 @@ FN_HDD_INIT:
LD A,D
OUT (SLOT3),A
LD A,IDE.ATA.InitializeDeviceParameters ; SET HDD PARAMETERS
CALL HD_CMD_EXE
RET
;CALL HD_CMD_EXE
;RET
HD_CMD_EXE:
CALL HD_WAIT
RET C
@ -762,7 +762,7 @@ HD_CALC_SECS:
LD E,D
LD D,XL
LD A,XH
AND #0F ; ®£à ­¨ç¥­¨¥ ­  ~127 £¨£®¢
AND #0F ; LBA 28
LD H,A
RET
; CHS

View File

@ -1,6 +1,6 @@
;!TODO ¨á¯à ¢¨âì SLOT2 ­  SLOT3 ¨ § â¥áâ¨âì
;!TODO ¤®¡ ¢¨âì ®¯¨á ­¨¥
DISK_REDIR:
GET_DISK_REDIR:
PUSH HL
LD HL,SYS_PAGE.DISK_TYPE-#4000
IN A,(SLOT2)
@ -21,7 +21,7 @@ DISK_REDIR:
;!TODO ¨á¯à ¢¨âì SLOT2 ­  SLOT3 ¨ § â¥áâ¨âì, ­® ­¥ ¯®«ì§®¢ âìáï á⥪®¬ ⮣¤ 
;!TODO ¤®¡ ¢¨âì ®¯¨á ­¨¥
SET_DISK_TYPE:
SET_DISK_REDIR:
PUSH HL
LD HL,SYS_PAGE.DISK_TYPE-#4000
IN A,(SLOT2)
@ -104,13 +104,15 @@ RAMD_TO_DRV:
; HDD A, DRV - B
HDD_TO_DRV:
AND #0F
OR #40
LD C,A
LD A,B
CP 4
CCF
RET C
;
LD HL,SYS_PAGE.DISK_TYPE-#4000
LD H,high (SYS_PAGE.DISK_TYPE-#4000)
LD L,B
;
IN A,(SLOT2)
@ -118,7 +120,6 @@ HDD_TO_DRV:
LD A,SYS_PAGE
OUT (SLOT2),A
LD A,C
ADD A,#40
LD (HL),A
LD A,B
OUT (SLOT2),A

View File

@ -91,7 +91,9 @@ EMM.InitMem:
RESERVED_PAGES:
; [x] Block #1 - ¬®¦­® ®á¢®¡®¤¨âì ¯® ID 1
DB 1,3,4,6,7,8,9,10,11,12,13,14,15 ; for Spectrum
; í¬ã«ïâ®à <20>‡“ ;!FIXIT ROM-Emulator ᤥ« âì ¤¨­ ¬¨ç¥áª¨¥ áâà ­¨æë
;!FIXIT áâà ­¨æë 16..31 ­¥ § à¥§¥à¢¨à®¢ ­ë, ­® ¨á¯®«ì§ãîâáï ¢ Pentagon 512
;
; í¬ã«ïâ®à <20>‡“ ;!FIXIT ROM-Emulator ᤥ« âì ¤¨­ ¬¨ç¥áª¨¥ áâà ­¨æë
DB #42,#43,#44,#45,#46,#47;,#48,#49,#4A,#4B ; For (BASIC128, BASIC48, TRDOS, SCORP_ROM)*2, vBIOS, vEXTENSION
DB #FF ; End of the block
;