This commit is contained in:
Anatoliy Belyanskiy 2023-07-15 05:06:38 +10:00
parent d3467450ac
commit 4b3e8113f9
6 changed files with 122 additions and 59 deletions

@ -1 +1 @@
Subproject commit d3626cafdbc4a718c1bb02da6d4c3dc806875896
Subproject commit eb8e55262317fea366bfb6b7d834dde90ff7307b

View File

@ -72,37 +72,43 @@ RST_30:
; INTERUPT Point
RST38:
IF TEST_INT
;INT:
PUSH BC
PUSH AF
;INT:
PUSH BC
PUSH AF
LD C,SLOT3
IN B,(C)
LD A,SYS_PAGE
OUT (C),A
LD C,SLOT3
IN B,(C)
LD A,SYS_PAGE
OUT (C),A
LD A,(SYS_PAGE.INT_ID)
CP #AA
JR Z,YESINT
OUT (C),B
JP NOINT
YESINT: PUSH HL
LD HL,(SYS_PAGE.INT_ADRESS)
LD A,H
OR L
LD A,(SYS_PAGE.INT_PAGE)
OUT (C),B
PUSH DE
CALL NZ,EXTINT
POP DE
POP HL
NOINT: POP AF
POP BC
LD A,(SYS_PAGE.INT_ID)
CP #AA
JR Z,YESINT
OUT (C),B
JP NOINT
YESINT: PUSH HL
LD HL,(SYS_PAGE.INT_ADRESS)
LD A,H
OR L
LD A,(SYS_PAGE.INT_PAGE)
OUT (C),B
PUSH DE
CALL NZ,EXTINT
POP DE
POP HL
NOINT: POP AF
POP BC
EI
RETI
ELSE
; PUSH AF
; 1: DEC A
; JR NZ,1B
; POP AF
EI
RETI
ENDIF
EI
RETI
;RST10:
; CALL_48 10h
; RET

View File

@ -24,14 +24,36 @@
;[]===========================================================[]
;!FIXIT ¢á¥£¤  ¨¤¥â à ¡®â  á ¤ ­­ë¬¨ ¤«ï ¤¨áª  €
FDD_5x.GETMED:
;!TEST FDD 720/1440
IF FDD_NormalCount
LD IY,FDD_INI_TABLE.FDD_0
DEC A
JR C,.getParams
LD IY,FDD_INI_TABLE.FDD_1
.getParams:
ENDIF
IN A,(SLOT3)
EX AF,AF'
LD A,SYS_PAGE
OUT (SLOT3),A
LD HL,(FDD_INI_TABLE.FDD_0.SECTORS)
LD DE,(FDD_INI_TABLE.FDD_0.CYLINDL)
LD IX,(FDD_INI_TABLE.FDD_0.B_P_S)
LD A,(FDD_INI_TABLE.FDD_0.F144)
;!TEST FDD 720/1440
IF FDD_NormalCount
LD L,(IY+1) ;SECTORS
LD H,(IY+2) ;HEADS
LD E,(IY+3) ;CYLINDL
LD D,(IY+4) ;CYLINDH
LD A,(IY+5) ;B_P_S low
LD XL,A
LD A,(IY+6) ;B_P_S High
LD XH,A
LD A,(IY+0) ;F144/720
ELSE
LD HL,(FDD_INI_TABLE.FDD_0.SECTORS)
LD DE,(FDD_INI_TABLE.FDD_0.CYLINDL)
LD IX,(FDD_INI_TABLE.FDD_0.B_P_S)
LD A,(FDD_INI_TABLE.FDD_0.F144)
ENDIF
LD B,A
EX AF,AF'
OUT (SLOT3),A
@ -51,20 +73,51 @@ FDD_5x.GETMED:
;Return: None
;[]===========================================================[]
FDD_5x.SETMED:
;!TEST FDD 720/1440
IF FDD_NormalCount
LD IY,FDD_INI_TABLE.FDD_0
DEC A
JR C,.setParams
LD IY,FDD_INI_TABLE.FDD_1
ENDIF
.setParams:
IN A,(SLOT3)
EX AF,AF'
LD A,SYS_PAGE
OUT (SLOT3),A
LD A,B
LD (FDD_INI_TABLE.FDD_0.SECTORS),HL
LD (FDD_INI_TABLE.FDD_0.CYLINDL),DE
LD (FDD_INI_TABLE.FDD_0.B_P_S),IX
LD (FDD_INI_TABLE.FDD_0.F144),A
;!TEST FDD 720/1440
IF FDD_NormalCount
LD (IY+1),L ;SECTORS
LD (IY+2),H ;HEADS
LD (IY+3),E ;CYLINDL
LD (IY+4),D ;CYLINDH
LD A,XL
LD (IY+5),A ;B_P_S low
LD A,XH
LD (IY+6),A ;B_P_S High
LD (IY+0),B ;F144/720
LD A,B
ELSE
LD A,B
LD (FDD_INI_TABLE.FDD_0.SECTORS),HL
LD (FDD_INI_TABLE.FDD_0.CYLINDL),DE
LD (FDD_INI_TABLE.FDD_0.B_P_S),IX
LD (FDD_INI_TABLE.FDD_0.F144),A
ENDIF
EX AF,AF'
OUT (SLOT3),A
EX AF,AF'
AND A
RET
;!TEST FDD 720/1440
IF FDD_NormalCount
AND 1
JP Z,FN_TURBO.SET_FDD_720
JP FN_TURBO..SET_FDD_1440
ELSE
AND A
RET
ENDIF
;[]===========================================================[]
;Function: Detect Disk Density

View File

@ -631,7 +631,6 @@ FN_SYNC:
.INT_PENT:
LD IX,SCREEN_TABLES.PENTAGON
; JR PROG_SCR
.PROG_SCR:
IN A,(SLOT3)
EX AF,AF'
@ -643,11 +642,11 @@ FN_SYNC:
LD (SYS_PAGE.COPY_RGADR),A
LD (SYS_PAGE.CONFIG_ALL),IX
LD A,0
XOR A
;----[START]-----------------------[? 1]
.loop_1:
OUT (RGADR),A
OUT (PORT_Y),A
EX AF,AF'
LD A,#50
@ -682,7 +681,7 @@ FN_SYNC:
EX AF,AF'
INC A
OUT (RGADR),A
OUT (PORT_Y),A
EX AF,AF'
LD (HL),0
@ -693,7 +692,7 @@ FN_SYNC:
EX AF,AF'
INC A
OUT (RGADR),A
OUT (PORT_Y),A
EX AF,AF'
DJNZ .loop_5
@ -705,9 +704,9 @@ FN_SYNC:
INC HL
INC HL
INC HL
IN A,(RGADR)
IN A,(PORT_Y)
AND #80
OUT (RGADR),A
OUT (PORT_Y),A
DEC C
JR NZ,.loop_3
;------------------------[^ 3]----------
@ -729,7 +728,7 @@ FN_SYNC:
; Exit
LD A,(SYS_PAGE.COPY_RGADR)
OUT (RGADR),A
OUT (PORT_Y),A
LD A,(SYS_PAGE.COPY_SLOT3)
OUT (SLOT3),A
.exit: OR A
@ -771,12 +770,14 @@ SCREEN_TABLES:
DB 9 , #F8
DB 0
;.SCR: DB 41,#F8, 3,#FC, 4,#FC, 7,#FC, 9,#F8, 0
.INT: DB 40,#FC, 2,#FD, 6,#FC, 7,#FC, 9,#FC, 0
.INT_SC: DB 41,#F8, 1,#FD, 6,#FC, 7,#FC, 9,#F8, 0
.BLN: DB 41,#FC, 3,#FC, 4,#FC, 7,#FC, 9,#FC, 0
.SNC: DB 41,#FC, 3,#FC, 4,#FC, 7,#FC, 9,#FC, 0
.RES: DB 41,#F8, 3,#FE, 4,#FE, 7,#FE, 9,#F8, 0
;.SCR: DB 41,#F8, 3,#FC, 4,#FC, 7,#FC, 9,#F8, 0
.INT: DB 40,#FC, 2,#FD, 6,#FC, 7,#FC, 9,#FC, 0 ;!TEST PENTAGON INT 2 ª¢ ¤à â¨ª 
;.INT: DB 40,#FC, 1,#FD, 1,#FC, 1,#FD, 21,#FC, 0 ;!TEST PENTAGON INT 2 ª¢ ¤à â¨ª 
.INT_SC: DB 41,#F8, 1,#FD, 6,#FC, 7,#FC, 9,#F8, 0
.BLN: DB 41,#FC, 3,#FC, 4,#FC, 7,#FC, 9,#FC, 0
.SNC: DB 41,#FC, 3,#FC, 4,#FC, 7,#FC, 9,#FC, 0
.RES: DB 41,#F8, 3,#FE, 4,#FE, 7,#FE, 9,#F8, 0
;---------------------------------------
;--- Screen data tables 2: counter1, data address1 .. counterX, data addressX

View File

@ -1,8 +1,6 @@
;
;---------[All shared defines]----------
DEFINE DEBUG 1 ; ¤®¡ ¢«ï¥â áâப㠨 á®®¡é¥­¨¥ ® â¥á⮢®© ᡮથ ­  áâ à⮢®¬ íªà ­¥
DEFINE NEW_FEATURE 0 ; !TODO ¯ã­ªâë ¢ á¥â ¯
DEFINE TEST_INT 1 ; ’¥áâ®¢ë© ®¡à ¡®â稪 ¯®«ì§®¢ â¥«ì᪮£® INT
DEFINE PACKED_MAIN 0 ; ¯ ª®¢ âì MAIN ¨«¨ ¢«¥§ ¥â ¡¥§ í⮣®?
DEFINE SP2000_ConfID #FEFF ;
DEFINE IDE_Optimization 1 ; á«¥£ª  ®¯â¨¬¨§¨àã¥â ­¥ª®â®àë¥ ¯à®æ¥¤ãàë à ¡®âë á HDD
@ -10,14 +8,19 @@
DEFINE Pashalki 0 ;
DEFINE PICTURE_FILE './src/bios/logo/psfathers.bmp'
DEFINE RECOVERYrdChooseTYPE 1 ; 1 - RECOVERY ¢á¥£¤  £à㧨âáï ¢ ¤¨áª 15, 2 - ¨é¥âáï ᢮¡®¤­ë© à ¬¤¨áª ¨ ¥á«¨ â ª®£® ­¥â, â® § ­¨¬ ¥âáï 15ë©
DEFINE RECOVERYmountTYPE 1 ; 1 - ¡ëáâàë© ­¥¬­®£® § å à¤ª®¦¥­ë© ¢ à¨ ­â. 2 - ¡®«¥¥ "¯à ¢¨«ì­ë©"
DEFINE HDDwriteProtect 0
; ‡ ¤¥à¦ª  ¢ ª ¤à å ¯®á«¥ ®âà¨á®¢ª¨ «®£®â¨¯  (0 = 256)
DEFINE LOGO_DELAY_MIN 25
DEFINE LOGO_DELAY_NORM 100
DEFINE LOGO_DELAY_MAX 130
;
;
; [ TEST ]
DEFINE TEST_INT 1 ; ’¥áâ®¢ë© ®¡à ¡®â稪 ¯®«ì§®¢ â¥«ì᪮£® INT
DEFINE NEW_FEATURE 0 ; !TODO ¯ã­ªâë ¢ á¥â ¯
DEFINE HDDwriteProtect 0
DEFINE RECOVERYmountTYPE 1 ; 1 - ¡ëáâàë© ­¥¬­®£® § å à¤ª®¦¥­ë© ¢ à¨ ­â. 2 - ¡®«¥¥ "¯à ¢¨«ì­ë©"
DEFINE RECOVERYrdChooseTYPE 1 ; 1 - RECOVERY ¢á¥£¤  £à㧨âáï ¢ ¤¨áª 15, 2 - ¨é¥âáï ᢮¡®¤­ë© à ¬¤¨áª ¨ ¥á«¨ â ª®£® ­¥â, â® § ­¨¬ ¥âáï 15ë©
DEFINE FDD_NormalCount 0
;

Binary file not shown.