This commit is contained in:
Anatoliy Belyanskiy 2024-03-23 04:04:37 +10:00
parent 9827b7c8de
commit c8b5e323a5
4 changed files with 68 additions and 69 deletions

@ -1 +1 @@
Subproject commit 42dfec072030351eb386205ead32983bbc1c4909
Subproject commit 68681fbc50da463f1debae860e6db64603886d39

View File

@ -71,8 +71,7 @@ RST_30:
;=======================================
BLOCK #38-$,0
; INTERUPT Point
RST38:
IF TEST_INT
RST38: IF TEST_INT
;INT:
PUSH BC
PUSH AF
@ -966,78 +965,71 @@ PORTS_INIT:
DEC A ;!FIXIT ¬®¦¥â ã¡à âì æ¨ª« ®¦¨¤ ­¨ï ¨ § ¯ã«¨âì 0 ¢ ¨áã ¯®á«¥ ¨­¨â  ª« ¢ë?
JR NZ,.isa_reset
OUT (C),A
; ˆ­¨æ¨ «¨§ æ¨ï ¯®á«¥¤®¢ â¥«ì­®£® ¯®àâ  ª« ¢¨ âãàë
; ˆ­¨æ¨ «¨§ æ¨ï ¯®á«¥¤®¢ â¥«ì­®£® ¯®àâ  ª« ¢¨ âãàë
; reg 0
XOR A ;LD A,0
OUT (Z84.SIO.Ch_A.Ctrl),A
INC A ;LD A,1
; reg 4
LD A,4
OUT (Z84.SIO.Ch_A.Ctrl),A
DEC A ;LD A,0 ; #18 ¢ª«î祭¨¥ ¯à¥à뢠­¨©
;INC A ;LD A,5
OUT (Z84.SIO.Ch_A.Ctrl),A
; reg 3
LD A,3
OUT (Z84.SIO.Ch_A.Ctrl),A
LD A,#C1
OUT (Z84.SIO.Ch_A.Ctrl),A
LD A,4
OUT (Z84.SIO.Ch_A.Ctrl),A
; ????? 5/7 ¯ à¨â¥â?
; LD A,5
LD A,7
OUT (Z84.SIO.Ch_A.Ctrl),A
; reg 5
LD A,5
OUT (Z84.SIO.Ch_A.Ctrl),A
LD A,#62 ;60, 61
OUT (Z84.SIO.Ch_A.Ctrl),A
; reg 1
LD A,1
OUT (Z84.SIO.Ch_A.Ctrl),A
DEC A ;LD A,0 ; #18 ¢ª«î祭¨¥ ¯à¥à뢠­¨©
OUT (Z84.SIO.Ch_A.Ctrl),A
; ˆ­¨æ¨ «¨§ æ¨ï ¬ëè¨
.mouse: XOR A ;LD A,0
OUT (Z84.SIO.Ch_B.Ctrl),A
INC A ;LD A,1
OUT (Z84.SIO.Ch_B.Ctrl),A
DEC A ;LD A,0
OUT (Z84.SIO.Ch_B.Ctrl),A
LD A,3
OUT (Z84.SIO.Ch_B.Ctrl),A
LD A,#41
OUT (Z84.SIO.Ch_B.Ctrl),A
LD A,4
OUT (Z84.SIO.Ch_B.Ctrl),A
//LD A,#44
LD A,#47
OUT (Z84.SIO.Ch_B.Ctrl),A
LD A,5
OUT (Z84.SIO.Ch_B.Ctrl),A
LD A,#E0
OUT (Z84.SIO.Ch_B.Ctrl),A
; ˆ­¨æ¨ «¨§ æ¨ï â ©¬¥à  ¬ëè¨
.mouse: ; ˆ­¨æ¨ «¨§ æ¨ï â ©¬¥à  ¬ëè¨
LD A,#55
OUT (Z84.CTC.Ch_0),A
LD A,#2D
OUT (Z84.CTC.Ch_0),A
; ˆ­¨æ¨ «¨§ æ¨ï ¯ à ««¥«ì­®£® ¯®àâ  1 (¯à¨­â¥à)
; ¤«ï POST-Tester- 
; LD A,#CF ; BITS I/O
; OUT (Z84.PIO.Port_A.Command),A
; XOR A
; OUT (Z84.PIO.Port_A.Command),A ; ALL - out
; OUT (Z84.PIO.Port_A.Data),A ; DATA - all zeros
; ¤«ï printer-a
; reg 0
XOR A ;LD A,0
OUT (Z84.SIO.Ch_B.Ctrl),A
; reg 4
LD A,4
OUT (Z84.SIO.Ch_B.Ctrl),A
;LD A,#45
LD A,#40
OUT (Z84.SIO.Ch_B.Ctrl),A
; reg 3
LD A,3
OUT (Z84.SIO.Ch_B.Ctrl),A
LD A,#41
OUT (Z84.SIO.Ch_B.Ctrl),A
; reg 5
LD A,5
OUT (Z84.SIO.Ch_B.Ctrl),A
LD A,#E0
OUT (Z84.SIO.Ch_B.Ctrl),A
; reg 1
LD A,1
OUT (Z84.SIO.Ch_B.Ctrl),A
DEC A ;LD A,0
OUT (Z84.SIO.Ch_B.Ctrl),A
; ˆ­¨æ¨ «¨§ æ¨ï ¯ à ««¥«ì­®£® ¯®àâ  1 (¯à¨­â¥à)
; ¤«ï POST-Tester- 
LD A,#CF ; BITS I/O
OUT (Z84.PIO.Port_A.Command),A
XOR A
OUT (Z84.PIO.Port_A.Command),A ; ALL - out
OUT (Z84.PIO.Port_A.Data),A ; DATA - all zeros
; ¤«ï printer-a
LD A,#0F ; OUT
OUT (Z84.PIO.Port_A.Command),A
OUT (Z84.PIO.Port_A.Command),A
; ˆ­¨æ¨ «¨§ æ¨ï ¯ à ««¥«ì­®£® ¯®àâ  2 (INT/DMA ISA)
LD BC,Z84.PIO.Port_B.Command ;⮫쪮 ç¥à¥§ ॣ¨áâà BC, ¨­ ç¥ €«ìâ¥à  ¯¥à¥å¢ â¨â
LD A,#CF ; BITS I/O
@ -1046,7 +1038,6 @@ PORTS_INIT:
OUT (C),A
LD A,#C0
OUT (Z84.PIO.Port_B.Data),A
; "‡ £«ã襭¨¥" ª®¢®ªá 
XOR A
OUT (CBL.SYS_PORT),A
@ -1055,11 +1046,10 @@ PORTS_INIT:
.CBL_MUTE:
OUT (C),A
DJNZ .CBL_MUTE
; ‘¡à®á ª®­â஫«¥à  ¤¨áª®¢®¤ 
; ‘¡à®á ª®­â஫«¥à  ¤¨áª®¢®¤ 
; ‚ª«îç¨âì ¤®áâ㯠ª ª®­â஫«¥àã ¤¨áª  (âà¥âìï ª®­ä )
LD A,CNF_PORT.CNF_3 + ROM.BIOS
OUT (SYS_PORT.ROM),A
OUT (FDC_93.DrvCTRL),A
push hl
pop hl
@ -1073,22 +1063,30 @@ PORTS_INIT:
LD A,CNF_PORT.CNF_0 + ROM.BIOS
OUT (SYS_PORT.ROM),A
; set HDD1/not-HDD2
LD A,IDE.Chanel.Primary ;!HARDCODE ᤥ« âì ç¥à¥§ ¬¥âªã
LD A,IDE.Chanel.Primary
OUT (IDE.Chanel.Set),A
LD BC,#7FFD
LD A,#10
OUT (C),A ; BASIC_48 mode
LD B,#1F
LD A,01
OUT (C),A ; RAM-0 mode !!!
;Clearing the keyboard buffer
;
CALL .clean_kbd_buf
JR .clean_mouse_buf
;Clearing the keyboard buffer
.clean_kbd_buf:
IN A,(Z84.SIO.Ch_A.Ctrl)
AND 1
RET Z
RRCA
RET NC
IN A,(Z84.SIO.Ch_A.Data)
JR .clean_kbd_buf
.clean_mouse_buf:
IN A,(Z84.SIO.Ch_B.Ctrl)
RRCA
RET NC
IN A,(Z84.SIO.Ch_B.Data)
JR .clean_kbd_buf
;---------------------------------------
;-----------------------------------------------------------------------;

View File

@ -491,7 +491,7 @@ START:
;LD A,#1C
;CALL READCMS
;PUSH AF
;LD A,#1B ;!TODO CMOS
;LD A,CMOS_CELL.HardwareConfiguration
;CALL READCMS
;POP DE
;LD E,A
@ -503,9 +503,9 @@ START:
LD A,SYS_PAGE
OUT (C),A
; LD (#C13A),DE CONFIG_DE
; LD (SYS_PAGE.CONFIG_DE),DE
LD HL,SYS_PAGE.INT_ADRESS ;EXTENDED INTERRUPT
LD HL,SYS_PAGE.INT_ADRESS ;EXTENDED INTERRUPT
XOR A
LD (HL),A
INC L
@ -891,10 +891,11 @@ RECOVERYstart:
PrepareToBOOT:
CALL INT_ON
HALT ; ¡¥§ ­¥£® ­¥ áà ¡ â뢠¥â § ¦¨¬ ­¨¥ è¨äâ  ¯à¨ áâ à⥠¤®á  ¤«ï ®â¬¥­ë áâ àâ  system.exe
CALL INT_OFF
;CALL INT_ON
HALT
CALL PORTS_INIT.clean_kbd_buf ;Clearing the keyboard buffer
CALL PORTS_INIT.clean_mouse_buf ;Clearing the mouse buffer
CALL INT_OFF
; âãâ ­¥ ¤®«¦­® ¡ëâì ¨á¯®à祭® §­ ç¥­¨¥ BC
CALL G_VALUE
LD B,0

Binary file not shown.