This commit is contained in:
Tolik 2024-07-30 22:07:48 +10:00
parent 4662474034
commit d357c4cc2a

View File

@ -137,11 +137,13 @@ CBL:
CNF_PORT:
.ON EQU #74
.OFF EQU #24
.BIOS EQU .ON
.VROM EQU .OFF
; Data:
.TURBO.ON EQU 3 ; ¤ ­­ë¥ ¤«ï ¢ª«î祭¨ï TURBO
.vBIOS EQU .ON
.vZX_ROM EQU .OFF
; Data:
.BIOS EQU 0
.EXTENSION EQU 1
.TURBO.OFF EQU 2 ; ¤ ­­ë¥ ¤«ï ¢ëª«î祭¨ï TURBO
.TURBO.ON EQU 3 ; ¤ ­­ë¥ ¤«ï ¢ª«î祭¨ï TURBO
.CNF_0 EQU #04 ; ª àâ  ¯®à⮢ 0
.CNF_1 EQU #0C ; ª àâ  ¯®à⮢ 1 (¤«ï ०¨¬  ¯®ç⨠ç¨á⮣® zx spectrum)
.CNF_2 EQU #14 ; ª àâ  ¯®à⮢ 2
@ -265,6 +267,9 @@ ROM:
.SLOT0 EQU #5C ; <20>ਡ¨â® £¢®§¤ï¬¨ ¢ ª®­ä¥
.BIOS EQU SYS_PORT.BIOS ; ¤«ï sys_port.on D_ROM16OFF
.EXTENSION EQU SYS_PORT.EXTENSION ; ¤«ï sys_port.on D_ROM16ON
vROM:
.BIOS EQU CNF_PORT.BIOS ; ¤«ï sys_port.on D_ROM16OFF
.EXTENSION EQU CNF_PORT.EXTENSION ; ¤«ï sys_port.on D_ROM16ON
; ‡­ ç¥­¨ï:
; ­®¬¥à áâà ­¨æë bit3..0
; à §à¥è¥­¨¥ § ¯¨á¨ bit4 (0 - no Write; 1 - Write)
@ -1348,20 +1353,14 @@ vROM: ;
.TR_DOS_2: EQU #E5 ; vROM page TR-DOS 2. PC = #3D00..#3DFF and #1FFD bit1=0 (#24 bit0=1)
.BASIC_128_2: EQU #E6 ; vROM page BASIC-128 2. #7FFD bit4=0 and #1FFD bit1=0 (#24 bit0=1)
.BASIC_48_2: EQU #E7 ; vROM page BASIC-48 2. #7FFD bit4=1 and #1FFD bit1=0 (#24 bit0=1)
;#E8 - user's memory cell = 00 ; á ¬®¦­® á®åà ­¨âì ­ã¦­®¥ §­ ç¥­¨¥ ;?????
;#E9 - user's memory cell = 05 ; á ¬®¦­® á®åà ­¨âì ­ã¦­®¥ §­ ç¥­¨¥ ;?????
;#EA - user's memory cell = 02 ; á ¬®¦­® á®åà ­¨âì ­ã¦­®¥ §­ ç¥­¨¥ ;?????
.BIOS_3 EQU #EB ; vROM page BIOS-3 Port #74 = 0
;#EC - user's memory cell = FF ; á ¬®¦­® á®åà ­¨âì ­ã¦­®¥ §­ ç¥­¨¥ ;?????
;#ED - user's memory cell = 00 ; á ¬®¦­® á®åà ­¨âì ­ã¦­®¥ §­ ç¥­¨¥ ;?????
;#EE - user's memory cell = 00 ; á ¬®¦­® á®åà ­¨âì ­ã¦­®¥ §­ ç¥­¨¥ ;?????
.BIOS_4 EQU #EF ; vROM page BIOS-4 Port #74 = 1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SLOT0 EQU #E8 ; RAM page (®ª­® 0000-3FFF)
SLOT1 EQU #E9 ; RAM page (®ª­® 4000-7FFF)
SLOT2 EQU #EA ; RAM page (®ª­® 8000-BFFF)
;#EC - user's memory cell ; á ¬®¦­® á®åà ­¨âì ­ã¦­®¥ §­ ç¥­¨¥
;#ED - user's memory cell ; á ¬®¦­® á®åà ­¨âì ­ã¦­®¥ §­ ç¥­¨¥
RET_PORT EQU #EE ; Page set after Soft RESET. ‹î¡®¥, ªà®¬¥ 0, §­ ç¥­¨¥ - áâà ­¨æ  ªã¤  ¯¥à¥¤ áâáï ã¯à ¢«¥­¨¥ ¯®á«¥ Soft reset
; “áâ ­®¢ª  §­ ç¥­¨ï ¢ ª ª®© «¨¡® ¯®àâ ®â #F0 ¤® #FF ¯à¨¢¥¤¥â ª ®¤­®¬ã ¨ ⮬㠦¥ १ã«ìâ âã, çâ® ¨ ¯à®áâ® ãáâ ­®¢ª  §­ ç¥­¨ï ¢ ¯®àâ #F0. á奬¥ ᤥ« ­ 
@ -1435,6 +1434,159 @@ Config_PG:
;------------------------;
;;;;;;;
ENDMODULE
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
;
/*
¢­ãâ७­¨¥ ¯®àâë Z84C15:
#10
#11
#12
#13
#14
#15
#16
#17
#18
#19
#1A
#1B
#1C
#1D
#1E
#1F
#EE
#EF
#F0
#F1
#F4
*/
;=======================================
;===============[ CMOS ]================ ; !TODO
;REGISTER #0E
; %10000000 - MEMORY TEST
; %01000000 - SAVE RAM DISKS
; %00100000 - UPDATE BIOS
; %00011000 - START DELAY
; %00000100 - LANGUAGE
; %00000010 - NOT USED ;!TODO
; %00000001 - QUICK START
;REGISTER #0F
; %10000000 - TYPEMATIC ON/OFF
; %01100000 - TYPEMATIC DELAY 00-250, 01-500, 10-750, 11-1000
; %00011111 - TYPEMATIC RATE 0-6, 1-8, 2-10, 3-12, 4-15, 5-20, 6-24, 7-30
;REGISTER #10
; %00000111 - SYSTEM DISK
; 1st FDD
; 2nd FDD
; 1st IDE
; 2nd IDE
; 3rd IDE
; 4th IDE
; Ram Dsk
; Recovery
; %01110000 - ALT SYSTEM DISK
;REGISTER #11
; %00000011 - FDD FIRST 720 / 1.44 / NONE
; %00001100 - FDD SECOND
; %00110000 - IDE Primary MASTER AUTO / SETUP / DISABLED
; %11000000 - IDE Primary SLAVE -----//------
;-------------[HDD PRIMARY]-------------
;REGISTER #12 - CYLINDERS (MASTER) L
;REGISTER #13 - -----//------ H
;REGISTER #14 - HEADS (MASTER)
;REGISTER #15 - SECTORS (MASTER)
;
;REGISTER #16 - CYLINDERS (SLAVE) L
;REGISTER #17 - -----//------ H
;REGISTER #18 - HEADS (SLAVE)
;REGISTER #19 - SECTORS (SLAVE)
;----------------------------------------
;------------[HDD Secondary]-------------
;REGISTER #37 - CYLINDERS (MASTER) L
;REGISTER #38 - -----//------ H
;REGISTER #39 - HEADS (MASTER)
;REGISTER #3A - SECTORS (MASTER)
;
;REGISTER #3B - CYLINDERS (SLAVE) L
;REGISTER #3C - -----//------ H
;REGISTER #3D - HEADS (SLAVE)
;REGISTER #3E - SECTORS (SLAVE)
;----------------------------------------
;REGISTER #1A
; %00001111 - COLOR STYLE
; %00110000 - Frame Int (Default/Pentagon/Scorpion/Original)
; %11000000 - Screen V-Sinc (Default/312 lines 50 HZ/320 Lines 49 Hz)
;!FIXIT <EFBFBD> ˆ<EFBFBD>Žœ‡“…Ÿ
;REGISTER #1B - HARDWARE CONFIGURATION
; %00000001 - TURBO MODE (D0..D3 - 6 OR 7)
; %00000010 - TURBO EXCHANGE ON/OFF - 1
; %00000100 - PORT EXCHANGE ON/OFF - 1
; %00011000 - COMPUTER:
; 0-SPRINTER
; 1-SPECTRUM 256
; 2-PENTAGON 128
; 3-OTHER
; %11100000 - RESERVED ;!TODO
;!FIXIT <EFBFBD> ˆ<EFBFBD>Žœ‡“…Ÿ
;REGISTER #1C - RESET MODE
; 0-RESET 128 Basic
; 1-RESET 48 Basic & 128 mem
; 2-RESET TR-DOS & 128 mem
; 3-RESET EXPANSION (Disabled)
; 4-RESET TR-DOS & 48 mem
; 5-RESET 48 Basic
;REGISTER #1D
; %00000010 - Reboot message
; %00000001 - HDD Write protect
;REGISTER #1E
; %00000011 - TR DOS A: Default / FDD / HDD / RMD
; %00001100 - TR DOS B: Default / FDD / HDD / RMD
; %00110000 - TR DOS C: Default / FDD / HDD / RMD
; %11000000 - TR DOS D: Default / FDD / HDD / RMD
;REGISTER #1F ;R06
; %11110000 - X-Screen position
; %00001111 - Y-Screen position
;REGISTER #20
; %00110000 - IDE Secondary MASTER AUTO / SETUP / DISABLED
; %11000000 - IDE Secondary SLAVE -----//------
; .
; .
;REGISTER#35 - BASIC SETTING 1 (SYS_PAGE.CONFIG_DE+1 = #C13B on PAGE #FE)
; 0 - RESET TO BASIC 128
; 1 - RESET TO BASIC 48 (RAM128)
; 2 - RESET TO TRDOS
; 3 - RESET TO EXPANSION (DON'T USE)
; 4 - RESET TO 48 TRDOS
; 5 - RESET TO 48 BASIC (RAM48)
;REGISTER#36 - BASIC SETTING 2 ; áâ àë¥ §­ ç¥­¨ï ­¥¨§¢¥áâ­ë
; %0000 0111
; ­®¢ë¥ §­ ç¥­¨ï:
; 0 - ZX-Sprinter
; 1 - Pentagon 48
; 2 - Pentagon 128
; 3 - Pentagon 512
; 4 - Scorpion 256
; 5 - ZX Spectrum 48
; 6 - ZX Spectrum 128
;REGISTER #3F - CHECKSUM SETTING
;=======================================
;
;-------------------------------[ TEST ]--------------------------------
@ -1691,6 +1843,25 @@ ATA:
;-----------------------------------------------------------------------
;
/*
KBD_COM EQU #1B
KBD_DAT EQU #1A
COM_B EQU #1B
DAT_B EQU #1A
COM_A EQU #19
DAT_A EQU #18
LPT1_D EQU #1C
LPT1_C EQU #1D
LPT2_D EQU #1E
LPT2_C EQU #1F
STC0_C EQU #10
STC1_C EQU #11
STC2_C EQU #12
STC3_C EQU #13
*/
; !TODO ¯à¨¤ã¬ âì ª ª ®¡®§¢ âì, ç⮡ ¡ë«® ¯®­ïâ­® ª®£¤  ¯¨èãâ ¤«ï ¬ë誨, ª®£¤  ¤«ï ª« ¢ë ¨ â.¤.
MODULE Z84
;-------------------[Ports]
@ -1735,7 +1906,6 @@ REG:
ENDMODULE
;
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
;INIT_TIMER:
; LD A,#D5 ; 7-© ¡¨â à §à¥è¥­¨¥ ¯à¥à뢠­¨ï
; OUT (#12),A
@ -1760,8 +1930,6 @@ REG:
; IM 1
; EI
; RET
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ
;=======================================================================;
@ -2151,30 +2319,6 @@ REG:
; CNF_3 EQU #1C ; ª àâ  ¯®à⮢ 3
; CNF_512 EQU #80 ; ¢ª«î祭¨¥ Pentagon 128
;
; ¢­ãâ७­¨¥ ¯®àâë Z84C15:
; #10
; #11
; #12
; #13
; #14
; #15
; #16
; #17
; #18
; #19
; #1A
; #1B
; #1C
; #1D
; #1E
; #1F
; #EE
; #EF
; #F0
; #F1
; #F4
;=======================================
; áâà ­¨æë á ª®­ä®© ¤«ï Sp97, ¤«ï ᮢ¬¥á⨬®áâ¨ á ¤à¥¢­¨¬¨ ¯à®£ ¬¨
; PG_SP1 equ #EC
@ -2217,145 +2361,6 @@ REG:
; P_HD3F6 EQU #4154 ; WRITE 3F6
; P_HD3F7 EQU #4055 ; READ 3F7
;===============[ CMOS ]================ ; !TODO
;REGISTER #0E
; %10000000 - MEMORY TEST
; %01000000 - SAVE RAM DISKS
; %00100000 - UPDATE BIOS
; %00011000 - START DELAY
; %00000100 - LANGUAGE
; %00000010 - NOT USED ;!TODO
; %00000001 - QUICK START
;REGISTER #0F
; %10000000 - TYPEMATIC ON/OFF
; %01100000 - TYPEMATIC DELAY 00-250, 01-500, 10-750, 11-1000
; %00011111 - TYPEMATIC RATE 0-6, 1-8, 2-10, 3-12, 4-15, 5-20, 6-24, 7-30
;REGISTER #10
; %00000111 - SYSTEM DISK
; 1st FDD
; 2nd FDD
; 1st IDE
; 2nd IDE
; 3rd IDE
; 4th IDE
; Ram Dsk
; Recovery
; %01110000 - ALT SYSTEM DISK
;REGISTER #11
; %00000011 - FDD FIRST 720 / 1.44 / NONE
; %00001100 - FDD SECOND
; %00110000 - IDE Primary MASTER AUTO / SETUP / DISABLED
; %11000000 - IDE Primary SLAVE -----//------
;-------------[HDD PRIMARY]-------------
;REGISTER #12 - CYLINDERS (MASTER) L
;REGISTER #13 - -----//------ H
;REGISTER #14 - HEADS (MASTER)
;REGISTER #15 - SECTORS (MASTER)
;
;REGISTER #16 - CYLINDERS (SLAVE) L
;REGISTER #17 - -----//------ H
;REGISTER #18 - HEADS (SLAVE)
;REGISTER #19 - SECTORS (SLAVE)
;----------------------------------------
;------------[HDD Secondary]-------------
;REGISTER #37 - CYLINDERS (MASTER) L
;REGISTER #38 - -----//------ H
;REGISTER #39 - HEADS (MASTER)
;REGISTER #3A - SECTORS (MASTER)
;
;REGISTER #3B - CYLINDERS (SLAVE) L
;REGISTER #3C - -----//------ H
;REGISTER #3D - HEADS (SLAVE)
;REGISTER #3E - SECTORS (SLAVE)
;----------------------------------------
;REGISTER #1A
; %00001111 - COLOR STYLE
; %00110000 - Frame Int (Default/Pentagon/Scorpion/Original)
; %11000000 - Screen V-Sinc (Default/312 lines 50 HZ/320 Lines 49 Hz)
;!FIXIT <EFBFBD> ˆ<EFBFBD>Žœ‡“…Ÿ
;REGISTER #1B - HARDWARE CONFIGURATION
; %00000001 - TURBO MODE (D0..D3 - 6 OR 7)
; %00000010 - TURBO EXCHANGE ON/OFF - 1
; %00000100 - PORT EXCHANGE ON/OFF - 1
; %00011000 - COMPUTER:
; 0-SPRINTER
; 1-SPECTRUM 256
; 2-PENTAGON 128
; 3-OTHER
; %11100000 - RESERVED ;!TODO
;!FIXIT <EFBFBD> ˆ<EFBFBD>Žœ‡“…Ÿ
;REGISTER #1C - RESET MODE
; 0-RESET 128 Basic
; 1-RESET 48 Basic & 128 mem
; 2-RESET TR-DOS & 128 mem
; 3-RESET EXPANSION (Disabled)
; 4-RESET TR-DOS & 48 mem
; 5-RESET 48 Basic
;REGISTER #1D
; %00000010 - Reboot message
; %00000001 - HDD Write protect
;REGISTER #1E
; %00000011 - TR DOS A: Default / FDD / HDD / RMD
; %00001100 - TR DOS B: Default / FDD / HDD / RMD
; %00110000 - TR DOS C: Default / FDD / HDD / RMD
; %11000000 - TR DOS D: Default / FDD / HDD / RMD
;REGISTER #1F ;R06
; %11110000 - X-Screen position
; %00001111 - Y-Screen position
;REGISTER #20
; %00110000 - IDE Secondary MASTER AUTO / SETUP / DISABLED
; %11000000 - IDE Secondary SLAVE -----//------
; .
; .
;REGISTER#35 - BASIC SETTING 1 (SYS_PAGE.CONFIG_DE+1 = #C13B on PAGE #FE)
; 0 - RESET TO BASIC 128
; 1 - RESET TO BASIC 48 (RAM128)
; 2 - RESET TO TRDOS
; 3 - RESET TO EXPANSION (DON'T USE)
; 4 - RESET TO 48 TRDOS
; 5 - RESET TO 48 BASIC (RAM48)
;REGISTER#36 - BASIC SETTING 2 ; áâ àë¥ §­ ç¥­¨ï ­¥¨§¢¥áâ­ë
; %0000 0111
; ­®¢ë¥ §­ ç¥­¨ï:
; 0 - ZX-Sprinter
; 1 - Pentagon 48
; 2 - Pentagon 128
; 3 - Pentagon 512
; 4 - Scorpion 256
; 5 - ZX Spectrum 48
; 6 - ZX Spectrum 128
;REGISTER #3F - CHECKSUM SETTING
;=======================================
; KBD_COM EQU #1B
; KBD_DAT EQU #1A
; COM_B EQU #1B
; DAT_B EQU #1A
; COM_A EQU #19
; DAT_A EQU #18
; LPT1_D EQU #1C
; LPT1_C EQU #1D
; LPT2_D EQU #1E
; LPT2_C EQU #1F
; STC0_C EQU #10
; STC1_C EQU #11
; STC2_C EQU #12
; STC3_C EQU #13
;=================================================================================
; <EFBFBD>®pâë Sprinter. (¡ ©âë PORT_X)<<