Re: about doc2000 bootstrap without M-system's firmware

jyllyj
2000-01-21T08:53:34Z

> jyllyj@263.net said:
> > I can see SPL at firmware with offset 0x400,but where is the IPL? at
> > offset 0 looks like DOC2000 hardware initialization.is not so?
>
> Maybe I meant SPL not IPL - I can't remember what M-Systems call it.
>
> But that code initialises the hardware, then reads the 48K firmware off
the
> flash, and jumps to it if its checksum is right.
>
I find IPL at D000:0 with your jump's setuping
it is :
1272:0103 9C PUSHF
1272:0104 60 DB 60
1272:0105 1E PUSH DS
1272:0106 06 PUSH ES
1272:0107 0E PUSH CS
1272:0108 1F POP DS
1272:0109 BB0410 MOV BX,1004
1272:010C C647FE85 MOV BYTE PTR [BX-02],85
1272:0110 C647FE85 MOV BYTE PTR [BX-02],85
1272:0114 BE0018 MOV SI,1800
1272:0117 B1FF MOV CL,FF
1272:0119 E80E00 CALL 012A
1272:011C B90020 MOV CX,2000
1272:011F E80800 CALL 012A
1272:0122 FC CLD
1272:0123 8EC1 MOV ES,CX
1272:0125 33FF XOR DI,DI
1272:0127 E9D607 JMP 0900
1272:012A C6071B MOV BYTE PTR [BX],1B
1272:012D FF47FC INC WORD PTR [BX-04]
1272:0130 884F09 MOV [BX+09],CL
1272:0133 880C MOV [SI],CL
1272:0135 FF47FC INC WORD PTR [BX-04]
1272:0138 F60780 TEST BYTE PTR [BX],80
1272:013B 74FB JZ 0138
1272:013D 8517 TEST DX,[BX]
1272:013F C3 RET

1272:0900 32E4 XOR AH,AH
1272:0902 F6C10F TEST CL,0F
1272:0905 751F JNZ 0926
1272:0907 C6071D MOV BYTE PTR [BX],1D
1272:090A FF47FC INC WORD PTR [BX-04]
1272:090D 8BD7 MOV DX,DI
1272:090F 885709 MOV [BX+09],DL
1272:0912 8814 MOV [SI],DL
1272:0914 887709 MOV [BX+09],DH
1272:0917 8834 MOV [SI],DH
1272:0919 33D2 XOR DX,DX
1272:091B 885709 MOV [BX+09],DL
1272:091E 8814 MOV [SI],DL
1272:0920 C60719 MOV BYTE PTR [BX],19
1272:0923 E80FF8 CALL 0135
1272:0926 844709 TEST AL,[BX+09]
1272:0929 AC LODSB
1272:092A 02E0 ADD AH,AL
1272:092C AA STOSB
1272:092D 4E DEC SI
1272:092E E2D2 LOOP 0902
1272:0930 80FC55 CMP AH,55
1272:0933 7505 JNZ 093A
1272:0935 9A00000020 CALL 2000:0000
1272:093A 07 POP ES
1272:093B 1F POP DS
1272:093C 61 DB 61
1272:093D 9D POPF
1272:093E CB RETF
1272:093F 5C POP SP

it load SPL (offset 0x400h sizeof 8k in doc121.exb) to 2000:0 and jmp there
to execute.
then the SPL load other TTFS etc.
i can fill the SPL with my bootloader like grub.but i don't know where can
the kernel put.
how can i READ/WRITE doc2000 with a absoluteness address.

in linux environment i insmod mtd,nftl,and doc2000.
i can mkfs and mount it.but can't format it with nftl-format.
error messages is "ioctl(MEMGETINFO): Invalid argument"

The error be appeared too when use doc_loadbios to write doc firmware.
why?

To unsubscribe, send "unsubscribe mtd" to majordomo@infradead.org