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

Binary file not shown.