This commit is contained in:
Anatoliy Belyanskiy 2024-01-05 01:20:40 +10:00
parent 5c8e58eb99
commit 8bd9b2a3fc
9 changed files with 278 additions and 210 deletions

@ -1 +1 @@
Subproject commit c135d9b6038fcabca6cef3234d876f93d5865dee
Subproject commit d1ce63928bdbb44e48b311f9d4a0005c2f44fcd4

Binary file not shown.

View File

@ -704,9 +704,9 @@ POST_5_OK:
LD IX,0
XOR A
ADD IX,SP ; ¢®ááâ ­®¢¨âì §­ ç¥­¨¥ ¯¥à¥¤ ­­®¥ § £àã§ç¨ª®¬ ª®­äë (¥á«¨ áâ àâ ¯®á«¥ à¥á¥â )
; í⮬ ¬¥á⥠㠭 á IX:IY ¨§ Loader.asm
; „®â é¨«¨ ¤® á ¬¥âªã ®â «® ¤¥à , ¯®ª  ­¥ ¨á¯®«ì§ã¥âáï
;!TEST 31/12/23 ¯®¤áâà å®¢ª  ®â ãâ¥çª¨ ¯ ¬ïâ¨
LD R,A
;
LD D,YH
LD E,YL
EX DE,HL
@ -717,18 +717,15 @@ POST_5_OK:
LD D,XH
LD E,XL
EX DE,HL
LD DE,SP2000_ConfID
LD DE,ACEX.Config_ID.Sp2000
SBC HL,DE
JR NZ,.no_conf_reload
;
LD A,#80
LD R,A
.no_conf_reload:
LD R,A
;
;
; í⮬ ¬¥á⥠㠭 á IX:IY ¨§ Loader.asm
;
; „®â é¨«¨ ¤® á ¬¥âªã ®â «® ¤¥à , ¯®ª  ­¥ ¨á¯®«ì§ã¥âáï
; !TODO number from loader
; LD A,YL
; LD L,A
@ -738,11 +735,8 @@ POST_5_OK:
; AND A ; ¥á«¨ à ¢­® - ¯à®è«  ¯¥à¥§ £à㧪 
; SBC HL,BC
;JR Z,set_config ;!TODO  ªâ¨¢ æ¨ï ¬¥âª¨ IX:IY ¨§ «® ¤¥à 
;!TEST
;LD IX,#FFFD ; LD IX,#FFFD ; !!!!! Sprinter-2 ¢ë­¥á⨠à¥ä¥à¥­á®¬ âãâ ¨ ¢ loader.asm
LD HL,#FEFF ; LD IX,#FEFF ; !!!!! Sprinter-2 ¢ë­¥á⨠à¥ä¥à¥­á®¬ âãâ ¨ ¢ loader.asm
;
;LD IX,ACEX.Config_ID.Sp97_2
LD HL,ACEX.Config_ID.Sp2000
set_config:
LD (SYS_PAGE.CONFIG_BYTE),HL ; á®åà ­¨âì ­®¬¥à ¯à®è¨¢ª¨
;LD (SYS_PAGE.CONFIG_BYTE),IX ; á®åà ­¨âì ­®¬¥à ¯à®è¨¢ª¨
@ -796,7 +790,8 @@ set_config:
;[---------------------------------------------------------------------]
MODULE Reset_Handler
start: IN A,(SLOT3)
start: DI
IN A,(SLOT3)
PUSH AF
;----[¯¥à¥å¢ â soft reset #EE port]-----
Check_EE_Port:
@ -810,10 +805,8 @@ Check_EE_Port:
LD A,B
AND A
JR Z,Check_Spec_Page
DI
;
OUT (SLOT3),A ; Set restart page
.After_Hard_Rst:
LD HL,(Spec_Page.RET_addr) ; prog address
LD A,(Spec_Page.page_0) ; PAGE0
@ -824,68 +817,82 @@ Check_EE_Port:
OUT (SLOT2),A
LD A,(Spec_Page.page_3) ; PAGE3
OUT (SLOT3),A
JP (HL)
LD A,(Spec_Page.Reload_Version)
CP #FF
JR NZ,.ver_2
JP (HL)
;
.ver_2: EXX
LD HL,(Spec_Page.Stack_Point)
LD SP,HL
EXX
AND A
LD A,#FF
LD (Spec_Page.Reload_Version),A
JR NZ,ver_2_sys_port_on
PUSH HL
JP EXP_FNS_2_RET
ver_2_sys_port_on:
JP (HL)
;
;--[¯¥à¥å¢ â soft/hard reset #41 page]--
Check_Spec_Page:
LD A,Spec_Page
OUT (SLOT3),A
LD A,(Spec_Page.flag_Z)
CP 'Z'
JR NZ,No_Reset_handlers
LD A,(Spec_Page.flag_X)
CP 'X'
JR NZ,No_Reset_handlers
LD A,(#FFF7)
CP 'R'
;JR NZ,Spec_Page_handler_OK
JR NZ,Spec_Page_handler_Next ;!TEST 31/12/23 ¯®¤áâà å®¢ª  ®â ãâ¥çª¨ ¯ ¬ïâ¨
LD A,(#FFF8)
CP 'S'
;JR NZ,Spec_Page_handler_OK
JR NZ,Spec_Page_handler_Next ;!TEST 31/12/23 ¯®¤áâà å®¢ª  ®â ãâ¥çª¨ ¯ ¬ïâ¨
LD A,(#FFF9)
CP 'T'
;JR NZ,Spec_Page_handler_OK
JR NZ,Spec_Page_handler_Next ;!TEST 31/12/23 ¯®¤áâà å®¢ª  ®â ãâ¥çª¨ ¯ ¬ïâ¨
XOR A
LD (#FFF7),A
JR Check_EE_Port.After_Hard_Rst
LD A,Spec_Page
OUT (SLOT3),A
; Check for hardreset flag
LD A,(Spec_Page.flag_R)
CP 'R'
JR NZ,No_Reset_handlers
LD A,(Spec_Page.flag_S)
CP 'S'
JR NZ,No_Reset_handlers
LD A,(Spec_Page.flag_T)
CP 'T'
JR NZ,No_Reset_handlers
;
;!TEST 31/12/23 ¯®¤áâà å®¢ª  ®â ãâ¥çª¨ ¯ ¬ïâ¨
Spec_Page_handler_Next:
LD A,R
AND #80
JR Z,Spec_Page_handler_OK
XOR A
LD R,A
LD (Spec_Page.flag_R),A
JR Check_EE_Port.After_Hard_Rst
;
;---------------------------------------
No_Reset_handlers:
; Check ZX ROMS Loaded
LD A,(Spec_Page.flag_Z)
CP 'Z'
JR NZ,.Load_ZXROMS
LD A,(Spec_Page.flag_X)
CP 'X'
JR NZ,.Load_ZXROMS
;!TEST 31/12/23 ¯®¤áâà å®¢ª  ®â ãâ¥çª¨ ¯ ¬ïâ¨
LD A,R
AND #80
JR Z,No_Need_To_Load_ZXROMS
.Load_ZXROMS:
XOR A
LD R,A
;
; Load ZX ROM's
init_rom_address EQU #8200 ;!HARDCODE
ld hl,init_zx_roms
ld de,init_rom_address
ld bc,init_zx_roms.length
ld hl,init_zx_roms
ld de,init_rom_address
ld bc,init_zx_roms.length
ldir
call init_rom_address
LD HL,#C000
LD DE,#C001
LD BC,#3FFF
LD (HL),C
;
call init_rom_address
;
LD HL,#C000
LD DE,#C001
LD BC,#3FFF
LD (HL),C
LDIR ; § ¡¨âì FF- ¬¨
; áâ ¢¨¬ ¬¥âªã ¥á«¨ ¯à®£à㧨«¨ <20>‡“ ᯥªâà㬠
DEC DE
LD A,'X'
LD (DE),A
DEC DE
LD A,'Z'
LD (DE),A
DEC DE ; Spec_Page.flag_X
LD A,'X'
LD (DE),A
DEC DE ; Spec_Page.flag_Z
LD A,'Z'
LD (DE),A
;!FIXIT ᤥ« âì ¢ë¡®à £à㧨âì ¤ /­¥â <20>‡“ ᯥªâà㬠 ¯à¨ áâ àâ¥, [-------]
; ¥á«¨ ­¥â - â® ¢®âª­ãâì íâ®â ª®¤:
@ -899,11 +906,11 @@ init_rom_address EQU #8200 ;!HARDCO
; LD BC,RAM_BIOS_PROG.Length
; LDIR
;---------------------------------------
Spec_Page_handler_OK:
;---------------------------------------
No_Need_To_Load_ZXROMS:
POP AF
OUT (SLOT3),A
;
ENDMODULE
;[---------------------------------------------------------------------]
;
@ -1218,7 +1225,7 @@ init_zx_roms:
RET
;[x] SET_PORTS: no need to call from #3D13 and DI. 31/12/23
.SET_ROM:
;.SET_ROM:
;LD C,BIOS.SET_PORTS
;JP ToBIOS_3D13
;

View File

@ -580,10 +580,10 @@ FN_SYNC:
CALL CMOS_RD
AND CMOS.Cell.ScreenSET.Mask.Int ; ¢ ॣ¨áâॠA §­ ç¥­¨¥ ScreenSET
jr nz,.skiptest
JR NZ,.skiptest
CALL Test_CONFIG_ALL
jp (IX) ; default int (non CMOS)
CALL Test_CONFIG_ALL
JP (IX) ; default int (non CMOS)
.skiptest:
cp #10

View File

@ -178,8 +178,8 @@ FN_HDD_READ_BPB:
CALL HD_WAIT
RET C
CALL HD_BPB_PREP
RET C
JR HD_RD_L1
JR NC,HD_RD_L1
RET
; FOR LBA ONLY - NEXT_READ
@ -204,9 +204,7 @@ FN_HDD_READ:
DEC B
RET Z
CALL HD_WAIT
RET C
CALL HD_PREPARE
CALL NC,HD_PREPARE
RET C
HD_RD_L1:
EXX
@ -222,7 +220,6 @@ HD_RD_L1:
LD A,IDE.ATA.ReadSectorsWithRetry
OUT (C),A
HD_RD_L2:
WAIT_HDD
BIT IDE.ControlBit.DataRequest,A
@ -450,7 +447,7 @@ HD_C0_L3:
WAIT_HDD
LD BC,IDE.Write.Command
LD A,IDE.ATA.IdentifyDevice
LD A,IDE.ATA.IdentifyDevice ;!FIXIT ¯¥à¥¤¥« âì
OUT (C),A
WAIT_HDD
@ -535,7 +532,7 @@ HD_WAIT:
HD_WAIT1:
LD BC,IDE.Read.Status
IN A,(C)
BIT IDE.ControlBit.Busy,A
AND IDE.ControlByte.Busy
JR Z,HD_W_EXIT
DEC DE
LD A,D
@ -577,29 +574,27 @@ HD_CALC_SECS:
IN A,(C)
BIT 6,A
JR NZ,HDD_LBA
; POP BC ;!!!!! ¯®á¬®âà¥âì
; POP BC
*/
;EXP_HDD.ASM Version
HDD_LBA:
POP BC
LD L,E
LD E,D
LD D,XL
LD A,XH
AND #0F
LD H,A
RET
HD_CALC_SECS:
PUSH BC
;PUSH BC
LD BC,IDE.Read.Control
IN A,(C)
BIT 6,A
JR NZ,HDD_LBA
POP BC ; á­¨¬ ¥¬ §­ ç¥­¨¥ ¤«ï ª®à४⭮£® ret
;
LD A,XH
AND %0100'0000
;POP BC
JR Z,.CHS
; LBA
LD L,E
LD E,D
LD D,XL
LD A,XH
AND #0F ; ®£à ­¨ç¥­¨¥ ­  ~127 £¨£®¢
LD H,A
RET
; CHS
.CHS: LD A,XH
AND A
SCF
RET NZ ; ®è¨¡ª , ᫨誮¬ ¡®«ì让 HDD
@ -644,19 +639,17 @@ HD_CALC_SECS:
LD C,A
;LD BC,(MS_BPB+S_P_T) ; —ˆ‘‹Ž …ŠŽ<E28099>Ž <20>€ „Ž<E2809E>ކЅ
XOR A
HD_CALC_LOOP2:
SBC HL,BC
.LOOP: SBC HL,BC
INC A
JR NC,HD_CALC_LOOP2
JR NC,.LOOP
;
DEC A ; A - £®«®¢ª 
ADD HL,BC ; L - ᥪâ®à
INC L
LD H,A ; HL - HEAD,SEC
;
LD A,(SYS_PAGE.COPY_SLOT3)
OUT (SLOT3),A
AND A
RET

View File

@ -1,14 +1,15 @@
; DISPLAY "Service"
; !FIXIT âãâ ¬®¦­®, ¯®å®¤ã, ¤®å७  ã¡à âì
; áâà ­¨æë á ª®­ä®© ¤«ï Sp97, ¤«ï ᮢ¬¥á⨬®áâ¨ á ¤à¥¢­¨¬¨ ¯à®£ ¬¨
PG_SP1 equ #EC
PG_SP2 equ #EE
PG_AY equ #EA
;
; ; áâà ­¨æë á ª®­ä®© ¤«ï Sp97, ¤«ï ᮢ¬¥á⨬®áâ¨ á ¤à¥¢­¨¬¨ ¯à®£ ¬¨
; PG_SP1 equ #EC
; PG_SP2 equ #EE
; PG_AY equ #EA
; ;
;!TODO § ¬ãâ¨âì § «¨¢ªã ª®­äë, à¥áâ àâ, ¯¥à¥å¢ â à¥á¥â  ᨫ ¬¨ BIOS
PG_Sp2000 EQU #FE
; ;!TODO § ¬ãâ¨âì § «¨¢ªã ª®­äë, à¥áâ àâ, ¯¥à¥å¢ â à¥á¥â  ᨫ ¬¨ BIOS
; PG_Sp2000 EQU #FE
; PG_Sp2000_REINIT EQU #FD
;
RST_CONF:
;--[] ZX Spectrum
@ -24,7 +25,7 @@ RST_CONF:
OUT (C),A ; ACC_OFF
;LD A,PG_AY
LD DE,#FFFC
LD DE,ACEX.Config_ID.Sp97_AY
JR .INT_PLD
;--[]
@ -41,7 +42,7 @@ RST_CONF:
OUT (C),A ; ACC_OFF
;LD A,PG_SP1
LD DE,#FFFE ;!HARDCODE
LD DE,ACEX.Config_ID.Sp97_1
JR .INT_PLD
;--[]
@ -52,10 +53,22 @@ RST_CONF:
OR 1 ; ACC_ON
OUT (C),A
;LD A,PG_SP2
LD DE,#FFFD ;!HARDCODE
LD DE,ACEX.Config_ID.Sp97_2
JR .INT_PLD
;--[]
;--[]
.SP2000:
LD BC,Port_All_Mode
IN A,(C)
OR 1 ; ACC_ON
OUT (C),A
LD DE,ACEX.Config_ID.Sp2000
JR .INT_PLD
;--[]
;--[]
.CUSTOM:
CP #80
@ -98,20 +111,21 @@ RST_CONF:
.CHOOSE_CNF:
;!TEST
CP PG_Sp2000
;LD DE,SP2000_ConfID
JR Z,.INIT_ACEX
CP ACEX.Config_PG.Sp2000
JR Z,.INIT_ACEX
CP ACEX.Config_PG.Sp2000_SetUp
JR Z,.SP2000
;
; only for old FLEX10K soft compatible
CP PG_SP1
LD DE,#FFFE ;!HARDCODE
CP ACEX.Config_PG.Sp97_1
LD DE,ACEX.Config_ID.Sp97_1
JR Z,.INT_PLD
CP PG_SP2
LD DE,#FFFD
CP ACEX.Config_PG.Sp97_2
LD DE,ACEX.Config_ID.Sp97_2
JR Z,.INT_PLD
CP PG_AY
LD DE,#FFFC
CP ACEX.Config_PG.Sp97_AY
LD DE,ACEX.Config_ID.Sp97_AY
JR Z,.INT_PLD
SCF
RET
@ -137,30 +151,37 @@ RST_CONF:
; ¤®áâ ñ¬  ¤à¥á ¢®§¢à â  ¢ ¢ë§ë¢ îéãî äã­ªæ¨î ¨ á®å࠭塞 ¢ Spec_Page
POP DE
LD HL,RST_18_1.exit
AND A
XOR A
SBC HL,DE
JR NZ,1F ; NZ - ¥á«¨ ¢ë§®¢ ¡ë« ¯® RST #18
POP DE ; ¥á«¨ ¢ë§®¢ ¡ë« ¢ އ“ ¯® RST 8
INC A
1: LD (Spec_Page.RET_addr),DE
; A=0 - SYS_PORT.ON
; A=1 - SYS_PORT.OFF
LD (Spec_Page.Reload_Version),A
LD HL,0
ADD HL,SP
LD (Spec_Page.Stack_Point),HL
; ¯à®¢¥à塞 à §¬¥à ¡«®ª  á ª®­ä®© ¨ ¯®«ãç ¥¬ áâà ­¨æë ª®­äë
PUSH BC
;PUSH BC
LD HL,Spec_Page.bitstream_pages
LD A,B
CALL EMM.GetMemBlkPages
LD A,B
POP BC
LD B,A
;POP BC
;LD B,A
JR C,.INIT_ACEX.ERROR
CP 4+1 ;!HARDCODE ª®«¨ç¥á⢮ áâà ­¨æ ¢ ªíè ¤«ï ¡¨áâਬ  ¯«îá ®¤­ 
JR NC,.INIT_ACEX.ERROR
PUSH BC
;PUSH BC
; § ª¨¤ë¢ ¥¬ ¢ Spec_Page ¯à®£ã ¤«ï § «¨¢ª¨ ª®­äë
LD HL,.INIT_ACEX.PROGRAM
LD DE,Spec_Page.init_acex
LD BC,.INIT_ACEX.PROGRAM.Size
LDIR
;
POP BC
;POP BC
; B = size of ram block in pages
CALL Spec_Page.init_acex
;
@ -185,37 +206,80 @@ RST_CONF:
RET
;
.INIT_ACEX.PROGRAM:
DISPLAY " !!! !!! .INIT_ACEX.PROGRAM !!! !!!"
DISP Spec_Page.init_acex
; B = size of ram block in pages
;
IN A,(FastRAM.ON)
XOR A
EXX
LD HL,Spec_Page.bitstream_pages
LD BC,SLOT2
EXX
.load_loop:
EXX
OUTI
EXX
PUSH BC
OUT (FastRAM.SLOT0),A
LD HL,0
LD DE,#8000
LD BC,#4000
LDIR
;
INC A
POP BC
DJNZ .load_loop
IN A,(FastRAM.ON)
EXX
;
LD A,(Spec_Page.bitstream_pages)
OUT (SLOT1),A ; áâà ­¨æ  á ¤ ­­ë¬¨ ä ©« 
;
XOR A
OUT (FastRAM.SLOT0),A ; ‘âà ­¨æ  Š<>˜ = 0
;
LD HL,#5000 ; ¯¥à¥ª¨¤ë¢ ­¨¥ ¤ ­­ëå ¢ áâà ­¨æã Š<>˜ = 0
LD DE,#1000
LD BC,#3000
LDIR
;
LD A,(Spec_Page.bitstream_pages+1)
CP #FF
JR Z,.INIT_ACEX.PROGRAM.SET_KEYS
OUT (SLOT1),A ; á«¥¤ãîé ï áâà ­¨æ  á ¤ ­­ë¬¨ ä ©« 
LD A,1
OUT (FastRAM.SLOT0),A ; ‘âà ­¨æ  Š<>˜ = 1
;
LD H,D ; LD HL,#4000
LD D,E ; LD DE,#0000
LD B,H ; LD BC,#4000
LDIR
;
LD A,(Spec_Page.bitstream_pages+2)
CP #FF
JR Z,.INIT_ACEX.PROGRAM.SET_KEYS
OUT (SLOT1),A ; á«¥¤ãîé ï áâà ­¨æ  á ¤ ­­ë¬¨ ä ©« 
LD A,2
OUT (FastRAM.SLOT0),A ; ‘âà ­¨æ  Š<>˜ = 2 ; á«¥¤ãîé ï áâà ­¨æ  á ¤ ­­ë¬¨ ä ©« 
;
EX DE,HL ; LD HL,#4000
LD D,E ; LD DE,#0000
LD B,H ; LD BC,#4000
LDIR
;
LD A,(Spec_Page.bitstream_pages+3)
CP #FF
JR Z,.INIT_ACEX.PROGRAM.SET_KEYS
OUT (SLOT1),A ; á«¥¤ãîé ï áâà ­¨æ  á ¤ ­­ë¬¨ ä ©« 
LD A,3
OUT (FastRAM.SLOT0),A ; ‘âà ­¨æ  Š<>˜ = 1
;
LD H,D ; LD HL,#4000
LD D,E ; LD DE,#0000
LD BC,#3EDF ; !HARDCODE ®á⠢訩áï à §¬¥à ¡¨âáâਬ 
LDIR
;
.INIT_ACEX.PROGRAM.SET_KEYS:
LD A,3
OUT (FastRAM.SLOT0),A ; ‘âà ­¨æ  Š<>˜ = 3
;
LD HL,.INIT_ACEX.Reload_String ; ä« £ ¯¥à¥§ £à㧪¨ ¨§ Š<>˜- 
LD DE,ACEX.LOADER.String_Address-#C000
LD BC,#10
LDIR
; ... ....
; acex loading and flags
; ... ....
XOR A
OUT (FastRAM.SLOT0),A
IN A,(FastRAM.OFF)
RET
LD HL,#FFFF ; § «¨âì ª®­äã ⮫쪮 ¯à¨ ¯¥à¢®© ¯¥à¥§ £à㧪¥
;LD HL,ACEX.LOADER.Reload_Flag ; § «¨¢ âì ª®­ä㠯ਠª ¦¤®© ¯¥à¥§ £à㧪¥
LD (ACEX.LOADER.Reload_Flag_Address-#C000),HL
;
.INIT_ACEX.PROGRAM.END:
XOR A
OUT (FastRAM.SLOT0),A
IN A,(FastRAM.OFF)
RET
;
.INIT_ACEX.Reload_String:
DB ACEX.RELOAD_STRING
;
ENT
.INIT_ACEX.PROGRAM.Size EQU $-.INIT_ACEX.PROGRAM
;

View File

@ -1,4 +1,5 @@
;
;!TODO ¨á¯à ¢¨âì SLOT2 ­  SLOT3 ¨ § â¥áâ¨âì
;!TODO ¤®¡ ¢¨âì ®¯¨á ­¨¥
DISK_REDIR:
PUSH HL
LD HL,SYS_PAGE.DISK_TYPE-#4000
@ -18,27 +19,32 @@ DISK_REDIR:
RET
;
;
;!TODO ¨á¯à ¢¨âì SLOT2 ­  SLOT3 ¨ § â¥áâ¨âì
;!TODO ¤®¡ ¢¨âì ®¯¨á ­¨¥
SET_DISK_TYPE:
PUSH HL
LD HL,SYS_PAGE.DISK_TYPE-#4000
IN A,(SLOT2)
EX AF,AF'
LD A,SYS_PAGE
OUT (SLOT2),A
LD A,(ZX_VARS.OPER_DISK)
AND 3
ADD A,L
LD L,A
LD (HL),E
LD L,(HL)
EX AF,AF'
OUT (SLOT2),A
LD A,L
POP HL
PUSH HL
LD HL,SYS_PAGE.DISK_TYPE-#4000
IN A,(SLOT2)
EX AF,AF'
LD A,SYS_PAGE
OUT (SLOT2),A
LD A,(ZX_VARS.OPER_DISK)
AND 3
ADD A,L
LD L,A
LD (HL),E
;
;LD L,(HL)
LD L,E
;
EX AF,AF'
OUT (SLOT2),A
LD A,L
POP HL
RET
;
;!TODO ¨á¯à ¢¨âì SLOT2 ­  SLOT3 ¨ § â¥áâ¨âì
; Disk A, DRV - B
FDD_TO_DRV:
CP 4
@ -66,7 +72,7 @@ FDD_TO_DRV:
RET
;
;
;!TODO ¨á¯à ¢¨âì SLOT2 ­  SLOT3 ¨ § â¥áâ¨âì
; RAM-Disk A, DRV - B
RAMD_TO_DRV:
CP SYS_PAGE.RAMD_KEYS.NUM
@ -77,10 +83,10 @@ RAMD_TO_DRV:
CP 4
CCF
RET C
;
LD HL,SYS_PAGE.DISK_TYPE-#4000
LD L,B
;
IN A,(SLOT2)
LD B,A
LD A,SYS_PAGE
@ -94,30 +100,30 @@ RAMD_TO_DRV:
RET
;
;
;!TODO ¨á¯à ¢¨âì SLOT2 ­  SLOT3 ¨ § â¥áâ¨âì
; HDD A, DRV - B
HDD_TO_DRV:
AND 0FH
LD C,A
LD A,B
CP 4
AND #0F
LD C,A
LD A,B
CP 4
CCF
RET C
LD HL,SYS_PAGE.DISK_TYPE-#4000
LD L,B
IN A,(SLOT2)
LD B,A
LD A,SYS_PAGE
OUT (SLOT2),A
LD A,C
ADD A,40H
LD (HL),A
LD A,B
OUT (SLOT2),A
AND A
RET C
;
LD HL,SYS_PAGE.DISK_TYPE-#4000
LD L,B
;
IN A,(SLOT2)
LD B,A
LD A,SYS_PAGE
OUT (SLOT2),A
LD A,C
ADD A,#40
LD (HL),A
LD A,B
OUT (SLOT2),A
;
AND A
RET
;

View File

@ -101,10 +101,9 @@
.ONES_CONFIG:
LD IY,SP2000_Loader_Flag
;!TEST
;LD IX,#FFFD
LD IX,SP2000_ConfID ;!!!!! ¯®¤ã¬ âì)))
;
;LD IX,#FFFD
LD IX,ACEX.Config_ID.Sp2000
.LOOP1:
LD A,(HL)
@ -142,7 +141,7 @@
INC HL
JR .LOOP1
.STRING: DB "ACEX_30K_LOADING"
.STRING: DB ACEX.RELOAD_STRING
.Conf_header: include 'src/bios/Loader/bitstream_header.inc'
.Conf_header.length EQU $-.Conf_header
@ -152,7 +151,7 @@
; <20>â®, ᪮॥ ¢á¥£®, à㤨¬¥­â, â®â á ¬ë© ¡ ©â ®¯¨á â¥«ï ª®­äë,
; ª®â®àë© ¨é¥â § £àã§ç¨ª ¤«ï Sp97 ¯® áâ à®¬ã  ¤à¥áã #C090.
; ‚®âª­ã« ¥£® ¢ ª®­æ¥ § £àã§ç¨ª , ¬®¦¥â ¯®â®¬ ¯à¨£®¤¨âáï.
.DEF_SYM: DW SP2000_ConfID
.DEF_SYM: DW ACEX.Config_ID.Sp2000
;------------------------------[Loader end]
DEFINE Altera_Chip altera_chip

View File

@ -3,7 +3,6 @@
DEFINE DEBUG 1 ; ¤®¡ ¢«ï¥â áâப㠨 á®®¡é¥­¨¥ ® â¥á⮢®© ᡮથ ­  áâ à⮢®¬ íªà ­¥
DEFINE PACKED_MAIN 0 ; ¯ ª®¢ âì MAIN ¨«¨ ¢«¥§ ¥â ¡¥§ í⮣®?
DEFINE SP2000_Loader_Flag #0107
DEFINE SP2000_ConfID #FEFF ;
DEFINE IDE_Optimization 1 ; á«¥£ª  ®¯â¨¬¨§¨àã¥â ­¥ª®â®àë¥ ¯à®æ¥¤ãàë à ¡®âë á HDD
DEFINE NeedSafePort_Y 1 ; !!!!! ¥á«¨ 0, â® ¢ ०¨¬¥ sp-ᯥªâà㬠 ­¥ª®â®àë¥ ¯à®æ¥¤ãàë ¬®£ãâ § áà âì íªà ­
DEFINE Pashalki 0 ;