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