...
This commit is contained in:
parent
9827b7c8de
commit
c8b5e323a5
@ -1 +1 @@
|
|||||||
Subproject commit 42dfec072030351eb386205ead32983bbc1c4909
|
Subproject commit 68681fbc50da463f1debae860e6db64603886d39
|
||||||
@ -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
|
||||||
@ -1059,7 +1050,6 @@ PORTS_INIT:
|
|||||||
; ‚ª«îç¨âì ¤®áâ㯠ª ª®â஫«¥àã ¤¨áª (âà¥âìï ª®ä )
|
; ‚ª«îç¨âì ¤®áâ㯠ª ª®â஫«¥àã ¤¨áª (âà¥âìï ª®ä )
|
||||||
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 !!!
|
||||||
|
;
|
||||||
|
CALL .clean_kbd_buf
|
||||||
|
JR .clean_mouse_buf
|
||||||
;Clearing the keyboard buffer
|
;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
|
||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
|
|
||||||
;-----------------------------------------------------------------------;
|
;-----------------------------------------------------------------------;
|
||||||
|
|||||||
@ -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.
Loading…
Reference in New Issue
Block a user