...
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
|
||||
; 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
|
||||
;---------------------------------------
|
||||
|
||||
;-----------------------------------------------------------------------;
|
||||
|
||||
@ -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.
Loading…
Reference in New Issue
Block a user