FN_CRIPT - Acex version

This commit is contained in:
Anatoliy Belyanskiy 2024-01-28 01:51:26 +10:00
parent d1b155f0b2
commit c8d95662c8
10 changed files with 142 additions and 113 deletions

@ -1 +1 @@
Subproject commit d3cdfc6e7644fab96ebe2c6e87959359cda6319c Subproject commit 84d47b2818758fdceda21ecf2953324c1f339858

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -526,7 +526,6 @@ DCP_CONFIG:
RET PO RET PO
EI EI
RET RET
.PARSE_TABLE: .PARSE_TABLE:
LD A,L LD A,L
AND E AND E

View File

@ -565,6 +565,8 @@ FN_HDD_INIT:
OUT (C),B OUT (C),B
INC A INC A
JR Z,FN_HDD_PART JR Z,FN_HDD_PART
; !FIXIT ᤥ« âì âãâ ¢ë¡®à ¯¥à¢®£® ¯®¯ ¢è¥£®áï ¨§ SYS.IDE_0-3
CALL TEST_HDD_DRV CALL TEST_HDD_DRV
SCF SCF
RET NZ RET NZ

View File

@ -232,9 +232,11 @@ EMM.FreeMem:
AND A AND A
SCF SCF
RET Z RET Z
;
LD L,A
CP ZX_RAM_ID CP ZX_RAM_ID
CALL Z,SET_ROM_FLAG_ZX CALL Z,SET_ROM_FLAG_ZX
LD L,A ;
IN A,(SLOT3) IN A,(SLOT3)
EX AF,AF' EX AF,AF'
LD A,SYS_PAGE LD A,SYS_PAGE
@ -253,14 +255,13 @@ EMM_F3M_L1:
EX AF,AF' EX AF,AF'
OUT (SLOT3),A OUT (SLOT3),A
XOR A ;!FIXIT ­¥¤®ªã¬¥­â¨à®¢ ­® XOR A ; no error code
;AND A
RET RET
EMM_FN3M_ERR: EMM_FN3M_ERR:
EX AF,AF' EX AF,AF'
OUT (SLOT3),A OUT (SLOT3),A
LD A,2 ;!FIXIT ­¥¤®ªã¬¥­â¨à®¢ ­® LD A,2 ;!HARDCODE error code
SCF SCF
RET RET
;----------------------------------------------------------------------; ;----------------------------------------------------------------------;
@ -710,7 +711,7 @@ ROM_DISK:
PUSH BC PUSH BC
LD A,E LD A,E
AND 63 ; ADRESS in ROM-Page AND #3F ; ADRESS in ROM-Page
PUSH AF ; á®åà ­¨âì  ¤à¥á PUSH AF ; á®åà ­¨âì  ¤à¥á
EX DE,HL ; DE -  ¤à¥á ¡ãä¥à  EX DE,HL ; DE -  ¤à¥á ¡ãä¥à 

View File

@ -406,17 +406,16 @@ REINIT: DEC B
; ;
;----------------------------------------------------------------------; ;----------------------------------------------------------------------;
SET_ROM_FLAG_ZX: SET_ROM_FLAG_ZX:
LD C,A EX AF,AF'
IN A,(SLOT3) IN A,(SLOT3)
PUSH AF EX AF,AF'
LD A,Spec_Page LD A,Spec_Page
OUT (SLOT3),A OUT (SLOT3),A
XOR A XOR A
LD (Spec_Page.flag_Z),A LD (Spec_Page.flag_Z),A
LD (Spec_Page.flag_X),A LD (Spec_Page.flag_X),A
POP AF EX AF,AF'
OUT (SLOT3),A OUT (SLOT3),A
LD A,C
RET RET
;----------------------------------------------------------------------; ;----------------------------------------------------------------------;
; ;

View File

@ -23,27 +23,6 @@ EMM.GetBanksPorts:
RET ;84t RET ;84t
.error: SCF .error: SCF
RET ;74t RET ;74t
; old version
; LD C,SLOT0
; IN B,(C)
; AND A
; RET Z ;34t
; LD C,SLOT1
; IN B,(C)
; DEC A
; RET Z ;62t
; LD C,SLOT2
; IN B,(C)
; DEC A
; RET Z ;90t
; LD C,SLOT3
; IN B,(C)
; DEC A
; RET Z ;118t
; SCF
; RET ;150t
;----------------------------------------------------------------------; ;----------------------------------------------------------------------;
;----------------------------------------------------------------------; ;----------------------------------------------------------------------;
@ -75,18 +54,12 @@ FN_VERSION:
;----------------------------------------------------------------------; ;----------------------------------------------------------------------;
;----------------------------------------------------------------------; ;----------------------------------------------------------------------;
; [ ] 28/01/24 ¤®¡ ¢«¥­  ¯®¤äã­ªæ¨ï ¢ë¤ ç¨ ¨­äë ¯à® Acex
FN_CRIPT: FN_CRIPT:
DEC B DJNZ .Acex_ver
JR Z,.board_id
DEC B
SCF
RET NZ
; [ ] 25/01/24
.Acex_ver:
;!TODO
AND A
RET
; ;
; BoardID_start old address #312A
; BoardID_end old address #312D
.board_id: .board_id:
LD HL,(ROM_NUMBER.part1) ;rdlow-ok LD HL,(ROM_NUMBER.part1) ;rdlow-ok
LD A,(ROM_NUMBER.part2) ;rdlow-ok LD A,(ROM_NUMBER.part2) ;rdlow-ok
@ -94,8 +67,73 @@ FN_CRIPT:
LD DE,(BoardID.end) ;rdlow-ok LD DE,(BoardID.end) ;rdlow-ok
AND A AND A
RET RET
; BoardID_start old address #312A ;
; BoardID_end old address #312D .error: LD A,BIOS.Error.InvalidSubFunction
SCF
RET
;
.Acex_ver:
DJNZ .error
PUSH HL
LD A,R
DI
PUSH AF
;
LD HL,-.stackDepth - .readProcedure.size ; memory stack use!
ADD HL,SP
PUSH HL ;  ¤à¥á ¯à®£à ¬¬ë .readProcedure
LD DE,.readProcedure ; ¯¥à¥­¥á⨠¯à®£à ¬¬ã ­  á⥪
EX DE,HL
LD BC,.readProcedure.size
LDIR ; ¯à®£à ¬¬  ­  á⥪¥
LD A,+(12 xor %0000'1000) ; !HARDCODE bitstream page in rom
RET
.return:;
POP AF
JP PO,.no_EI
EI
.no_EI: CALL .choose_chip
POP DE
LD BC,.chip_ID_TXT.RecordSize
LDIR
RET
;
.choose_chip:
XOR A
LD HL, - ACEX.Chip_ID.K30
ADD HL,DE
LD HL,.chip_ID_TXT.K30
RET Z
INC A
LD HL, - ACEX.Chip_ID.K50
ADD HL,DE
LD HL,.chip_ID_TXT.K50
RET Z
POP HL ; ¡ « ­á á⥪ 
.error_unknownChip:
SCF
POP HL
LD A,BIOS.Error.UnknownDevice
RET
;
; ¯à®æ¥¤ãà , ¯¥à¥­®á¨¬ ï ­  á⥪ ¤«ï ç⥭¨ï Acex ID
; ®áâ®à®¦­¥¥ á PUSH, ¥á«¨ ­ ¤® ¬­®£®, ⮠㢥«¨ç¨¢ © .stackDepth
.readProcedure:
OUT (ROM.SLOT0),A ; ROM_PAGE
LD DE,(#100 + 3) ; !HARDCODE §¤¥áì ç¨â ¥âáï Acex ID
XOR A
OUT (ROM.SLOT0),A
OUT (SYS_PORT.ROM),A
JP .return
.stackDepth EQU 2 ; à ááâ®ï­¨¥ ®â ª®­æ  ¯à®æ¥¤ãàë ¤® ¢¥à設ë á⥪ .
.readProcedure.size EQU $-.readProcedure
;
.chip_ID_TXT:
.chip_ID_TXT.K30: DZ "K30"
.chip_ID_TXT.RecordSize EQU $-.chip_ID_TXT
.chip_ID_TXT.K50 DZ "K50"
;.chip_ID_TXT.K100 DZ "K100"
.chip_ID_TXT.Size EQU $-.chip_ID_TXT
;----------------------------------------------------------------------; ;----------------------------------------------------------------------;
;----------------------------------------------------------------------; ;----------------------------------------------------------------------;
@ -201,7 +239,7 @@ INIT_VSyncAndWaits:
.cmos_OK: .cmos_OK:
and CMOS.Cell.ScreenSET.Mask.Sinc and CMOS.Cell.ScreenSET.Mask.Sinc
bit 6,a and #40
ld a,3 ; 320 lines & no waits ld a,3 ; 320 lines & no waits
jr z,.setVSyncAndWaits jr z,.setVSyncAndWaits
dec a ; 312 lines & no waits dec a ; 312 lines & no waits
@ -444,24 +482,21 @@ LOOP_EQ: ;
; START_DI: ; START_DI:
; PUSH AF ; PUSH AF
; LD A,R ; LD A,R
; JP PE,XX_DI ; LD A,#80
; LD A,R
; XX_DI: LD A,#80
; JP PE,XX_DI2 ; JP PE,XX_DI2
; XOR A ; XOR A
; XX_DI2: LD R,A ; XX_DI2: LD R,A
; DI ; DI
; POP AF ; POP AF
; RET ; RET
;
; END_DI: PUSH AF ; END_DI: PUSH AF
; LD A,R ; LD A,R
; BIT 7,A ; AND #80
; JR Z,XX_DI3 ; JR Z,XX_DI3
; EI ; EI
; POP AF ; PE ; POP AF ; PE
; RET ; RET
; XX_DI3: DI ; XX_DI3: DI
; POP AF ; PO ; POP AF ; PO
; RET ; RET

View File

@ -28,14 +28,7 @@ Disk_subsystem_ver_hex EQU ROM_ID.VER*256+ROM_ID.MOD
DEFINE Disk_subsystem_ver_txt '0'+ROM_ID.VER, '.', '0'+ROM_ID.MOD/10, '0'+ROM_ID.MOD-(ROM_ID.MOD/10)*10 DEFINE Disk_subsystem_ver_txt '0'+ROM_ID.VER, '.', '0'+ROM_ID.MOD/10, '0'+ROM_ID.MOD-(ROM_ID.MOD/10)*10
;--------------------------------------- ;---------------------------------------
DEFINE SPTeam_year '2023' DEFINE SPTeam_year '2024'
DEFINE SetupVer '1.60' DEFINE SetupVer '1.60'
;
;2.48 New BIOS for Sp2000
;2.50 02-08-2001 ADD BUILD-IN CD DRIVER (Not release)
;2.51 14-09-2001 Removed 2 IDE (if with_2ide) and added print board serial number
;2.52 Add new items to SETUP Utility for screen position.
;2.53 Add CMOS install routine. Disabled TRDOS install.
;======================================= ;=======================================
;