-bug: display incorrect disk and channel number on boot
This commit is contained in:
parent
94dfe0ed94
commit
eeaab481e6
@ -1 +1 @@
|
|||||||
Subproject commit cf19a287a2cfe1946de5c1d50a255c43ae4fc390
|
Subproject commit b593cb606636c961e49597b9b1e5b6ee72d191c9
|
||||||
@ -304,23 +304,20 @@ NO_RESTART:
|
|||||||
|
|
||||||
; -¨¨æ¨ «¨§ æ¨ï á¨á⥬ëå ¯®à⮢ Z84C15-
|
; -¨¨æ¨ «¨§ æ¨ï á¨á⥬ëå ¯®à⮢ Z84C15-
|
||||||
LD BC,#FF*256 + Z84.SYS.Control
|
LD BC,#FF*256 + Z84.SYS.Control
|
||||||
XOR A
|
XOR A ; Z84.REG.WaitState_Ctrl
|
||||||
OUT (C),A ; 0 register - waits
|
OUT (C),A ; Z84.SYS.Control
|
||||||
INC C
|
INC C ; Z84.REG.WaitState_MemBound
|
||||||
OUT (C),A ; set 0 Waits
|
OUT (C),A ; Z84.SYS.Data ; set 0 Waits
|
||||||
|
|
||||||
DEC C
|
DEC C
|
||||||
|
LD A,3 ; Z84.REG.Misc_Ctrl
|
||||||
LD A,3 ; 3-rd register - Misc.Control Register
|
OUT (C),A ; Z84.SYS.Control
|
||||||
OUT (C),A
|
|
||||||
INC C
|
INC C
|
||||||
XOR A ; !FIXIT ç¨â âì ¤®ªã Z84, ¢ë¡à âì § 票¥ ¤«ï A
|
;LD A,1 ; enable CS0, disable CS1
|
||||||
LD A,1 ; !FIXIT ç¨â âì ¤®ªã Z84, ¢ë¡à âì § 票¥ ¤«ï A
|
; no boundary set!
|
||||||
OUT (C),A ; enable CS0, disable CS1
|
XOR A ; disable CS0, disable CS1
|
||||||
|
OUT (C),A ; Z84.SYS.Data
|
||||||
JP POST_TEST.START
|
JP POST_TEST.START
|
||||||
; no boundary set!
|
|
||||||
;
|
|
||||||
|
|
||||||
;--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==
|
;--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==--==
|
||||||
IF TEST_INT
|
IF TEST_INT
|
||||||
;----------------[int]------------------
|
;----------------[int]------------------
|
||||||
|
|||||||
@ -4,26 +4,25 @@
|
|||||||
;**********************************;
|
;**********************************;
|
||||||
MACRO Conf_loader altera_chip
|
MACRO Conf_loader altera_chip
|
||||||
.START: DI
|
.START: DI
|
||||||
LD BC,#FFEE ; !HARDCODE
|
LD BC,#FF*256 + Z84.SYS.Control
|
||||||
XOR A ; Z84.REG.WaitState_Ctrl - register - waits
|
XOR A ; Z84.REG.WaitState_Ctrl - register - waits
|
||||||
OUT (C),A ; Z84.SYS.Control
|
OUT (C),A ; Z84.SYS.Control
|
||||||
INC C ; LD BC,#FFEF
|
INC C ; LD BC,#FFEF
|
||||||
LD A,4 ; !HARDCODE Memory waits set to 1
|
LD A,4 ; Memory waits set to 1
|
||||||
OUT (C),A ; Z84.SYS.Data
|
OUT (C),A ; Z84.SYS.Data
|
||||||
|
|
||||||
DEC C ; Z84.SYS.Control
|
DEC C ; Z84.SYS.Control
|
||||||
DEC A ; LD A,3 3-nd register - boundaries
|
DEC A ; LD A,3 - 3-nd register - boundaries
|
||||||
OUT (C),A ; Z84.REG.Misc_Ctrl
|
OUT (C),A ; Z84.REG.Misc_Ctrl
|
||||||
INC C ; cs0 enable, cs1 enable, 32-Bit CRC disable, reset output enable, Clock Divide-by-two
|
INC C ; cs0 enable, cs1 enable, 32-Bit CRC disable, reset output enable, Clock Divide-by-two
|
||||||
OUT (C),A ; Z84.SYS.Data
|
OUT (C),A ; Z84.SYS.Data
|
||||||
|
|
||||||
DEC C ; Z84.SYS.Control
|
DEC C ; Z84.SYS.Control
|
||||||
DEC A ; LD A,2 Z84.REG..CS_Boundary 2-nd register - boundaries
|
DEC A ; LD A,2 - Z84.REG..CS_Boundary 2-nd register - boundaries
|
||||||
OUT (C),A ; Z84.SYS.Data
|
OUT (C),A ; Z84.SYS.Data
|
||||||
INC C
|
INC C
|
||||||
LD A,#FE ; !HARDCODE
|
LD A,#FE ; boundaries FFFF..F000 - CS1
|
||||||
OUT (C),A ; boundaries FFFF..F000 - CS1
|
OUT (C),A ; EFFF..0000 - CS0
|
||||||
; EFFF..0000 - CS0
|
|
||||||
|
|
||||||
JR .LOOP_S1
|
JR .LOOP_S1
|
||||||
;**************************************
|
;**************************************
|
||||||
@ -43,8 +42,8 @@
|
|||||||
JR NZ,.LOOP_S ; !!!!! ¯à¨¢ï§ª ª ¤à¥áã ¢ HL
|
JR NZ,.LOOP_S ; !!!!! ¯à¨¢ï§ª ª ¤à¥áã ¢ HL
|
||||||
|
|
||||||
; !TODO ã¡à âì ¢¥©âë ¤«ï ªíè ?
|
; !TODO ã¡à âì ¢¥©âë ¤«ï ªíè ?
|
||||||
LD BC,#FFEE ; !HARDCODE
|
LD BC,#FF*256 + Z84.SYS.Control
|
||||||
LD A,2 ; !HARDCODE
|
LD A,Z84.REG.CS_Boundary ; !HARDCODE
|
||||||
OUT (C),A ; 0 register - waits
|
OUT (C),A ; 0 register - waits
|
||||||
INC C
|
INC C
|
||||||
LD A,#F0
|
LD A,#F0
|
||||||
@ -90,7 +89,7 @@
|
|||||||
EXX
|
EXX
|
||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
|
|
||||||
LD DE,#FE00 ; !!!!! Check flag "don't erase fast-ram bitstream" - "IM"
|
LD DE,#FE00 ;!HARDCODE ; !!!!! Check flag "don't erase fast-ram bitstream" - "IM"
|
||||||
LD A,(#FEE0)
|
LD A,(#FEE0)
|
||||||
CP "I"
|
CP "I"
|
||||||
JR NZ,.ONES_CONFIG
|
JR NZ,.ONES_CONFIG
|
||||||
@ -101,7 +100,7 @@
|
|||||||
DEC D ; multiple config!
|
DEC D ; multiple config!
|
||||||
|
|
||||||
.ONES_CONFIG:
|
.ONES_CONFIG:
|
||||||
LD IY,#0107 ;!!!!! ¯®¤ã¬ âì)))
|
LD IY,#0107 ;!HARDCODE ;!!!!! ¯®¤ã¬ âì)))
|
||||||
;!TEST
|
;!TEST
|
||||||
;LD IX,#FFFD
|
;LD IX,#FFFD
|
||||||
LD IX,SP2000_ConfID ;!!!!! ¯®¤ã¬ âì)))
|
LD IX,SP2000_ConfID ;!!!!! ¯®¤ã¬ âì)))
|
||||||
|
|||||||
@ -1539,11 +1539,11 @@ SETLAND:
|
|||||||
; print boot drive number
|
; print boot drive number
|
||||||
PRINT_CHANEL:
|
PRINT_CHANEL:
|
||||||
AND #0F
|
AND #0F
|
||||||
|
LD C,A
|
||||||
;
|
;
|
||||||
LD A,msgStrings.parPriIdeMA
|
LD A,msgStrings.parPriIdeMA
|
||||||
JR Z,.print_chanel
|
JR Z,.print_chanel
|
||||||
;
|
;
|
||||||
LD C,A
|
|
||||||
LD A,msgStrings.parPriIdeSl
|
LD A,msgStrings.parPriIdeSl
|
||||||
DEC C
|
DEC C
|
||||||
JR Z,.print_chanel
|
JR Z,.print_chanel
|
||||||
|
|||||||
@ -542,11 +542,11 @@ msgStrings:
|
|||||||
; _mSetStr unknownSTR1, tmp_Counter : DZ "7"
|
; _mSetStr unknownSTR1, tmp_Counter : DZ "7"
|
||||||
; _mSetStr unknownSTR2, tmp_Counter : DZ "8"
|
; _mSetStr unknownSTR2, tmp_Counter : DZ "8"
|
||||||
_mSetStr boardID, tmp_Counter : DZ 'Board ID : '
|
_mSetStr boardID, tmp_Counter : DZ 'Board ID : '
|
||||||
_mSetStr bootFdd, tmp_Counter : DZ 'Start from Diskette... '
|
_mSetStr bootFdd, tmp_Counter : DZ 'Boot from Diskette... '
|
||||||
; _mSetStr bootHdd, tmp_Counter : DZ 'Start from Hard disk... '
|
; _mSetStr bootHdd, tmp_Counter : DZ 'Boot from Hard disk... '
|
||||||
_mSetStr bootHdd, tmp_Counter : DZ 'Start from Hard disk at '
|
_mSetStr bootHdd, tmp_Counter : DZ 'Boot from HDD at '
|
||||||
_mSetStr bootCd, tmp_Counter : DZ 'Start from CD-ROM at '
|
_mSetStr bootCd, tmp_Counter : DZ 'Boot from CD-ROM at '
|
||||||
_mSetStr bootRamDrv, tmp_Counter : DZ 'Start from RAM disk... '
|
_mSetStr bootRamDrv, tmp_Counter : DZ 'Boot from RAM disk... '
|
||||||
_mSetStr bootRecovery, tmp_Counter : DZ 'Starting recovery...'
|
_mSetStr bootRecovery, tmp_Counter : DZ 'Starting recovery...'
|
||||||
_mSetStr bootAltDrv, tmp_Counter : DZ 'Alternative '
|
_mSetStr bootAltDrv, tmp_Counter : DZ 'Alternative '
|
||||||
_mSetStr bootFail, tmp_Counter : DZ 'fail' ; !FIXIT strFail
|
_mSetStr bootFail, tmp_Counter : DZ 'fail' ; !FIXIT strFail
|
||||||
@ -692,7 +692,7 @@ msgRusStrings:
|
|||||||
; _mSetStrRus unknownSTR2, tmp_Counter : DZ '8"
|
; _mSetStrRus unknownSTR2, tmp_Counter : DZ '8"
|
||||||
_mSetStrRus boardID, tmp_Counter : DZ 'ID ¯« âë : '
|
_mSetStrRus boardID, tmp_Counter : DZ 'ID ¯« âë : '
|
||||||
_mSetStrRus bootFdd, tmp_Counter : DZ '‡ ¯ãáª á ¤¨áª¥âë... '
|
_mSetStrRus bootFdd, tmp_Counter : DZ '‡ ¯ãáª á ¤¨áª¥âë... '
|
||||||
_mSetStrRus bootHdd, tmp_Counter : DZ '‡ ¯ãáª á ¦¥á⪮£® ¤¨áª '
|
_mSetStrRus bootHdd, tmp_Counter : DZ '‡ ¯ã᪠á HDD '
|
||||||
_mSetStrRus bootCd, tmp_Counter : DZ '‡ ¯ã᪠á CD-ROM '
|
_mSetStrRus bootCd, tmp_Counter : DZ '‡ ¯ã᪠á CD-ROM '
|
||||||
_mSetStrRus bootRamDrv, tmp_Counter : DZ '‡ ¯ã᪠á RAM ¤¨áª ... '
|
_mSetStrRus bootRamDrv, tmp_Counter : DZ '‡ ¯ã᪠á RAM ¤¨áª ... '
|
||||||
_mSetStrRus bootRecovery, tmp_Counter : DZ '‡ ¯ã᪠¢®ááâ ®¢«¥¨ï... '
|
_mSetStrRus bootRecovery, tmp_Counter : DZ '‡ ¯ã᪠¢®ááâ ®¢«¥¨ï... '
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
Сейчас при старте BIOS обрабатываются три варианта перехвата Reset:
|
‘¥©ç á ¯à¨ áâ à⥠BIOS ®¡à ¡ âë¢ îâáï âਠ¢ ਠ⠯¥à¥å¢ â Reset:
|
||||||
|
|
||||||
-------------------------------[Вариант 1]------------------------------
|
-------------------------------[‚ ਠâ 1]------------------------------
|
||||||
Почти сразу после ресета специальная процедура проверяет в странице #40
|
<EFBFBD>®ç⨠áà §ã ¯®á«¥ à¥á¥â á¯¥æ¨ «ì ï ¯à®æ¥¤ãà ¯à®¢¥àï¥â ¢ áâà ¨æ¥ #40
|
||||||
в банке 3 по смещению #FFE0 (RESTARTS) наличие программы перехватчика.
|
¢ ¡ ª¥ 3 ¯® ᬥ饨î #FFE0 (RESTARTS) «¨ç¨¥ ¯à®£à ¬¬ë ¯¥à¥å¢ â稪 .
|
||||||
Первые 12 байт программы должны быть такими для перехвата:
|
<EFBFBD>¥à¢ë¥ 12 ¡ ©â ¯à®£à ¬¬ë ¤®«¦ë ¡ëâì â ª¨¬¨ ¤«ï ¯¥à¥å¢ â :
|
||||||
ORG #FFE0
|
ORG #FFE0
|
||||||
RESTARTS_PROG:
|
RESTARTS_PROG:
|
||||||
LD HL,RESTARTS ; 3
|
LD HL,RESTARTS ; 3
|
||||||
@ -14,24 +14,24 @@ RESTARTS_PROG:
|
|||||||
DJNZ .loop ; 2
|
DJNZ .loop ; 2
|
||||||
NOP ; 1
|
NOP ; 1
|
||||||
NOP ; 1
|
NOP ; 1
|
||||||
; ORG #FFEC тут размещается программа перехватчик пользователя
|
; ORG #FFEC âãâ à §¬¥é ¥âáï ¯à®£à ¬¬ ¯¥à¥å¢ â稪 ¯®«ì§®¢ ⥫ï
|
||||||
; остаётся 20 байтов на программу.
|
; ®áâ ñâáï 20 ¡ ©â®¢ ¯à®£à ¬¬ã.
|
||||||
|
|
||||||
При данном варианте загрузки железо Спринтера не проинициализировано,
|
<EFBFBD>ਠ¤ ®¬ ¢ ਠ⥠§ £à㧪¨ ¦¥«¥§® ‘¯à¨â¥à ¥ ¯à®¨¨æ¨ «¨§¨à®¢ ®,
|
||||||
не работает ещё даже карта портов. Скорее всего, такой вариант
|
¥ à ¡®â ¥â ¥éñ ¤ ¦¥ ª àâ ¯®à⮢. ‘ª®à¥¥ ¢á¥£®, â ª®© ¢ ਠâ
|
||||||
перехвата - это наследие Sp97. Как вариант, его можно использовать в случае
|
¯¥à¥å¢ â - íâ® á«¥¤¨¥ Sp97. Š ª ¢ ਠâ, ¥£® ¬®¦® ¨á¯®«ì§®¢ âì ¢ á«ãç ¥
|
||||||
запуска конфы сильно отличающейся от той, что ожидает BIOS. Для этого нужно,
|
§ ¯ã᪠ª®äë á¨«ì® ®â«¨ç î饩áï ®â ⮩, çâ® ®¦¨¤ ¥â BIOS. „«ï í⮣® 㦮,
|
||||||
чтоб при старте альтеры конфа подключала следующие страницы по банкам:
|
ç⮡ ¯à¨ áâ à⥠«ìâ¥àë ª®ä ¯®¤ª«îç « á«¥¤ãî騥 áâà ¨æë ¯® ¡ ª ¬:
|
||||||
BANK0 - ROM #08
|
BANK0 - ROM #08
|
||||||
BANK1 - RAM #05
|
BANK1 - RAM #05
|
||||||
BANK2 - RAM #02
|
BANK2 - RAM #02
|
||||||
BANK3 - RAM #40
|
BANK3 - RAM #40
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
-------------------------------[Вариант 2]------------------------------
|
-------------------------------[‚ ਠâ 2]------------------------------
|
||||||
|
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
-------------------------------[Вариант 3]------------------------------
|
-------------------------------[‚ ਠâ 3]------------------------------
|
||||||
|
|
||||||
------------------------------------------------------------------------
|
------------------------------------------------------------------------
|
||||||
Loading…
Reference in New Issue
Block a user