This commit is contained in:
Tolik 2024-07-06 04:33:08 +10:00
parent 67119de957
commit 5e0ea87ed9
27 changed files with 178 additions and 195 deletions

@ -1 +1 @@
Subproject commit dd20a620668372ae8d7c10c0789dcdb51c8d782f
Subproject commit 990f10e80278825f071f5795a5ba459dec0f991f

View File

@ -147,7 +147,7 @@ TAB_FNS:
DB low PIC_FN3 ; #A3 ‚›‚Ž„ ˆ<E280B9>ˆˆ FILL
DB low PIC_SET_PAL ; #A4 ‚›‚Ž„ <20>ˆ<CB86>
DB low PIC_FN5 ; #A5 “<E28099>ŽŠ€ RGMOD
DB low PIC_FN6 ; #A6 A - page_pal, E - ­®¬¥à ¯ «¨âàë, B - ⨯ ¯ «¨âàë
DB low SET_PAL_INIT ; #A6 A - page_pal, E - ­®¬¥à ¯ «¨âàë, B - ⨯ ¯ «¨âàë
DB low PIC_FN7 ; #A7 <20>¨á®¢ ­¨¥ «¨­¨¨ ®¤­®£® 梥â 
DB low PIC_FN8 ; #A8 <20>¨á®¢ ­¨¥ à §­®æ¢¥â­®© «¨­¨¨
DB low PIC_FN9 ; #A9 ­¥â
@ -229,7 +229,7 @@ TAB_FNS:
DB low RST_CONF.SP97_1 ; #F0 ¤«ï ᮢ¬¥á⨬®á⨠á á®ä⮬ Sp97
DB low RST_CONF.SP97_2 ; #F1 ¤«ï ᮢ¬¥á⨬®á⨠á á®ä⮬ Sp97
DB low FN_SYNC ; #F2 ãáâ ­®¢ª  ᨭåà®­¨§ æ¨¨
DB low RST_CONF.CUSTOM ; #F3 ¤«ï ᮢ¬¥á⨬®á⨠á á®ä⮬ Sp97 ;!TODO ᤥ« âì ¥ñ ¨ ¤«ï ¯¥à¥§ «¨¢ª¨ ª®­äë Sp2000
DB low RST_CONF.CUSTOM ; #F3 ¤«ï ᮢ¬¥á⨬®á⨠á á®ä⮬ Sp97
DB low DCP_CONFIG ; #F4 äã­ªæ¨ï à á¯à¥¤¥«¥­¨ï ¯®à⮢ ; [x]
DB low CMOS_TEST ; #F5
DB low CMOS_RD ; #F6
@ -339,7 +339,7 @@ TAB_FNS:
DB high PIC_FN3
DB high PIC_SET_PAL
DB high PIC_FN5
DB high PIC_FN6
DB high SET_PAL_INIT
DB high PIC_FN7
DB high PIC_FN8
DB high PIC_FN9

View File

@ -90,7 +90,7 @@
DW %11'001'1'1111'1111
DB ACEX.FDD144
;!FIXIT UNKNOWN PORTS--------------------------------------------------; dos on, ⮫쪮 ç¥à¥§ BC, ç⥭¨¥/§ ¯¨áì
;!FIXIT UNKNOWN PORTS ( Z84? ) ----------------------------------------; dos on, ⮫쪮 ç¥à¥§ BC, ç⥭¨¥/§ ¯¨áì
DW %10'000'1'0010'1101
DW %11'010'1'1111'1111
DB #18
@ -103,7 +103,6 @@
DW %11'010'1'1111'1111
DB #1A
;----------------------------------------------------------------------;
DW %00'000'1'0010'1101
DW %11'001'1'1111'1111
DB ACEX.ISA_CTRL
@ -136,89 +135,112 @@
DB ACEX.CMOS_DATA.WRITE
;
;---------HDD[v]
/*
Write:
.Data EQU #0150 ; cnf 20 ; HDW_DAT W170 ; #1F0 Data register
.Features EQU #0151 ; cnf 21 ; HDW_ERR W171 ; #1F1 Features register
.Counter EQU #0152 ; cnf 22 ; HDW_CNT P_S_CNT W172 ; #1F2 Counter register
.Sector EQU #0153 ; cnf 23 ; HDW_SEC P_S_NUM W173 ; #1F3 Sector register
.CylinderLow EQU #0154 ; cnf 24 ; HDW_CLL P_C_LOW W174 ; #1F4 Cylinder Low register
.CylinderHigh EQU #0155 ; cnf 25 ; HDW_CLH P_C_HIG W175 ; #1F5 Cylinder High register
.DeviceHead EQU #4152 ; cnf 26 ; HDW_DRV P_HD_CS ; #1F6 Device/Head register
.Command EQU #4153 ; cnf 27 ; HDW_COM P_CMD ; #1F7 Command register
.DeviceControl EQU #4154 ; cnf 28 ; ; #3F6 Device Control register
Read:
.Data EQU #0050 ; cnf 20 ; HDR_DAT P_DATS R170 ; #1F0 Data register
.Error EQU #0051 ; cnf 21 ; HDR_ERR P_ERR R171 ; #1F1 Error register
.Counter EQU #0052 ; cnf 22 ; HDR_CNT R172 ; #1F2 Counter register
.Sector EQU #0053 ; cnf 23 ; HDR_SEC R173 ; #1F3 Sector register
.CylinderLow EQU #0054 ; cnf 24 ; HDR_CLL R174 ; #1F4 Cylinder Low register
.CylinderHigh EQU #0055 ; cnf 25 ; HDR_CLH R175 ; #1F5 Cylinder High register
.Control EQU #4052 ; cnf 26 ; HDR_DRV R176 ; #1F6 Device/Head register
.Status EQU #4053 ; cnf 27 ; HDR_CTL P_HDST R177 ; #1F7 Status (Control) register
.AltStatus EQU #4054 ; cnf 28 ; ; #3F6 Alternate Status register
.DrvAddress EQU #4055 ; cnf 29 ; ; #3F7
*/
DW %00'000'0'0100'0000
DW %11'000'0'0110'1111
DB #20
DB ACEX.IDE_DATA_1F0
DW %01'000'0'0100'0000
DW %11'010'0'0110'1111
DB #20
DB ACEX.IDE_DATA_1F0
DW %10'000'0'0100'0000
DW %11'010'0'0110'1111
DB #20
DB ACEX.IDE_DATA_1F0
DW %11'000'0'0100'0000
DW %11'000'0'0110'1111
DB #20
DB ACEX.IDE_DATA_1F0
DW %00'000'0'0100'0001
DW %00'010'1'1110'1111
DB #21
DB ACEX.IDE_ERROR_1F1
DW %00'010'0'0100'0001
DW %11'010'1'1110'1111
DB #21
DB ACEX.IDE_ERROR_1F1
DW %11'010'0'0100'0001
DW %11'010'1'1110'1111
DB #21
DB ACEX.IDE_ERROR_1F1
DW %00'000'0'0100'0010
DW %00'010'1'1110'1111
DB #22
DB ACEX.IDE_COUNTER_1F2
DW %00'010'0'0100'0010
DW %11'010'1'1110'1111
DB #22
DB ACEX.IDE_COUNTER_1F2
DW %11'010'0'0100'0010
DW %11'010'1'1110'1111
DB #22
DB ACEX.IDE_COUNTER_1F2
DW %00'000'0'0100'0011
DW %00'010'1'1110'1111
DB #23
DB ACEX.IDE_SECTOR_1F3
DW %00'010'0'0100'0011
DW %11'010'1'1110'1111
DB #23
DB ACEX.IDE_SECTOR_1F3
DW %11'010'0'0100'0011
DW %11'010'1'1110'1111
DB #23
DB ACEX.IDE_SECTOR_1F3
DW %00'000'0'0100'0100
DW %00'010'1'1110'1111
DB #24
DB ACEX.IDE_CYLINDER_L_1F4
DW %00'010'0'0100'0100
DW %11'010'1'1110'1111
DB #24
DB ACEX.IDE_CYLINDER_L_1F4
DW %11'010'0'0100'0100
DW %11'010'1'1110'1111
DB #24
DB ACEX.IDE_CYLINDER_L_1F4
DW %00'000'0'0100'0101
DW %00'010'1'1110'1111
DB #25
DB ACEX.IDE_CYLINDER_H_1F5
DW %00'010'0'0100'0101
DW %11'010'1'1110'1111
DB #25
DB ACEX.IDE_CYLINDER_H_1F5
DW %11'010'0'0100'0101
DW %11'010'1'1110'1111
DB #25
DB ACEX.IDE_CYLINDER_H_1F5
DW %00'000'0'1100'0010
DW %00'010'1'1110'1111
DB #26
DB ACEX.IDE_DEVICE_HEAD_1F6
DW %00'010'0'1100'0010
DW %11'010'1'1110'1111
DB #26
DB ACEX.IDE_DEVICE_HEAD_1F6
DW %11'010'0'1100'0010
DW %11'010'1'1110'1111
DB #26
DB ACEX.IDE_DEVICE_HEAD_1F6
DW %00'000'0'1100'0011
DW %00'010'1'1110'1111
DB #27
DB ACEX.IDE_STATUS_CMD_1F7
DW %00'010'0'1100'0011
DW %11'010'1'1110'1111
DB #27
DB ACEX.IDE_STATUS_CMD_1F7
DW %11'010'0'1100'0011
DW %11'010'1'1110'1111
DB #27
DB ACEX.IDE_STATUS_CMD_1F7
;---------HDD[^]
;
DW %00'000'0'1100'0100
@ -278,14 +300,14 @@
DW %00'000'0'1011'1100
DW %11'001'1'1111'1111
DB ACEX.UNKNOWN ;!FIXIT ¬®¦­® ¯®ª  ã¡à âì
DB ACEX.UNKNOWN ;!FIXIT ¬®¦­® ¯®ª  ã¡à âì
DW %11'000'0'1011'1100
DW %11'001'1'1111'1111
DB ACEX.UNKNOWN ;!FIXIT ¬®¦­® ¯®ª  ã¡à âì
DB ACEX.UNKNOWN ;!FIXIT ¬®¦­® ¯®ª  ã¡à âì
DW %00'010'0'0010'1011
DW %11'010'0'0110'1011
DB ACEX.ISA_Control ;!FIXIT ¬®¦­® ¯®ª  ã¡à âì ???
DB ACEX.ISA_Control
DW %00'011'0'0110'1110
DW %10'011'0'0110'1111
@ -397,7 +419,6 @@
DW %00'000'0'0010'1111
DB ACEX.CNF_PORT
;!FIXIT ¬®¦­® ã¡à âì
DW %00'000'0'0110'1100
DW %11'001'0'0110'1111
DB ACEX.SCALE
@ -405,7 +426,6 @@
DW %11'001'0'0110'1111
DB ACEX.SCALE
DW %00'000'0'0000'1010
DW %00'010'0'0110'1111
DB ACEX.SLOT0

View File

@ -224,7 +224,7 @@ ID_SPRINTER: DB 'Firmware v'
.Record1_Size EQU $-ID_SPRINTER
; § ¯¨áì 2
DB 'Sprinter',0
; <20>祠摐 3 ; [ ] 24.02.2024
; <20>祠摐 3 ; [x] 24/02/2024
.bitstream_ver: DB bitstream_ver_string,0
DB 0
;
@ -715,7 +715,7 @@ POST_5_OK:
ADD IX,SP ; ¢®ááâ ­®¢¨âì §­ ç¥­¨¥ ¯¥à¥¤ ­­®¥ § £àã§ç¨ª®¬ ª®­äë (¥á«¨ áâ àâ ¯®á«¥ à¥á¥â )
; í⮬ ¬¥á⥠㠭 á IX:IY ¨§ Loader.asm
; „®â é¨«¨ ¤® á ¬¥âªã ®â «® ¤¥à , ¯®ª  ­¥ ¨á¯®«ì§ã¥âáï
;[x] 31/12/23 祚戶瘔惩恥<E683A9> 栽 蜾亦爸 <20>穿漼
;[x] 31/12/2023 祚戶瘔惩恥<E683A9>郊亢蜾亦爸 <20>穿漼
LD D,YH
LD E,YL
EX DE,HL
@ -870,7 +870,7 @@ No_Reset_handlers:
LD A,(Spec_Page.flag_X)
CP 'X'
JR NZ,.Load_ZXROMS
;!TEST 31/12/23 祚戶瘔惩恥<E683A9>蜾亦爸 <20>穿漼
; [x] 31/12/23 祚戶瘔惩恥<E683A9> 栽 郊亢蜾亦爸 <20>穿漼
LD A,R
AND #80
JR Z,No_Need_To_Load_ZXROMS
@ -1331,7 +1331,7 @@ RES128_PROG:
DEC D
JP Z,#3D29
; 3 ‚•Ž„ EXPANSION
;!TODO 祚<><20><EFBFBD>
;!TODO 祚<><20><EFBFBD>. Page #45, BIOS (ZX_EXP) #E0
XOR A
OUT (C),A
LD A,#02
@ -1536,9 +1536,9 @@ SW_ROM_1:
;***************************************
_mInfoBLOCK #3CF8-$,0
; no basic-48!
;JP_HL_48:
JP_HL_48: ;!FIXIT assert with ROM
PUSH HL
;SW_ROM:
SW_ROM: ;!FIXIT assert with ROM
PUSH AF
LD A,ROM.BIOS ;!FIXIT ­¥¯à ¢¨«ì­®¥ ­ §¢ ­¨¥ ª®­áâ ­âë
OUT (SYS_PORT.RAM),A
@ -1617,7 +1617,7 @@ DOS_OFF:
////////////////////////////////////////////////////////////////////////
;------[ ; !TODO çâ®- â® á¢ï§ ­­®¥ á ¯¥à¥¬¥­­ë¬¨ LIB_TABLE ; ]------
; _mInfoBLOCK #3E20-$,#FF
; [ ]
; [x]
FN_LIB:
SCF
RET
@ -1769,7 +1769,7 @@ RET_to_EXTENSION:
;---------------------------------------
;
;!TEST new_api
; [x] new portal
;------------[HDD_5x portal]------------
; â®çª  ¢å®¤ /¢ë室  ¤«ï ä㭪権 5å ¨§ EXP
_mInfoBLOCK #3FE8-$,#FF

View File

@ -470,7 +470,7 @@ READ_SECTOR: LD D,5 ;RETRY COUNT
IN A,(FDC_93.Command)
LD C,A
;R01 ; JP C,ERRRD ;READ ERROR
; !TEST 29/06/2024
; [x] 29/06/2024
;JP C,.ERR_XRD
JR NC,.NO_ERR_XRD
DEC D

View File

@ -1,4 +1,4 @@
;[ ] 18/12/2023. ¤®¡ ¢«¥­¨¥/¤®¯¨«¨¢ ­¨¥ API CD-ROM (ATAPI)
;[x] 18/12/2023. ¤®¡ ¢«¥­¨¥/¤®¯¨«¨¢ ­¨¥ API CD-ROM (ATAPI)
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
;CD ROM DRIVE DRIVER
;---------------------------------------------------------------
@ -74,16 +74,10 @@ CD_5x_LONG_READ:
LDIR
EXX
;!TEST
;LD A,H
;LD (RAM_ATAPI_READ+SECREAD+0),A ;R01
;LD A,L
;LD (RAM_ATAPI_READ+SECREAD+1),A ;R01
LD A,H
LD H,L
LD L,A
LD (RAM_ATAPI_READ + ATAPI_PACKET.SECTOR+0),HL
;
LD A,H
LD H,L
LD L,A
LD (RAM_ATAPI_READ + ATAPI_PACKET.SECTOR+0),HL
LD A,XH
LD (RAM_ATAPI_READ + ATAPI_PACKET.SECTOR+2),A ;R01
LD A,XL
@ -96,7 +90,6 @@ CD_5x_LONG_READ:
;
; POP AF
; OUT (SLOT3),A
;R01 LD HL,CMDREAD
LD HL,RAM_ATAPI_READ
CALL AP_COM
;

View File

@ -412,7 +412,7 @@ WRS000:
;[x] CMOS Write Protect Disabled
IF HDDwriteProtect
PUSH BC
LD D,#1D ;!HARDCODE CMOS Write Protect
LD D,CMOS_CELL.Options
CALL CMOS_RD
POP BC
AND 1
@ -547,10 +547,8 @@ PRESET: LD A,B
LD A,(IY+IDE.HDD_INIT_TABLE.DRV_Flags)
LD BC,IDE.Write.DeviceHead
OUT (C),A
;!TEST
;BIT 6,A ;¡¨â CHS/LBA ;!FIXIT ᤥ« âì ¬¥âª ¬¨ ­®¬¥à  ¡¨â
AND %0100'0000
;
;¡¨â CHS/LBA ;!FIXIT ᤥ« âì ¬¥âª ¬¨ ­®¬¥à  ¡¨â
AND %0100'0000
LD E,XL
LD D,XH
CALL Z,LBA_CHS
@ -654,7 +652,7 @@ WAITPRT:
;[]================================================================[#57]
;[ ] 18/12/2023. ¤®¡ ¢«¥­¨¥/¤®¯¨«¨¢ ­¨¥ API CD-ROM (ATAPI)
;[x] 18/12/2023. ¤®¡ ¢«¥­¨¥/¤®¯¨«¨¢ ­¨¥ API CD-ROM (ATAPI)
;Function: Detect Disk
; A - Disk
;Return: CF=0 - A=Drive type

View File

@ -1,4 +1,4 @@
;[ ] 18/12/2023. ¤®¡ ¢«¥­¨¥/¤®¯¨«¨¢ ­¨¥ API CD-ROM (ATAPI)
;[x] 18/12/2023. ¤®¡ ¢«¥­¨¥/¤®¯¨«¨¢ ­¨¥ API CD-ROM (ATAPI)
;=======================================================================
; ‚室: A - ­®¬¥à ãáâனá⢠

View File

@ -747,7 +747,7 @@ SCREEN_TABLES:
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 ;!TEST PENTAGON INT 2 ª¢ ¤à â¨ª 
.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

View File

@ -211,7 +211,7 @@ FN_HDD_PREPARE: ;
CALL HD_PREPARE
RET C
;!TEST
; [x]
EX AF,AF'
LD A,#BF ; check buffer address in SLOT3
SUB H
@ -358,10 +358,10 @@ HD_WR_L2:
JR Z,HD_RET
LD BC,IDE.Write.Data
LD D,32 ;!HARDCODE § ¢¨á¨â ®â áçñâ稪  DUP ¢ HD_WR_LOOP
LD D,32 ;!HARDCODE § ¢¨á¨â ®â áçñâ稪  DUP ¢ HD_WR_LOOP
HD_WR_LOOP:
DUP 16
OUTI ; ¢á¥£® 16 à § OUTI - ®¯â¨¬ «ì­®.
OUTI ; ¢á¥£® 16 à § OUTI - ®¯â¨¬ «ì­®.
EDUP
DEC D
@ -382,7 +382,7 @@ HD_WR_LOOP:
LD HL,#C000 ; !HARDCODE
JR HD_WR_L2
; [ ] ¯®ª  à ¡®â ¥â ⮫쪮 á ®¤­¨¬ ª ­ «®¬ (¯®-áâ à®¬ã)
;!FIXIT ¯®ª  à ¡®â ¥â ⮫쪮 á ®¤­¨¬ ª ­ «®¬ (¯®-áâ à®¬ã)
FN_HDD_RECAL:
LD A,IDE.Drive.Master
LD BC,IDE.Write.DeviceHead

View File

@ -27,7 +27,7 @@ CMOS_EMU_WR:
; § ¯¨áì ¢ CMOS
CMOS_WR:
;!TEST
; [x]
_mCMOS_MAX_TEST
;
CALL CMOS_TEST
@ -58,7 +58,7 @@ CMOS_EMU_RD:
; ç⥭¨¥ ¨§ CMOS
CMOS_RD:
;!TEST
; [x]
_mCMOS_MAX_TEST
;
CALL CMOS_TEST
@ -76,7 +76,7 @@ CMOS_TEST:
PUSH DE
PUSH BC
LD D,CMOS.TEST_CELL
LD D,CMOS.TEST_CELL ; [x] à ­ìè¥ ¯¨á «® ¢ ï祩ªã 祪-á㬬ë
CALL CMOS_RD.RD
LD E,A
CPL
@ -84,8 +84,8 @@ CMOS_TEST:
CALL CMOS_RD.RD
CPL
CP E
JR NZ,.CMOS_ERR
LD A,E
JR NZ,.CMOS_ERR
CALL CMOS_WR.WR
POP BC
@ -93,8 +93,8 @@ CMOS_TEST:
POP AF
AND A
RET
;
.CMOS_ERR:
LD A,E
CALL CMOS_WR.WR
POP BC
POP DE

View File

@ -62,8 +62,8 @@
; B -  âਡãâ ®ç¨á⪨
; H - ¢ëá®â , L - è¨à¨­ 
;=============================================================
MACRO TEST_40
;[x] ¢ª«î稫 31/10/23, ç¨áâ® ­  •í««®ããã㨨¨­
MACRO TEST_40 ;[x] ¢ª«î稫 31/10/23, ç¨áâ® ­  •í««®ããã㨨¨­
EX AF,AF'
JR C,.LLL
INC D ; ०¨¬ 40
@ -179,7 +179,7 @@ LP_PRINT_ALL:
INC L
LD (HL),A
DEC L
TEST_40 ;[x] ¢ª«î稫 31/10/23, ç¨áâ® ­  •í««®ããã㨨¨­
TEST_40
DJ_NEXT_HL
EXX
DJNZ .loop

View File

@ -293,7 +293,7 @@ PIC_FN5: ;
;*******************************************************************
; “áâ ­®¢ª  ¢­ãâ७­¥© ¯ «¨âàë
; A - page_pal, E - ­®¬¥à ¯ «¨âàë, B - ⨯ ¯ «¨âàë
PIC_FN6:
SET_PAL_INIT:
LD D,A
DEC B
JP Z,SET_PAL_GRAF

View File

@ -74,7 +74,7 @@ EMM.InitMem:
.loop2: LD (HL),A
INC L
DJNZ .loop2
; [x] 4/11/23
; [x] 04/11/2023
LD HL,SYS_PAGE.Sp_RAMD_KEYS; - #4000 - #4000
LD B,SYS_PAGE.Sp_RAMD_KEYS.NUM
.loop3: LD (HL),A
@ -873,7 +873,7 @@ GET_RAMD_NUM:
;
;----------------------------------------------------------------------;
; [x] 4/11/23
; [x] 04/11/2023
; ‚室:
; B = 0: swap to Sp
; B = #FF: swap to ZX

View File

@ -112,7 +112,7 @@ RST_CONF:
;
;[x]
.CHOOSE_CNF:
;!TEST
; [x]
CP ACEX.Config_PG.Sp2000_SoftSetUp
JP Z,.ReturnSoftReset
;
@ -317,7 +317,7 @@ RST_CONF:
;
;***************************************
;!TEST
;[x]
;--------------------------[;!TODO ¯®â¥áâ¨âì]--------------------------;
; B - ¯ à ¬¥âà á¡à®á 
; B = 1 - RESTART.
@ -376,7 +376,7 @@ REINIT: DEC B
RET
;
;!TEST
;[x]
.HardReset:
DI
LD A,DCP_PAGE
@ -390,7 +390,7 @@ REINIT: DEC B
JR .loop ; ¯®«­®áâìî § æ¨ª«¨âì!
;
;!TEST
;[x]
.Restart:
DI
LD A,0

View File

@ -56,7 +56,7 @@ FN_VERSION:
;----------------------------------------------------------------------;
;----------------------------------------------------------------------;
; [ ] 28/01/24 ¤®¡ ¢«¥­  ¯®¤äã­ªæ¨ï ¢ë¤ ç¨ ¨­äë ¯à® Acex
; [x] 28/01/24 €<> «₯­ <>€δγ­ͺζ¨ο ’λ€ η¨ ¨­δλ ―ΰ<E28095> Acex
FN_CRIPT:
DJNZ .Acex_ver
;
@ -226,7 +226,7 @@ INIT_SYS_ALL:
LD BC,SYS_PAGE.RAMD_KEYS.NUM-1
LD (HL),0
LDIR
; [x] 4/11/23
; [x] 04/11/2023
LD HL,SYS_PAGE.Sp_RAMD_KEYS-#4000
LD DE,SYS_PAGE.Sp_RAMD_KEYS+1-#4000
LD BC,SYS_PAGE.Sp_RAMD_KEYS.NUM-1
@ -336,14 +336,14 @@ FN_TURBO:
LD B,A
LD A,SYS_PAGE
OUT (SLOT3),A
;!TEST
;
;LD DE,(SYS_PAGE.CONFIG_DE)
;LD A,E
LD A,(SYS_PAGE.CONFIG_DE)
;
AND #FC ; !HARDCODE
OR C
;!TEST
;
;LD E,A
;LD (SYS_PAGE.CONFIG_DE),DE
LD (SYS_PAGE.CONFIG_DE),A

View File

@ -53,7 +53,7 @@ Raster:
.length EQU $-Raster
IF Pashalki
; [ ] - ᤥ« вм вгв в Ў«ЁзЄг-ббл«ЄЁ ­  ­г¦­го в Ў«Ёжг бЇа ©в®ў Ё § ўп§ вм нв® ­  ¤ вл
; !TODO ᤥ« вм вгв в Ў«ЁзЄг-ббл«ЄЁ ­  ­г¦­го в Ў«Ёжг бЇа ©в®ў Ё § ўп§ вм нв® ­  ¤ вл
MACRO _PASHALKI_CODE

View File

@ -1,3 +1,5 @@
;
; MODULE ROM_PART
;------------[Begin of ROM]-------------
ROM_START:
DI
@ -48,9 +50,6 @@ Check_Sum:
NMI: RETN
;---------------------------------------
; ;!FIXIT ¯¥à¥­¥á⨠¢ ROM.BIOS ¨ ᤥ« âì
; ; â ª, ç⮡ ¬®£«  ¯à ¢¨«ì­® ¯à룠âì ¢
; ; «î¡ë¥ á«®âë ¨ à ¡®â âì á DSS
; ;----------------[int]------------------
; EXTINT: OR A
; RET Z
@ -216,8 +215,6 @@ BLOCK_Setup.Length EQU $-BLOCK_Setup
;
; !FIXIT ᤥ« âì í⨠䨪á¨à®¢ ­­ë¥  ¤à¥á  ®â¤¥«ì­ë¬ ä ©«®¬ ¨ á IF/ELSE ¨ ¯®¤ª«îç âì ¨å ¯®â®¬ ªã¤  ­ ¤®.
;
;????? ¯®á¬®âà¥âì
;----------------------------------------------------------------------;
; BLOCK #3CC0-$,255
; no-magics!
@ -244,7 +241,7 @@ BLOCK_Setup.Length EQU $-BLOCK_Setup
PUSH HL
LD HL,#5B00 ;!HARDCODE
LD A,(HL)
CP #F5 ; #F5 - ®¯ª®¤ 'PUSH AF'. <20>஢¥àï¥âáï â® «¨ ¢ #5B00
CP #F5 ; #F5 - ®¯ª®¤ 'PUSH AF'. <20>஢¥àï¥âáï ¢ #5B00
JR Z,JP_HL_48 ; އ<E280A1> Š Œ…<C592>ž BASIC128
POP HL
JR SW_ROM ; <20><>ŽŽ‰ އ<E280A1>
@ -262,9 +259,9 @@ BLOCK_Setup.Length EQU $-BLOCK_Setup
;***************************************
_mInfoBLOCK #3CF8-$,#FF ;!TEST 0
; no basic-48!
JP_HL_48:
;P_HL_48:
PUSH HL
SW_ROM:
;SW_ROM:
PUSH AF
LD A,ROM.BIOS
OUT (SYS_PORT.RAM),A
@ -301,7 +298,6 @@ SW_ROM:
;***************************************
_mInfoBLOCK #3D13-$,#FF
NOP
;JP ToBIOS_18
CALL ToBIOS_FromEXT
JP DOS_OFF
;***************************************
@ -426,3 +422,6 @@ RET_TO_TRDOS:
;---------------------------------------
_mInfoBLOCK #4000-$,#FF
;=======================================
; ENDMODULE ;ROM_PART
;

View File

@ -90,7 +90,7 @@ IDE3 EQU #C1D8
; DB #FF ;SECTOR PER CYLINDER HIGH ;06
; DB #FF ;DEVICE TYPE ;07
MODULE CONFIGURE_IDE_DRIVES
MODULE CONFIGURE_IDE_DRIVES
MODULE PAUSES
HALT:
@ -427,7 +427,7 @@ IDESPEC:
LD (IY+IDE.HDD_INIT_TABLE.SectorsPerCylinderLow),L
LD (IY+IDE.HDD_INIT_TABLE.SectorsPerCylinderHigh),H
.END: ;!TEST save hdd parameters to cmos for "setup" in settings
.END: ; [x] save hdd parameters to cmos for "setup" in settings
LD A,(IY+IDE.HDD_INIT_TABLE.DRV_Flags) ; for save to cmos in GETPARM
;
EX AF,AF'
@ -588,7 +588,7 @@ SKIPKEY:
/////////////////////////////////////////////////////////////////////[v]
;!TEST save hdd parameters to cmos for "setup" in settings
; [x] save hdd parameters to cmos for "setup" in settings
; IN: A' = DRV_Flags
SaveToCMOS:
LD A,(IDEDEV)
@ -675,7 +675,7 @@ GETPARAM:
INIR
INIR
CALL IDESPEC
;!TEST save hdd parameters to cmos for "setup" in settings
; [x] save hdd parameters to cmos for "setup" in settings
CALL SaveToCMOS
;
AND A

View File

@ -1,4 +1,9 @@
;
; before_intPointer EQU #C000
; INT_POINTER EQU #C002
; INT_HANDLER EQU #C004
before_intPointer EQU $
BLOCK #FF - low $,0 ; <>╲芍<E295B2><20> #xxFF
INT_POINTER: WORD 0

View File

@ -172,7 +172,7 @@ RESCANN:
IN A,(Z84.SIO.Ch_A.Ctrl)
AND 1
RET Z
;[ ] 18/02/2024 ¯à®¢¥àª  ­  ¯¥à¥¯®«­¥­¨¥ ¡ãä¥à 
;[x] 18/02/2024 ¯à®¢¥àª  ­  ¯¥à¥¯®«­¥­¨¥ ¡ãä¥à 
; A = 1
; reg 1
OUT (Z84.SIO.Ch_A.Ctrl),A
@ -204,7 +204,7 @@ RESCANN:
RES FLAG_E1,(IX+KEYFLG)
ENDIF
;
;[ ] 29/02/2024 ¢ë£à¥¡á⨠¢¥áì ¡ãä¥à
;[x] 29/02/2024 ¢ë£à¥¡á⨠¢¥áì ¡ãä¥à
JR Z,RESCANN ;IT'S SHIFT KEY
; RET Z ;IT'S SHIFT KEY
;
@ -526,7 +526,7 @@ XLAT_T.Size EQU $-XLAT_T
XLAT: BIT FLAG_E0,(IX+KEYFLG)
JR Z,W_O_E0
JR Z,.W_O_E0
CP #11 ; Right ALT
LD L,#39
RET Z
@ -548,12 +548,13 @@ XLAT: BIT FLAG_E0,(IX+KEYFLG)
RET Z
LD L,A
W_O_E0: ; â ¡«¨æ  á ¢ëà ¢­¨¢ ­¨¥¬ ­  256
.W_O_E0:
; â ¡«¨æ  á ¢ëà ¢­¨¢ ­¨¥¬ ­  256
; LD H,high XLAT_T
; LD L,(HL)
;
; ¡¥§ ¢ëà ¢­¨¢ ­¨ï
; [ ] 31/03/2024 ¨á¯à ¢«¥­ ¡ £ á ¢ë室®¬ §  £à ­¨æë â ¡«¨æë XLAT_T
; [x] 31/03/2024 ¨á¯à ¢«¥­ ¡ £ á ¢ë室®¬ §  £à ­¨æë â ¡«¨æë XLAT_T
CP XLAT_T.Size
LD L,0
RET NC
@ -770,7 +771,7 @@ BEEP: LD A,#10
; RET
;------------------------------;????? à §®¡à âìáï
;[ ] 18/02/2024 ¯à®¢¥àª  ­  ¯¥à¥¯®«­¥­¨¥ ¡ãä¥à 
; [x] 18/02/2024 ¯à®¢¥àª  ­  ¯¥à¥¯®«­¥­¨¥ ¡ãä¥à 
Receiver_Overrun:
; empty the buffer
IN A,(Z84.SIO.Ch_A.Data)

View File

@ -76,7 +76,7 @@
TEMP EQU #7E00 ; !HARDCODE
MEMMAP2 EQU TEMP ; ¤®«¦­® ¡ëâì ¢ë஢­¥­® ¯® ALIGN 256
TPOINTD EQU TEMP - SYS_PAGE.RAMD_KEYS.NUM - SYS_PAGE.Sp_RAMD_KEYS.NUM ; [x] 4/11/23
TPOINTD EQU TEMP - SYS_PAGE.RAMD_KEYS.NUM - SYS_PAGE.Sp_RAMD_KEYS.NUM ; [x] 4/11/2023
;=======================================
@ -252,7 +252,7 @@ CLEARM: IN A,(SLOT3)
LD DE,TPOINTD
LD BC,SYS_PAGE.RAMD_KEYS.NUM
LDIR
; [x] 4/11/23
; [x] 4/11/2023
LD HL,SYS_PAGE.Sp_RAMD_KEYS
LD DE,TPOINTD + SYS_PAGE.RAMD_KEYS.NUM
LD BC,SYS_PAGE.Sp_RAMD_KEYS.NUM
@ -270,7 +270,7 @@ CLEARM: IN A,(SLOT3)
LD D,high MEMMAP2
LD BC,SYS_PAGE.RAMD_KEYS.NUM*256 + #FF
CALL .MEMLOOP
; [x] 4/11/23
; [x] 4/11/2023
LD IX,SYS_PAGE.Sp_RAMD_KEYS
LD B,SYS_PAGE.Sp_RAMD_KEYS.NUM
CALL .MEMLOOP
@ -282,7 +282,7 @@ CLEARM: IN A,(SLOT3)
CALL NZ,CCHAIN
POP AF
OUT (SLOT3),A
;!TEST; [ ] 04/11/2023 Žâ¤¥«ì­ë¥ à ¬¤¨áª¨ ¤«ï ०¨¬  ᯥªâà㬠 ¨ DSS.
; [x] 04/11/2023 Žâ¤¥«ì­ë¥ à ¬¤¨áª¨ ¤«ï ०¨¬  ᯥªâà㬠 ¨ DSS.
LD B,high BIOS.SWAP_RAM_DRIVES.Sp2000
JP SWAP_RAM_DRIVES
;
@ -674,7 +674,7 @@ INFO_MESSAGE:
CALL CONFIGURE_IDE_DRIVES.START
CALL CTRLKEY
LD A,B
; [ ] 05/07/2024 <CTRL for Recover>
; [x] 05/07/2024 <CTRL for Recovery>
BIT X_CTRL,A
LD BC,#FFFF ; ¬ àª¥à ¤«ï PrepareToBOOT, ç⮡ £à㧨« Recovery
JR NZ,RECOVERY_BOOT
@ -912,7 +912,7 @@ PrepareToBOOT: ;CALL INT_ON
CALL PORTS_INIT.clean_mouse_buf ;Clearing the mouse buffer
CALL INT_OFF
; âãâ ­¥ ¤®«¦­® ¡ëâì ¨á¯®à祭® §­ ç¥­¨¥ BC
; [ ] 05/07/2024 <CTRL for Recover>
; [x] 05/07/2024 <CTRL for Recovery>
INC BC
LD A,B
OR C
@ -1212,7 +1212,7 @@ CNF_VER_PRINT:
; JP_to_BIOS
//////////////////////////////////////////////////////////////////////
INCLUDE 'IM2_INT.asm'
; INCLUDE 'IM2_INT.asm'
//////////////////////////////////////////////////////////////////////
PRNHEX: LD D,A
@ -1492,15 +1492,6 @@ POSTLEN:
;JP ScreenPOS.LOCAT
JP LP_SET_PLACE
POSTMSG:
CALL FindStringAddr
JP PRINTZ
POSTMSC:
CALL FindStringAddr
LD A,E
JP CPRINTZ
SETLAND:
LD A,#0E ; !HARDCODE CMOS ï祩ª  options
CALL READCMS
@ -1518,6 +1509,20 @@ SETLAND:
LD BC,MSG_RUS.size
LDIR
RET
//////////////////////////////////////////////////////////////////////
INCLUDE 'IM2_INT.asm'
//////////////////////////////////////////////////////////////////////
POSTMSG:
CALL FindStringAddr
JP PRINTZ
POSTMSC:
CALL FindStringAddr
LD A,E
JP CPRINTZ
;
; print boot drive number
PRINT_CHANEL:
@ -1566,10 +1571,6 @@ STACK EQU #C000
.size EQU 128
; ID_BUFFER EQU $
; MSG_Buffer EQU ID_BUFFER+#100
; TMP_BUFFER EQU MSG_Buffer + MSG_ENG.size
IF memBUFFER.End-1 > #C000-STACK.size
DISPLAY 'memBUFFER.Shared overlaps STACK by: ',/A,(memBUFFER.End-1)-(#C000-STACK.size)
ASSERT memBUFFER.End-1 < #C000-STACK.size

View File

@ -616,7 +616,7 @@ G_VALUE:
RLCA
RET
;!TEST
; [x] ç⮡ ­¥ ¢«¥§«® ªã¤  ­¥ ­ ¤®
READCMS:
LD D,high CMOSARE
LD E,A
@ -627,7 +627,7 @@ READCMS:
.error: SCF
RET
;!TEST
; [x] ç⮡ ­¥ ¢«¥§«® ªã¤  ­¥ ­ ¤®
WRITCMS:
LD D,high CMOSARE
LD E,A
@ -640,7 +640,7 @@ WRITCMS:
RET
CHEKSUM:
LD BC,DEFVAL.Size*256 + #0E ;!HARDCODE
LD BC,DEFVAL.Size*256 + CMOS.USED_MIN_ADDRESS
LD H,#DE ;!HARDCODE
.loop: LD A,C
CALL READCMS
@ -656,7 +656,7 @@ CHEKSUM:
TCHEKSM:
CALL CHEKSUM
LD A,#3F ; !HARDCODE CMOS
LD A,CMOS_CELL.CheckSum
CALL READCMS
CP H
RET
@ -727,18 +727,18 @@ SETDEF: ;!TODO
INC A
DEC C
JR NZ,.loop
;REGISTER #35 - BASIC SETTING 1
LD A,#35 ;!HARDCODE cmos
LD B,#00
LD A,CMOS_CELL.ZX_RST_TO
LD B,CMOS_CELL.ZX_RST_TO.BASIC_128
CALL WRITCMS
;REGISTER #36 - BASIC SETTING 2
LD A,#36 ;!HARDCODE cmos
LD B,#00
LD A,CMOS_CELL.ZX_CONFIG
LD B,CMOS_CELL.ZX_CONFIG.ZX_Sprinter
CALL WRITCMS
CALL CHEKSUM
LD B,H
LD A,CMOS.Cell.CheckSum
LD A,CMOS_CELL.CheckSum
CALL WRITCMS
RET

View File

@ -1,13 +1,6 @@
def_pal_mask EQU #FF
PIC_SET_PAL_FF EQU def_pal_mask*256+BIOS.PIC_SET_PAL
ScreenPOS.SUBNAME.POS EQU 37
IF NEW_FEATURE
ENDIF
;;
ScreenPOS:
@ -15,7 +8,8 @@ ScreenPOS:
CALL LP_GET_PLACE
LD E,.SUBNAME.POS ;!HARDCODE autodetected hdd/cdrom info
JP LP_SET_PLACE
.SUBNAME.POS EQU 37
;
.CRLF: CALL LP_GET_PLACE
INC D
LD E,#00

View File

@ -426,10 +426,10 @@ CLEAR_RAM:
; ¯à¨ ®ç¨á⪥ ¯ ¬ï⨠¨§ ¬¥­î ᯥªâà㬠 ¢®§¢à â ¢ DSS ¯® CAD
; ¡ã¤¥â ®¯ á­ë¬ (RAM Blocks ®á¢®¡®¤¨«¨áì),
; ¯®í⮬㠮⪫îç ¥¬ ¯¥à¥å¢ â à¥á¥â .
LD A,ACEX.RET_PORT
LD BC,BIOS.SET_PORTS
LD A,ACEX.RET_PORT
LD BC,BIOS.SET_PORTS
;[x] SET_PORTS: no need to call from #3D13 and DI. 31/12/23
;CALL ToBIOS_3D13
;CALL ToBIOS_3D13
RST_to_BIOS
;
EI
@ -641,14 +641,13 @@ UTILIT:
LD HL,C_DISK_C
CALL CALL_DOS1
;!TEST
;CALL DOS_ON
;LD A,0 ; DETECT_HDD
;CALL EXP_HDD
LD C,BIOS.HDD_INIT
RST_to_BIOS
;CALL DOS_OFF
;
;CALL DOS_ON
;LD A,0 ; DETECT_HDD
;CALL EXP_HDD
LD C,BIOS.HDD_INIT
RST_to_BIOS
;CALL DOS_OFF
JR C,DISK_UTILIT
@ -657,21 +656,15 @@ UTILIT:
UTIL_DISK:
XOR A
;!TEST
LD C,BIOS.FreeMemRMD
RST_to_BIOS
;CALL EMM_FN3 ;!!!!! ç¥à¥§ RST_to_BIOS EMM.FreeMemRMD
;
LD C,BIOS.FreeMemRMD
RST_to_BIOS
LD HL,C_DEMO6
CALL CALL_DOS1
XOR A
;!TEST
LD C,BIOS.GET_RAMD_ST
RST_to_BIOS
;CALL GET_RAMD_ST
;
LD C,BIOS.GET_RAMD_ST
RST_to_BIOS
JR C,UTIL_DISK_L1
JR Z,UTIL_DISK_L1

View File

@ -24,29 +24,14 @@
;
; ‚室: è¨à¨­  á¯à ©â , ¢ëá®â , ª®®à¤¨­ â  X, ª®®à¤¨­ â  Y,  ¤à¥á á¯à ©â  ¢ ¯ ¬ïâ¨
MACRO EasterTable width, height, Xcoord, Ycoord, addr
WORD addr ;  ¤à¥á á¯à ©â  ¢ ¯ ¬ïâ¨
WORD width ; ˜¨à¨­ 
BYTE height+Ycoord ; ‚ëá®â  + Y coord
WORD Xcoord+#4040 ; X coord ; !HARDCODE ‘à®ç­® ¨á¯à ¢¨âì ­  ¬¥âªã #4040 -  ¤à¥á «®£®
BYTE Ycoord ; Y coord
WORD addr ;  ¤à¥á á¯à ©â  ¢ ¯ ¬ïâ¨
WORD width ; ˜¨à¨­ 
BYTE height+Ycoord ; ‚ëá®â  + Y coord
WORD Xcoord+#4040 ; X coord ; !HARDCODE ¨á¯à ¢¨âì ­  ¬¥âªã #4040 -  ¤à¥á «®£®
BYTE Ycoord ; Y coord
ENDM
;
; ­  ¢å®¤¥ ¢ A ­®¬¥à áâப¨. <20>  ¢ë室¥ ¢ HL  ¤à¥á ­ ç «  áâப¨. ¯®àâ¨â A, HL, BC
; MACRO FIND_STRING_ADDR ; !TODO ¯¥à¥¤¥« âì ­  CALL FIND_STRING_ADDR ?
; SLA A ; !FIXIT ¯¥à¥¤¥« âì ¯®¤ ª®«¨ç¥á⢮ áâப > 127
; LD HL,MSG_Buffer
; LD B,0
; LD C,A
; ADD HL,BC
; LD A,(HL)
; INC HL
; LD H,(HL)
; LD L,A
; ENDM
;
;
MACRO _mRECOVERYrdChooseTYPE vers
IF vers = 1

View File

@ -11,15 +11,11 @@ BIOS_ver_hex EQU EXP_ID.VER*256+EXP_ID.MOD
DEFINE BETA_str_ver "BETA ","0"+BETA_BUILD
ENDIF
;---------------------------------------
; DEFINE Sp_MB_Ver '2000'
DEFINE BoardID_start #5283
DEFINE BoardID_end #47E8
DEFINE MotherBoardID #0000
;=======================================
;============[For ROM part]============= ;!FIXIT ¢ë ­¥ ¯®­¨¬ ¥â¥, íâ® ¤à㣮¥))
;-[Version of disk subsystem "VER.MOD"]-
ROM_ID:
@ -30,7 +26,6 @@ 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
;---------------------------------------
;============[For CNF part]=============
CNF_ID:
.VER EQU 3 ; <EFBFBD>®¬¥à ¢¥àᨨ ¬¥­ïâì âãâ!
@ -40,7 +35,6 @@ bitstream_ver_hex EQU CNF_ID.VER*256+CNF_ID.MOD
DEFINE bitstream_ver_string '0'+CNF_ID.VER, '.', '0'+CNF_ID.MOD/10, '0'+CNF_ID.MOD-(CNF_ID.MOD/10)*10
;---------------------------------------
;=======================================
DEFINE SPTeam_year '2024'
DEFINE SetupVer '1.60'