Немига 303 boot M5

Материал из Emuverse

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

В дисководе MD0: вставлена дискета M5.DSK.

 Filename  Blocks  Date      Start    Bytes Trk Sec DskFileOffset  Comment
---------- ------  --------- ----- -------- --- --- ------------- ----------
Boot Block      1                0      512   0   2   0000000000  MD BOOT
Home Block      1                1      512   0   6   0000000200
Reserved        4                2     2048   0  10
Directory       2                6     1024   1   3
NEMIGA.SYS     73  18-Aug-99     8    37376   1  11
SWAP  .SYS     26  18-Aug-99    81    13312
SL    .SYS     10  18-Aug-99   107     5120
TT    .SYS      2  18-Aug-99   117     1024
SG    .SYS      6  18-Aug-99   119     3072
LP    .SYS      2  18-Aug-99   125     1024
VM    .SYS      2  18-Aug-99   127     1024
VN    .SYS      3  18-Aug-99   129     1536
DAYSJ .SAV      4  18-Aug-99   132     2048
COPSYS.COM      1  18-Aug-99   136      512
MD    .SYS     11  18-Aug-99   137     5632  23  21
PIP   .SAV     23  18-Aug-99   148    11776
DIR   .SAV     19  18-Aug-99   171     9728
DUP   .SAV     45  18-Aug-99   190    23040
MF    .SAV      3  18-Aug-99   235     1536
BASVN .SAV     63  18-Aug-99   238    32256
EDIKN .SAV     22  18-Aug-99   301    11264
RESORC.SAV     22  18-Aug-99   323    11264
NETVN .SAV      3  18-Aug-99   345     1536
TSTMD .SAV     11  18-Aug-99   348     5632
VN    .COM      1  18-Aug-99   359      512
NETRW .SAV      2  18-Aug-99   360     1024
F10T1C.ASC      8  29-Sep-99   362     4096
COPY23.COM      1  30-Nov-99   370      512
< UNUSED >     12              371     6144
BRIF  .BAK      6  29-Sep-99   383     3072
BRIF  .TXT      6  29-Sep-99   389     3072
MITRPP.MAC     32  29-Sep-99   395    16384
< UNUSED >     32              427    16384
---------- ------  --------- ----- --------
 27 files, 407 blocks

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

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

Floppy0 COMMAND 000030
Floppy0 SET STATE 1 OPER 000020
Floppy0 STEP OUT
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 SC01 TR00
Floppy0 SET STATE 0 OPER 000000
Floppy0 COMMAND 000010
Floppy0 SET STATE 1 OPER 000000
Floppy0 READ 17 POS0010 SC01 TR00
Floppy0 READ a0 POS0140 SC02 TR00
Floppy0 READ 01 POS0270 SC03 TR00
Floppy0 READ c0 POS0400 SC04 TR00
Floppy0 READ 40 POS0530 SC05 TR00
Floppy0 READ 00 POS0660 SC06 TR00
Floppy0 READ ff POS0790 SC07 TR00
Floppy0 READ ff POS0920 SC08 TR00
Floppy0 READ ff POS1050 SC09 TR00
Floppy0 READ df POS1180 SC10 TR00
Floppy0 READ 03 POS1310 SC11 TR00
Floppy0 READ f7 POS1440 SC12 TR00
Floppy0 READ 37 POS1570 SC13 TR00
Floppy0 READ 17 POS1700 SC14 TR00
Floppy0 READ c3 POS1830 SC15 TR00
Floppy0 READ 2a POS1960 SC16 TR00
Floppy0 READ 72 POS2090 SC17 TR00
Floppy0 READ db POS2220 SC18 TR00
Floppy0 READ a0 POS2350 SC19 TR00
Floppy0 READ 04 POS2480 SC20 TR00
Floppy0 READ 04 POS2610 SC21 TR00
Floppy0 READ 64 POS2740 SC22 TR00
Floppy0 READ 20 POS2870 SC23 TR00
Floppy0 SET STATE 0 OPER 000000

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

000000: NOP	
000002: BR	000036
000036: BR	000040
000040: MOV	#010000, SP

Floppy0 COMMAND 000070
Floppy0 READ 0b POS0530 SC05 TR00
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 SC01 TR00
Floppy0 SET STATE 0 OPER 000000
Floppy0 COMMAND 000010
Floppy0 SET STATE 1 OPER 000000
Floppy0 READ 17 POS0010 SC01 TR00
Floppy0 READ a0 POS0140 SC02 TR00
Floppy0 READ 01 POS0270 SC03 TR00
Floppy0 READ c0 POS0400 SC04 TR00
Floppy0 READ 40 POS0530 SC05 TR00
Floppy0 READ 00 POS0660 SC06 TR00
Floppy0 READ ff POS0790 SC07 TR00
Floppy0 READ ff POS0920 SC08 TR00
Floppy0 READ ff POS1050 SC09 TR00
Floppy0 READ df POS1180 SC10 TR00
Floppy0 READ 03 POS1310 SC11 TR00
Floppy0 READ f7 POS1440 SC12 TR00
Floppy0 READ 37 POS1570 SC13 TR00
Floppy0 READ 17 POS1700 SC14 TR00
Floppy0 READ c3 POS1830 SC15 TR00
Floppy0 READ 2a POS1960 SC16 TR00
Floppy0 READ 72 POS2090 SC17 TR00
Floppy0 READ db POS2220 SC18 TR00
Floppy0 READ a0 POS2350 SC19 TR00
Floppy0 READ 04 POS2480 SC20 TR00
Floppy0 READ 04 POS2610 SC21 TR00
Floppy0 READ 64 POS2740 SC22 TR00
Floppy0 READ 20 POS2870 SC23 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
Floppy0 READ 00 POS0010 SC01 TR01
Floppy0 READ 00 POS0140 SC02 TR01
Floppy0 READ 01 POS0270 SC03 TR01
Floppy0 READ fe POS0400 SC04 TR01
Floppy0 READ 16 POS0530 SC05 TR01
Floppy0 READ 01 POS0660 SC06 TR01
Floppy0 READ ff POS0790 SC07 TR01
Floppy0 READ ff POS0920 SC08 TR01
Floppy0 READ ff POS1050 SC09 TR01
Floppy0 READ ff POS1180 SC10 TR01
Floppy0 READ 00 POS1310 SC11 TR01
Floppy0 READ 00 POS1440 SC12 TR01
Floppy0 READ 00 POS1570 SC13 TR01
Floppy0 READ 00 POS1700 SC14 TR01
Floppy0 READ df POS1830 SC15 TR01
Floppy0 READ 03 POS1960 SC16 TR01
Floppy0 READ f7 POS2090 SC17 TR01
Floppy0 READ 37 POS2220 SC18 TR01
Floppy0 READ 17 POS2350 SC19 TR01
Floppy0 READ c3 POS2480 SC20 TR01
Floppy0 READ 2a POS2610 SC21 TR01
Floppy0 READ 72 POS2740 SC22 TR01
Floppy0 READ db POS2870 SC23 TR01
Floppy0 SET STATE 0 OPER 000000

Переход до дорожки 23

Floppy0 PREPARE TRACK 23
Floppy0 COMMAND 000010
Floppy0 SET STATE 1 OPER 000000
Floppy0 READ 00 POS0010 SC01 TR23
Floppy0 READ 00 POS0140 SC02 TR23
Floppy0 READ 00 POS0270 SC03 TR23
Floppy0 READ 00 POS0400 SC04 TR23
Floppy0 READ 32 POS0530 SC05 TR23
Floppy0 READ 0a POS0660 SC06 TR23
Floppy0 READ 2d POS0790 SC07 TR23
Floppy0 READ 81 POS0920 SC08 TR23
Floppy0 READ 30 POS1050 SC09 TR23
Floppy0 READ f7 POS1180 SC10 TR23
Floppy0 READ 0e POS1310 SC11 TR23
Floppy0 READ 41 POS1440 SC12 TR23
Floppy0 READ 30 POS1570 SC13 TR23
Floppy0 READ 59 POS1700 SC14 TR23
Floppy0 READ 20 POS1830 SC15 TR23
Floppy0 READ 00 POS1960 SC16 TR23
Floppy0 READ 49 POS2090 SC17 TR23
Floppy0 READ 00 POS2220 SC18 TR23
Floppy0 READ 00 POS2350 SC19 TR23
Floppy0 READ 00 POS2480 SC20 TR23
Floppy0 READ 00 POS2610 SC21 TR23  MD.SYS sector 1, длиной 44 сектора
Floppy0 READ 00 POS2740 SC22 TR23  MD.SYS sector 2
Floppy0 READ 00 POS2870 SC23 TR23  MD.SYS sector 3
Floppy0 SET STATE 0 OPER 000000
Floppy0 COMMAND 000070
Floppy0 SET STATE 1 OPER 000060
Floppy0 STEP IN
Floppy0 PREPARE TRACK 24
Floppy0 COMMAND 000010
Floppy0 SET STATE 1 OPER 000000
Floppy0 READ 00 POS0010 SC01 TR24  MD.SYS sector 4
Floppy0 READ 00 POS0140 SC02 TR24  MD.SYS sector 5
Floppy0 READ 37 POS0270 SC03 TR24  MD.SYS sector 6
Floppy0 READ 20 POS0400 SC04 TR24  MD.SYS sector 7
Floppy0 READ 2e POS0530 SC05 TR24  MD.SYS sector 8
Floppy0 READ 38 POS0660 SC06 TR24  MD.SYS sector 9
Floppy0 READ 0b POS0790 SC07 TR24  MD.SYS sector 10
Floppy0 READ 94 POS0920 SC08 TR24  MD.SYS sector 11
Floppy0 READ d8 POS1050 SC09 TR24  MD.SYS sector 12
Floppy0 READ 01 POS1180 SC10 TR24  MD.SYS sector 13
Floppy0 READ 00 POS1310 SC11 TR24  MD.SYS sector 14
Floppy0 READ 00 POS1440 SC12 TR24  MD.SYS sector 15
Floppy0 READ 00 POS1570 SC13 TR24  MD.SYS sector 16
Floppy0 READ 00 POS1700 SC14 TR24  MD.SYS sector 17
Floppy0 READ 00 POS1830 SC15 TR24  MD.SYS sector 18
Floppy0 READ 00 POS1960 SC16 TR24  MD.SYS sector 19
Floppy0 READ 00 POS2090 SC17 TR24  MD.SYS sector 20
Floppy0 READ 00 POS2220 SC18 TR24  MD.SYS sector 21
Floppy0 READ 00 POS2350 SC19 TR24  MD.SYS sector 22
Floppy0 READ 00 POS2480 SC20 TR24  MD.SYS sector 23
Floppy0 READ 00 POS2610 SC21 TR24  MD.SYS sector 24
Floppy0 READ 00 POS2740 SC22 TR24  MD.SYS sector 25
Floppy0 READ 00 POS2870 SC23 TR24  MD.SYS sector 26
Floppy0 SET STATE 0 OPER 000000
Floppy0 COMMAND 000070
Floppy0 SET STATE 1 OPER 000060
Floppy0 STEP IN
Floppy0 PREPARE TRACK 25
Floppy0 COMMAND 000010
Floppy0 SET STATE 1 OPER 000000
Floppy0 READ 00 POS0010 SC01 TR25  MD.SYS sector 27
Floppy0 READ 00 POS0140 SC02 TR25  MD.SYS sector 28
Floppy0 READ 00 POS0270 SC03 TR25  MD.SYS sector 29
Floppy0 READ 00 POS0400 SC04 TR25  MD.SYS sector 30
Floppy0 READ 00 POS0530 SC05 TR25  MD.SYS sector 31
Floppy0 READ 00 POS0660 SC06 TR25  MD.SYS sector 32
Floppy0 READ 00 POS0790 SC07 TR25  MD.SYS sector 33
Floppy0 READ 00 POS0920 SC08 TR25  MD.SYS sector 34
Floppy0 READ 00 POS1050 SC09 TR25  MD.SYS sector 35
Floppy0 READ 00 POS1180 SC10 TR25  MD.SYS sector 36
Floppy0 READ 00 POS1310 SC11 TR25  MD.SYS sector 37
Floppy0 READ 00 POS1440 SC12 TR25  MD.SYS sector 38
Floppy0 READ d8 POS1570 SC13 TR25  MD.SYS sector 39
Floppy0 READ 4e POS1700 SC14 TR25  MD.SYS sector 40
Floppy0 READ 06 POS1830 SC15 TR25  MD.SYS sector 41
Floppy0 READ 0a POS1960 SC16 TR25  MD.SYS sector 42
Floppy0 READ 00 POS2090 SC17 TR25  MD.SYS sector 43
Floppy0 READ 00 POS2220 SC18 TR25  MD.SYS sector 44 -- конец
Floppy0 READ 00 POS2350 SC19 TR25
Floppy0 READ 00 POS2480 SC20 TR25
Floppy0 READ 00 POS2610 SC21 TR25
Floppy0 READ 00 POS2740 SC22 TR25
Floppy0 READ 42 POS2870 SC23 TR25
...
000600: MOV	(R5), R0
000602: CLR	(R5)
Floppy0 SET STATE 0 OPER 000000

После чтения MD.SYS

000650: RTI	
000416: MOV	#040146, R5
000422: MOV	(SP)+, R3
000424: BEQ	000434
000434: MOV	#000100, R4
000440: MOV	(SP)+, R3
000442: MOV	(SP)+, R2
000444: MOV	(R5)+, (R2)+
000446: DEC	(SP)
000450: BEQ	000464
000452: SOB	R4, 000444
... Крутится цикл 000444-000452 ...
000454: INC	R3
000456: MOV	R2, -(SP)
000460: MOV	R3, -(SP)
000462: BR	000274
000274: CLR	R1
000276: MOV	#040012, R5
000302: MOV	#000120, R4
000306: CLR	R2
000310: BISB	(R5)+, R2
000312: MOV	R1, R0
000314: ADD	R2, R1
000316: CMP	R1, (SP)
000320: BHI	000330
000322: SOB	R4, 000306
... Крутится цикл 000306-000322 ...
000330: MOV	(SP), -(SP)
000332: SUB	R0, (SP)
000334: SUB	#000120, R4
000340: MOV	000124, R1
000344: ADD	R4, R1
000346: BEQ	000416
000416: MOV	#040146, R5
000422: MOV	(SP)+, R3
000424: BEQ	000434
000426: ADD	#000202, R5
000432: SOB	R3, 000426
000434: MOV	#000100, R4
000440: MOV	(SP)+, R3
000442: MOV	(SP)+, R2
000444: MOV	(R5)+, (R2)+
000446: DEC	(SP)
000450: BEQ	000464
000452: SOB	R4, 000444
... Крутится цикл 000444-000452 ...
...
000450: BEQ	000464
000464: TST	(SP)+
000466: RETURN	
003544: MOV	(SP)+, R0
003546: MOV	(SP)+, R1
003550: MOV	(SP)+, R2
003552: MOV	(SP)+, R3
003554: MOV	(SP)+, R4
003556: MOV	(SP)+, R5
003560: RETURN	
002042: BLO	001774
002044: MOV	R2, R5
002046: ADD	#000176, R5
002052: CALL	003632
003632: MOV	@#000004, 003666
003640: MOV	#003442, @#000004
003646: MOV	@#000010, 003674
003654: MOV	#003442, @#000010
003662: CALL	@(SP)+
002056: TST	@(R5)+
002060: NOP	
002062: BLO	002110
002064: TST	(R5)+		; R5=145200, (R5)=000000
002066: BEQ	002076		; Это условие НЕ сработало в 4.05
002076: ADD	#177656, R5
002102: CMP	(R5), 004776
002106: BEQ	002116
002116: CALL	@(SP)+
003664: MOV	#000000, @#000004
003672: MOV	#000000, @#000010
003700: RETURN	

Переход до дорожки 2

Floppy0 PREPARE TRACK 2
Floppy0 COMMAND 000010
Floppy0 SET STATE 1 OPER 000000
Floppy0 READ a0 POS0010 SC01 TR02
Floppy0 READ 04 POS0140 SC02 TR02
Floppy0 READ 04 POS0270 SC03 TR02
Floppy0 READ 64 POS0400 SC04 TR02
Floppy0 READ 20 POS0530 SC05 TR02
Floppy0 READ 00 POS0660 SC06 TR02
Floppy0 READ 00 POS0790 SC07 TR02
Floppy0 READ ea POS0920 SC08 TR02
Floppy0 READ 10 POS1050 SC09 TR02
Floppy0 READ c0 POS1180 SC10 TR02
Floppy0 READ 69 POS1310 SC11 TR02
Floppy0 READ 00 POS1440 SC12 TR02
Floppy0 READ 09 POS1570 SC13 TR02
Floppy0 READ 00 POS1700 SC14 TR02
Floppy0 READ ff POS1830 SC15 TR02
Floppy0 READ 1f POS1960 SC16 TR02
Floppy0 READ fd POS2090 SC17 TR02
Floppy0 READ c6 POS2220 SC18 TR02
Floppy0 READ 61 POS2350 SC19 TR02
Floppy0 READ 24 POS2480 SC20 TR02
Floppy0 READ d0 POS2610 SC21 TR02
Floppy0 READ ce POS2740 SC22 TR02
Floppy0 READ f0 POS2870 SC23 TR02
Floppy0 SET STATE 0 OPER 000000
Floppy0 COMMAND 000070
Floppy0 SET STATE 1 OPER 000060
Floppy0 STEP IN
Floppy0 PREPARE TRACK 3
Floppy0 COMMAND 000010
Floppy0 SET STATE 1 OPER 000000
Floppy0 READ b5 POS0010 SC01 TR03
Floppy0 READ 02 POS0140 SC02 TR03
Floppy0 READ 66 POS0270 SC03 TR03
Floppy0 READ f7 POS0400 SC04 TR03
Floppy0 READ c2 POS0530 SC05 TR03
Floppy0 READ c4 POS0660 SC06 TR03
Floppy0 READ 82 POS0790 SC07 TR03
Floppy0 READ 0b POS0920 SC08 TR03
Floppy0 READ 80 POS1050 SC09 TR03
Floppy0 READ 00 POS1180 SC10 TR03
Floppy0 READ 01 POS1310 SC11 TR03
Floppy0 READ 51 POS1440 SC12 TR03
Floppy0 READ c1 POS1570 SC13 TR03
Floppy0 READ 00 POS1700 SC14 TR03
Floppy0 READ d2 POS1830 SC15 TR03
Floppy0 READ 48 POS1960 SC16 TR03
Floppy0 READ c5 POS2090 SC17 TR03
Floppy0 READ cd POS2220 SC18 TR03
Floppy0 READ f7 POS2350 SC19 TR03
Floppy0 READ 03 POS2480 SC20 TR03
Floppy0 READ 42 POS2610 SC21 TR03
Floppy0 READ fb POS2740 SC22 TR03
Floppy0 READ f4 POS2870 SC23 TR03
Floppy0 SET STATE 0 OPER 000000
Floppy0 COMMAND 000070
Floppy0 SET STATE 1 OPER 000060
Floppy0 STEP IN
Floppy0 PREPARE TRACK 4

DATE

141652: ADD	PC, R4
141654: ADD	(R4), PC
142714: MOVB	(R0)+, R4
142716: BEQ	142702
142720: CMPB	#000200, R4
142724: BEQ	142540
142726: CALL	144346
144346: TSTB	144020
144352: BNE	144424
144354: BIC	#177400, R4
144360: TST	@#144450
144364: BNE	144360
144366: TSTB	@#177564
144372: BPL	144366
144374: MOVB	R4, @#177566
HALT interrupt 170006=040000 177566=000104
144400: BR	144422
144422: CLC	
144424: RETURN	
142732: BLO	142726
142734: BR	142714
142714: MOVB	(R0)+, R4
142716: BEQ	142702
142720: CMPB	#000200, R4
142724: BEQ	142540
142726: CALL	144346
144346: TSTB	144020
144352: BNE	144424
144354: BIC	#177400, R4
144360: TST	@#144450
144364: BNE	144360
144366: TSTB	@#177564
144372: BPL	144366
144374: MOVB	R4, @#177566
HALT interrupt 170006=040000 177566=000141 'D'
144400: BR	144422
144422: CLC	
144424: RETURN	
...