nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 21 Jul 2018 21:16



Reply to topic  [ 47 posts ]  Go to page Previous  1, 2, 3, 4
NEC V40 
Author Message
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Post 
Ну и в содержимом ROM BIOS видны следующие текстовые сообщения:
Code:
PCE Firmware Version 1.01.00:
Copyright 1987 NORMEREL Systemes .
Illegal NMI Trap!!
Wild Hardware Interrupt No:
UnLocatable Parity Error!
Parity Error
(c) Copyright 1987
NORMEREL Systemes
...Can't load - [ENTER] to retry:
ROMBIOS  Ver:1.08
Equipment:
System Devices ok
Video Cards
CMOS RTC/RAM
RAM Memory Kb
Serial Ports
Printer Ports
Diskette Adaptor
Diskette Drives
Hard Drives
Numeric Processor
Option ROMS

Press "y" to begin formatting drive $
IDE Superbios Rev. 1.0 (C) Copyright Western Digital Corp.

Current Drive is $:, Select new Drive or RETURN for curre
$
Current Interleave is $, Select new Interleave or RETURN f
$
Are you dynamically configuring the drive - answer Y/N $
Key in disk characteristics as follows:ccc h rrr ppp ee o
where
ccc = total number of cylinders (1-4 digits)
h = number of heads (1-2 digits)
rrr = starting reduced write cylinder (1-4 digits)
ppp = write precomp cylinder (1-4 digits)
ee = max correctable error burst length (1-2 digits)
     range = 5 to 11 bits, default = 11 bits
 o = CCB option byte, step rate select (1 hex digit)
     range = 0 to 7, default = 5
     refer to controller and drive specification for step
$
Are you virtually configuring the drive - answer Y/N $
Key in cylinder number for virtual drive split as vvvv ...
where vvvv = number of cylinders for drive C: (1-4 digits)
$
Formatting . . .
$+¦Х¦p¦4¦_¦н¦J¦З¦¦J¦
§CORRECTABLE ECC ERROR
§FLAGGED AS BAD SECTOR
¶FLAGGED AS BAD TRACK
MISSING ID FIELD
MISSING DATA ADDR MARK
PROGRAM ERROR
UNCORRECTABLE ECC ERROR
UNREADABLE TRACK
USER-SUPPLIED
$: Aggregate virtual size exceeds disk cylinder size
$: Invalid drive
$: Too many virtual drives
$: Interleave factor must be 1 - 16
$: Interleave factor must be 1 - 25
$: Invalid CCB option value
$: Illegal character
$: Error burst length must be 5 or 11
$: Sector number must be 1-17
$: Cylinder size exceeds maximum
$: Number of heads exceeds maximum
$ : pool size exceeds maximum
$
Do you want to format bad tracks - answer Y/N $
Key in bad track list as follows: ccc h ...
where
ccc = bad track cylinder no (1-4 digits)
h = bad track head number (1-2 digits)
$
                               BAD TRACK MAP
TRACK ADDR          PROBLEM          TRACK ADDR          PROBLEM
$
The surface analysis processor detected no disk errors
$
Dynamic memory space exhausted - cannot complete surface analysis
$
Too many disk errors - cannot complete alt track/sector assignments
$
 Screen full - hit any key to continue
$
More ? Y/N $ with interleave $
Format Successful$

System will now restart

Insert DOS diskette in drive A:
Press any key when ready.  $
Error---completion code $
Nothing Done Exit$

_________________
iLavr


15 Nov 2014 16:50
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
А вот с портами V40 ошибочка у меня вышла, и смутило меня то, что как-то сразу,
без настройки собственных Портов Ввода/Вывода в ROM BIOS обращаются
почему-то к регистру контроллера прерываний 2, хотя ещё и КП 1 не настроен.
Code:
0000FFF0: EA5BE000F0                   jmp       0F000:0E05B
...
0000E05B: FA                           cli
0000E05C: EA0C8000F0                   jmp       0F000:0800C
...
0000800C: FA                           cli
0000800D: EB4D                         jmps      00000805C
...
0000805C: 2AC0                         sub       al,al; = 0
0000805E: E6A0                         out       0A0,al


Но, видимо, идея здесь такая, что КП 2 - внешний, а КП 1 -
внутренний, и пока внутренний не настроен и не подключен в
пространство УВВ, то КП 2 надо "попросить" не мешать.

А теперь немного о том, как настраиваются УВВ, интегрированные
на кристалле процессора V40. А на нём имеются:

Timer/counter unit (TCU) таймер типа ВИ54
Serial control unit (SCU) последовательный порт типа ВВ51
Interrupt control unit (ICU) контроллер прерываний типа PD71059
DMA control unit (DMAU) контроллер ПДП типа PD71071/71037


И после старта процессора V40 им надо программно указать их адреса
в пространстве УВВ, подключить к ним некоторые мультиплексированные
внешние выводы, и только потом уже настраивать их по заданным адресам,
как это обычно и делает процедура POST.

В пространстве УВВ у процессора V40 есть зарезервированная область
по адресам: 0FF00H - 0FFFFH, называемая System I/O Area (Системная
область Ввода/Вывода
).

Вот так она расположена на карте портов Ввода/Вывода.



И в этой области есть 12 регистров, расположенных по адресам 0FFF0H -
0FFFFH
, которые определяют, где в пространстве УВВ процессора V40
будут расположены его встроенные УВВ, и как они будут подключены к
внешним выводам процессора.

-------------Image

Эти устройства (все 4) всегда располагаются в блоке 256 байт, а где этот
блок расположен в 65536 доступных адресах I/O процессора V40, определяет
регистр OPHA. Фактически, если к портам обращаться командой OUT DX,AL ,
то OPHA = DH.

А вот значение DL для каждого порта I/O задают следующие регистры:
0FFFBH DULA - контроллер ПДП
0FFFAH IULA - контроллер прерываний 1
0FFF9H TULA - таймер
0FFF8H SULA - последовательный адаптер.


Image

То есть, если размещать эти порты там, где они находятся у IBM PC, c
адреса 0000H, то последовательный адаптер никогда не попадет на нужное
для карты портов I/O IBM PC место. Впрочем, это, возможно, и правильно,
поскольку встроенный в процессор V40 последовательный адаптер - аналог
8251, а в IBM PC испльзуются 8250, так что программной совместимости на
низком уровне всё-равно не будет.

Ну а теперь, как происходят эти настройки встроенных УВВ процессора V40
в программе ROM BIOS.
Сделано это довольно оригинально, почему я с первого разу и прошляпил
эти настройки, а смысл понял уже под отладчиком.

Со смещения 835FН в сегменте ROM BIOS расположены значения для всех 12
регистров настройки портов I/O процессора V40
:
Code:
8350  .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 1C
8360  FF 86 FF 55 55 05 FF F0-40 20 10 00 0F 03 .. ..

Поскольку есть регистры неиспользуемые (reserved), им соответствуют байты
FF - их не пишут в порты, а просто пропускают:
Code:
;----------------- Peripheral settings in System I/O Area FFF0H to FFFFH
0000806B: FC                           cld
0000806C: BE5F83                       mov       si,0835F; offset code
0000806F: BAF0FF                       mov       dx,0FFF0; begin of system area
00008072: B90F00                       mov       cx,0000F; counter of bytes

00008075: AC                           lodsb
00008076: 3CFF                         cmp       al,0FF ;
00008078: 7403                         je        00000807D   -------- (1)
0000807A: EE                           out       dx,al

0000807B: EB00                         jmps      00000807D   -------- (2)

0000807D: 42                           inc       dx; next port of system area
0000807E: E2F5                         loop      000008075   -------- (3)
00008080: E9F804                       jmp       00000857B   -------- (4)


В результате получаются следующие настройки портов I/O процессора V40:
Code:
0FFFDH OPCN   03h; xxxx0011b
                         11 DMARQ3/RxD = RxD; DMAAK3/TxD = TxD; INTAK/SRDY/TOUT1 = SRDY
                       00 INT1 = INTP1 Pin; INT2 = INTP2 Pin
0FFFDH OPSEL  0Fh; xxxx1111b - all peripherals Enabled
0FFFCH OPHA = 00h; Ports at zero seg.area 00xxh
0FFFBH DULA = 10h; DMA control unit       0010h
0FFFAH IULA = 20h; Interrupt control unit 0020h
0FFF9H TULA = 40h; Timer/counter unit     0040h
0FFF8H SULA =0F0h; Serial control unit    00F0h non standart (Math Coprocessor)
0FFF7H reserve FF
0FFF6H WCY2 = 05h;
0FFF5H WCY1 = 55h;
0FFF4H WMB  = 55h;
0FFF3H reserve FF
0FFF2H RFC  = 86h;
0FFF1H reserve FF
0FFF0H TCKS = 1Ch;

Видно, что Serial control unit - последовательный адаптер перекрыл адреса,
характерные для Math Coprocessor-а, которого на плате, впрочем, и нет...

Ну а что делают остальные настройки в этих системных регистрах, можно подробно
посмотреть в мануале на процессор NEC V40 uD70208L-8, который доступен в сети.


PS. Кстати, сама плата в данный момент имеет вот такой вид (ПЗУ снимал для чтения):


Увеличить

_________________
iLavr


16 Nov 2014 07:16
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 47 posts ]  Go to page Previous  1, 2, 3, 4

Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.