Немига 405 boot 02A-MD

Материал из Emuverse
Версия от 02:01, 28 января 2017; Nzeemin (обсуждение | вклад) (Nzeemin переименовал страницу Немига 405 booting в Немига 405 boot 02A-MD: включил название дискеты в название статьи)

Загрузка на Немиге 4.05

В дисководе MD0: вставлена дискета 02A-MD.DSK.

 Filename  Blocks  Date      Start    Bytes
---------- ------  --------- ----- --------
< UNUSED >      4               12     2048 
RT11SJ.SYS     55  15-Feb-91    16    28160
SWAP  .SYS      0  13-May-92    71        0
LP    .SYS      2  31-May-89    71     1024
LPU   .SYS      0  13-Jan-93    73        0
LN    .SYS      2  20-Oct-92    73     1024
LB    .SYS      2  13-Jan-93    75     1024
VD    .SYS      2  29-Mar-93    77     1024
VMU   .SYS      0  17-Dec-91    79        0
VM    .SYS      2  18-May-92    79     1024
LD    .SYS      8  15-Aug-90    81     4096
SG    .SAV      8  02-Mar-93    89     4096
SL    .SAV      8  22-Jul-91    97     4096
STARTS.SAV      1  22-Mar-93   105      512
ON    .SAV      1  20-May-92   106      512
DATE  .SAV      1  15-Aug-90   107      512
NET   .SAV     14  21-Jun-91   108     7168
DIR   .SAV      4  10-Aug-91   122     2048
RESORC.SAV     22  17-May-88   126    11264
NC    .SAV     25  06-Apr-93   148    12800
EDIK  .SAV     22  24-Feb-93   173    11264
DESS  .SAV     18  13-Feb-92   195     9216
SC    .SYS      3  13-Jan-93   213     1536
MX    .SYS      3  20-Jan-92   216     1536
BINCOM.SAV     10  21-Sep-88   219     5120
SRCCOM.SAV     11  21-Sep-88   229     5632
V0    .SYS      3  06-May-92   240     1536
V1    .SYS      2  05-May-92   243     1024
G8    .SYS      8  22-Feb-93   245     4096
MF    .SAV      3  27-May-92   253     1536
SOS   .SAV      4  29-Apr-87   256     2048
NETRW .SAV      2  29-May-92   260     1024
TRANS .SAV      3  08-Jun-92   262     1536
DUP   .SAV     43  14-Dec-90   265    22016
PIP   .SAV     28  14-Dec-90   308    14336
TXT   .SAV      3  09-Mar-93   336     1536
VD    .COM      1  16-Apr-93   339      512
VD    .DIR      1  16-Apr-93   340      512
MD    .SYS     11  12-Mar-91   341     5632
< UNUSED >    107              352    54784
---------- ------  --------- ----- --------
 38 files, 336 blocks

Запускаем машину, она загружается в Пульт, пользователь вводит команду D.

Загрузчик в ПЗУ

161654 -- Команда 'D' -- загрузка с диска
163026 -- Мы на 0-й дорожке, читаем первый сектор: в первом секторе записано количество секторов в каждой дорожке
Floppy0 READ 17 POS0010 SC00 TR00
163050 -- Получаем количество секторов на 0-й дорожке (это 23.)
читаем весь остаток 0-й дорожки
Floppy0 READ a0 POS0140 SC01 TR00
Floppy0 READ 3e POS0270 SC02 TR00
Floppy0 READ 83 POS0400 SC03 TR00
Floppy0 READ fe POS0530 SC04 TR00
Floppy0 READ 00 POS0660 SC05 TR00
Floppy0 READ ff POS0790 SC06 TR00
Floppy0 READ ff POS0920 SC07 TR00
Floppy0 READ ff POS1050 SC08 TR00
Floppy0 READ 1f POS1180 SC09 TR00
Floppy0 READ 19 POS1310 SC10 TR00
Floppy0 READ 00 POS1440 SC11 TR00
Floppy0 READ 59 POS1570 SC12 TR00
Floppy0 READ 42 POS1700 SC13 TR00
Floppy0 READ 45 POS1830 SC14 TR00
Floppy0 READ 81 POS1960 SC15 TR00
Floppy0 READ f4 POS2090 SC16 TR00
Floppy0 READ f4 POS2220 SC17 TR00
Floppy0 READ b6 POS2350 SC18 TR00
Floppy0 READ 4a POS2480 SC19 TR00
Floppy0 READ 01 POS2610 SC20 TR00
Floppy0 READ 04 POS2740 SC21 TR00
Floppy0 READ 32 POS2870 SC22 TR00

выходим из подпрограммы чтения
161670: MOV	#000200, @#177766
161676: CLR	PC			; Запуск полученного блока с адреса 000000

Начальный загрузчик MD BOOT

000000: NOP	
000002: BR	000024

Очищается экран и выводится надпись "MD BOOT    V02.02(#)"

Floppy0 COMMAND 000070
Floppy0 SET STATE 1 OPER 000060
Floppy0 STEP IN
Floppy0 PREPARE TRACK 1
Floppy0 COMMAND 000030
Floppy0 SET STATE 1 OPER 000020
Floppy0 STEP OUT
Floppy0 PREPARE TRACK 0
Floppy TRACK 00
Floppy0 COMMAND 000010
Floppy0 SET STATE 1 OPER 000000
Floppy0 READ 17 POS0010 SC00 TR00
Floppy0 SET STATE 0 OPER 000000
Floppy0 COMMAND 000010
Floppy0 SET STATE 1 OPER 000000

Чтение 0-й дорожки:
Floppy0 READ 17 POS0010 SC00 TR00
Floppy0 READ a0 POS0140 SC01 TR00
Floppy0 READ 3e POS0270 SC02 TR00
Floppy0 READ 83 POS0400 SC03 TR00
Floppy0 READ fe POS0530 SC04 TR00
Floppy0 READ 00 POS0660 SC05 TR00
Floppy0 READ ff POS0790 SC06 TR00
Floppy0 READ ff POS0920 SC07 TR00
Floppy0 READ ff POS1050 SC08 TR00
Floppy0 READ 1f POS1180 SC09 TR00
Floppy0 READ 19 POS1310 SC10 TR00
Floppy0 READ 00 POS1440 SC11 TR00
Floppy0 READ 59 POS1570 SC12 TR00
Floppy0 READ 42 POS1700 SC13 TR00
Floppy0 READ 45 POS1830 SC14 TR00
Floppy0 READ 81 POS1960 SC15 TR00
Floppy0 READ f4 POS2090 SC16 TR00
Floppy0 READ f4 POS2220 SC17 TR00
Floppy0 READ b6 POS2350 SC18 TR00
Floppy0 READ 4a POS2480 SC19 TR00
Floppy0 READ 01 POS2610 SC20 TR00
Floppy0 READ 04 POS2740 SC21 TR00
Floppy0 READ 32 POS2870 SC22 TR00

Floppy0 SET STATE 0 OPER 000000
Floppy0 COMMAND 000070
Floppy0 SET STATE 1 OPER 000060
Floppy0 STEP IN
Floppy0 PREPARE TRACK 1
Floppy0 COMMAND 000010
Floppy0 SET STATE 1 OPER 000000

Чтение 1-й дорожки:
Floppy0 READ 6c POS0010 SC00 TR01
Floppy0 READ 0d POS0140 SC01 TR01
Floppy0 READ 03 POS0270 SC02 TR01
Floppy0 READ bb POS0400 SC03 TR01
Floppy0 READ 04 POS0530 SC04 TR01
Floppy0 READ 00 POS0660 SC05 TR01
Floppy0 READ 35 POS0790 SC06 TR01
Floppy0 READ ff POS0920 SC07 TR01
Floppy0 READ ff POS1050 SC08 TR01
Floppy0 READ ff POS1180 SC09 TR01
Floppy0 READ 00 POS1310 SC10 TR01
Floppy0 READ 00 POS1440 SC11 TR01
Floppy0 READ 00 POS1570 SC12 TR01
Floppy0 READ 00 POS1700 SC13 TR01
Floppy0 READ 00 POS1830 SC14 TR01
Floppy0 READ 00 POS1960 SC15 TR01
Floppy0 READ 00 POS2090 SC16 TR01
Floppy0 READ 00 POS2220 SC17 TR01
Floppy0 READ 00 POS2350 SC18 TR01
Floppy0 READ 00 POS2480 SC19 TR01
Floppy0 READ 00 POS2610 SC20 TR01
Floppy0 READ 00 POS2740 SC21 TR01
Floppy0 READ 00 POS2870 SC22 TR01

Затем идём и читаем дорожки 59, 60, 61.