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

View File

@ -24,14 +24,36 @@
;[]===========================================================[] ;[]===========================================================[]
;!FIXIT ¢á¥£¤  ¨¤¥â à ¡®â  á ¤ ­­ë¬¨ ¤«ï ¤¨áª  € ;!FIXIT ¢á¥£¤  ¨¤¥â à ¡®â  á ¤ ­­ë¬¨ ¤«ï ¤¨áª  €
FDD_5x.GETMED: 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) IN A,(SLOT3)
EX AF,AF' EX AF,AF'
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (SLOT3),A OUT (SLOT3),A
LD HL,(FDD_INI_TABLE.FDD_0.SECTORS) ;!TEST FDD 720/1440
LD DE,(FDD_INI_TABLE.FDD_0.CYLINDL) IF FDD_NormalCount
LD IX,(FDD_INI_TABLE.FDD_0.B_P_S) LD L,(IY+1) ;SECTORS
LD A,(FDD_INI_TABLE.FDD_0.F144) 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 LD B,A
EX AF,AF' EX AF,AF'
OUT (SLOT3),A OUT (SLOT3),A
@ -51,20 +73,51 @@ FDD_5x.GETMED:
;Return: None ;Return: None
;[]===========================================================[] ;[]===========================================================[]
FDD_5x.SETMED: 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) IN A,(SLOT3)
EX AF,AF' EX AF,AF'
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (SLOT3),A OUT (SLOT3),A
LD A,B
LD (FDD_INI_TABLE.FDD_0.SECTORS),HL ;!TEST FDD 720/1440
LD (FDD_INI_TABLE.FDD_0.CYLINDL),DE IF FDD_NormalCount
LD (FDD_INI_TABLE.FDD_0.B_P_S),IX LD (IY+1),L ;SECTORS
LD (FDD_INI_TABLE.FDD_0.F144),A 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' EX AF,AF'
OUT (SLOT3),A OUT (SLOT3),A
EX AF,AF' 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 ;Function: Detect Disk Density

View File

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

View File

@ -1,8 +1,6 @@
; ;
;---------[All shared defines]---------- ;---------[All shared defines]----------
DEFINE DEBUG 1 ; ¤®¡ ¢«ï¥â áâப㠨 á®®¡é¥­¨¥ ® â¥á⮢®© ᡮથ ­  áâ à⮢®¬ íªà ­¥ DEFINE DEBUG 1 ; ¤®¡ ¢«ï¥â áâப㠨 á®®¡é¥­¨¥ ® â¥á⮢®© ᡮથ ­  áâ à⮢®¬ íªà ­¥
DEFINE NEW_FEATURE 0 ; !TODO ¯ã­ªâë ¢ á¥â ¯
DEFINE TEST_INT 1 ; ’¥áâ®¢ë© ®¡à ¡®â稪 ¯®«ì§®¢ â¥«ì᪮£® INT
DEFINE PACKED_MAIN 0 ; ¯ ª®¢ âì MAIN ¨«¨ ¢«¥§ ¥â ¡¥§ í⮣®? DEFINE PACKED_MAIN 0 ; ¯ ª®¢ âì MAIN ¨«¨ ¢«¥§ ¥â ¡¥§ í⮣®?
DEFINE SP2000_ConfID #FEFF ; DEFINE SP2000_ConfID #FEFF ;
DEFINE IDE_Optimization 1 ; á«¥£ª  ®¯â¨¬¨§¨àã¥â ­¥ª®â®àë¥ ¯à®æ¥¤ãàë à ¡®âë á HDD DEFINE IDE_Optimization 1 ; á«¥£ª  ®¯â¨¬¨§¨àã¥â ­¥ª®â®àë¥ ¯à®æ¥¤ãàë à ¡®âë á HDD
@ -10,10 +8,7 @@
DEFINE Pashalki 0 ; DEFINE Pashalki 0 ;
DEFINE PICTURE_FILE './src/bios/logo/psfathers.bmp' 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) ; ‡ ¤¥à¦ª  ¢ ª ¤à å ¯®á«¥ ®âà¨á®¢ª¨ «®£®â¨¯  (0 = 256)
DEFINE LOGO_DELAY_MIN 25 DEFINE LOGO_DELAY_MIN 25
@ -21,3 +16,11 @@
DEFINE LOGO_DELAY_MAX 130 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.