nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 19 Mar 2024 03:20



Reply to topic  [ 35 posts ]  Go to page 1, 2, 3  Next
Процессор 7800. Редактирование прошивки 7801 - с чего начать 
Author Message
Writer

Joined: 13 Mar 2020 06:21
Posts: 10
Reply with quote
Здравствуйте. Кто сталкивался с таким процессором? Очень нужна карта памяти, команды, дизассемблер.К сожалению гугл не даёт никакой информации.
Буду признателен за любую инфу.


16 Oct 2020 03:35
Profile
Writer

Joined: 13 Mar 2020 06:21
Posts: 10
Reply with quote
Здравствуйте. Есть прошивка для древнего процессора nec 7801,есть блокировка по одному из портов. С чего начать? Что можно почитать на эту тему?
Я так понимаю сам порт расположен по определённому адресу, значит в прошивке надо искать какая команда работает с этим портом или с регистром этого порта(4D C0 MOV PA,A)?


17 Oct 2020 04:31
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Betelgeyze wrote:
Здравствуйте. Кто сталкивался с таким процессором? Очень нужна карта памяти, команды, дизассемблер.К сожалению гугл не даёт никакой информации.

Какой-то у вас гугл неправильный... :-?
Attachment:
page1.png
page1.png [ 148.95 KiB | Viewed 11464 times ]

https://datasheetspdf.com/pdf-file/524029/NECElectronics/UPD7800/1
Attachment:
UPD7800G_NECElectronics.pdf [474.5 KiB]
Downloaded 323 times

_________________
iLavr


21 Oct 2020 13:47
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Betelgeyze wrote:
Есть прошивка для древнего процессора nec 7801, ...

Никогда не встречал... и даже не слышал ранее... но из профессионального любопытства решил
взглянуть сегодня - что же из себя представляет этот nec 7801 ...

Неожиданно был в восторге и сразу же вспомнил книгу Тима Джексона «Inside Intel. Intel: Взгляд изнутри.» :wink:
Quote:
Не даром же один из разработчиков i8080, когда его спросили, как он относится к тому, что русские
скопировали i8080, ответил, что он не сильно огорчен, поскольку русские не конкуренты на рынке, и
хуже, если скопируют японцы...

Японцы превзошли на этой ниве сами себя! :lol:
В 64-ногий корпус запихали n-MOS i8080 с признаками i8085 и некоторыми чертами z80, часть МП комплекта
8080 типа 8255, 8253, 8051 или (8250) плюс ПЗУ и ОЗУ на борту. :roll:
Мнемоники команд похожи на i8080, но расширены собственными до 140 штук! :o
При этом вокруг на внешнюю шину можно навесить практически всё из комплекта 8080 и z80. 8)
Возможно, я чуть утрирую... но вкратце - как-то так. :ebiggrin:
Attachment:
nec7801.gif
nec7801.gif [ 22.41 KiB | Viewed 11469 times ]

Attachment:
nec7801p.gif
nec7801p.gif [ 8.29 KiB | Viewed 11469 times ]

https://datasheetspdf.com/pdf-file/1098223/NEC/UPD7801/1
Attachment:
UPD7801-NEC.pdf [1.12 MiB]
Downloaded 320 times

_________________
iLavr


21 Oct 2020 14:20
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
Ну раз уж этот "пёс 7801" это расширенный 8080, то переношу в INTEL :lol:

P.S. Хотя не - он только по шине с 8080 совместим, а система команд скорее своя, но с похожими на Intel мнемониками, и они зачем-то приплели Z80 к своей переключалке регистров, хотя регистры скорее как 8080, но вместо регистра F находится регистр V (векторный)

_________________
:dj: https://mastodon.social/@Shaos


21 Oct 2020 14:56
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
а система команд скорее своя, но с похожими на Intel мнемониками, ...

Ведь именно так и написал: :wink:
Lavr wrote:
Мнемоники команд похожи на i8080, но расширены собственными до 140 штук! :o
Потому как у i8080 их всего 78 было...

Как по блок-схеме, так чистый i8080:
Attachment:
Block.gif
Block.gif [ 18.39 KiB | Viewed 11459 times ]

В левом нижнем углу - 8255, как есть. На борт засунули тактовый генератор, урезанные прерывания,
урезанный последовтельный порт a la i8085, урезанный таймер 8253 и сдвоенный набор РОН по примеру z80.

_________________
iLavr


Last edited by Lavr on 21 Oct 2020 15:52, edited 1 time in total.



21 Oct 2020 15:33
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
А табличка кодов есть? В соседнем топике про 78k была какая-то NEC.rar от железного дровосека, но она у меня не скачивается - и вообще как далеко 78k ушли от этого первоначального "пса 7800"? ;)

P.S. Вот нашёл форум где система команд расписана: https://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=38596
 uPD7800
Code:
-----------------------------------------------------------
      uCOM-87 Instruction set (uPD7800,uPD7801,uPD78C06)
-----------------------------------------------------------
xx   = Data    (Byte)
aa   = Address (Byte)
wa   = Offset  (Byte) Offset to V (vector "page" register)
bbaa = Address (Word)

00                          NOP     
01                          HLT     
02                          INX     SP
03                          DCX     SP
04 aa bb                    LXI     SP,bbaa
05 wa xx                    ANIW    wa,xx
06                          ----
07 xx                       ANI     A,xx
08                          RET     
09                          SIO     
0A                          MOV     A,B
0B                          MOV     A,C
0C                          MOV     A,D
0D                          MOV     A,E
0E                          MOV     A,H
0F                          MOV     A,L

10                          EX
11                          EXX
12                          INX     B   (BC)
13                          DCX     B   (BC)
14 aa bb                    LXI     B,bbaa
15 wa xx                    ORIW    wa,xx
16 xx                       XRI     A,xx
17 xx                       ORI     A,xx
18                          RETS   
19                          STM     
1A                          MOV     B,A
1B                          MOV     C,A
1C                          MOV     D,A
1D                          MOV     E,A
1E                          MOV     H,A
1F                          MOV     L,A

20 wa                       INRW    wa
21                          TABLE
22                          INX     D   (DE)
23                          DCX     D   (DE)
24 aa bb                    LXI     D,bbaa
25 wa xx                    GTIW    wa,xx
26 xx                       ADINC   A,xx
27 xx                       GTI     A,xx
28 wa                       LDAW    wa
29                          LDAX    B   (BC)
2A                          LDAX    D   (DE)
2B                          LDAX    H   (HL)
2C                          LDAX    D+  (DE)
2D                          LDAX    H+  (HL)
2E                          LDAX    D-  (DE)
2F                          LDAX    H-  (HL)

30 wa                       DCRW    wa
31                          BLOCK
32                          INX     H   (HL)
33                          DCX     H   (HL)
34 aa bb                    LXI     H,bbaa
35 wa xx                    LTIW    wa,xx
36 xx                       SUINB   A,xx
37 xx                       LTI     A,xx
38 wa                       STAW    wa
39                          STAX    B   (BC)
3A                          STAX    D   (DE)
3B                          STAX    H   (HL)
3C                          STAX    D+  (DE)
3D                          STAX    H+  (HL)
3E                          STAX    D-  (DE)
3F                          STAX    H-  (HL)

40                          ---
41                          INR     A
42                          INR     B
43                          INR     C
44 aa bb                    CALL    bbaa
45 wa xx                    ONIW    wa,xx
46 xx                       ADI     A,xx
47 xx                       ONI     A,xx

48 00                       SKIT    F0
48 01                       SKIT    FT
48 02                       SKIT    F1
48 03                       SKIT    F2
48 04                       SKIT    FS
48 0A                       SK      CY
48 0C                       SK      Z
48 0E                       PUSH    V
48 0F                       POP     V
48 10                       SKNIT   F0
48 11                       SKNIT   FT
48 12                       SKNIT   F1
48 13                       SKNIT   F2
48 14                       SKNIT   FS
48 1A                       SKN     CY
48 1C                       SKN     Z
48 1E                       PUSH    B   (BC)
48 1F                       POP     B   (BC)
48 20                       EI 
48 24                       DI 
48 2A                       CLC
48 2B                       STC
48 2C                       PEN
48 2D                       PEX
48 2E                       PUSH    D   (DE)
48 2F                       POP     D   (DE)
48 30                       RAL
48 31                       RAR
48 32                       RCL
48 33                       RCR
48 34                       SHAL
48 35                       SHAR
48 36                       SHCL
48 37                       SHCR
48 38                       RLD
48 39                       RRD
48 3C                       PER
48 3E                       PUSH    H   (HL)
48 3F                       POP     H   (HL)

49 xx                       MVIX    B,xx
4A xx                       MVIX    D,xx
4B xx                       MVIX    H,xx
4C 00....4C BF              IN      A,xx
4C C0                       MOV     A,PA
4C C1                       MOV     A,PB
4C C2                       MOV     A,PC
4C C3                       MOV     A,MK
4C C8                       MOV     A,S
4D 00....4D BF              OUT     xx
4D C0                       MOV     PA,A
4D C1                       MOV     PB,A
4D C2                       MOV     PC,A
4D C3                       MOV     MK,A
4D C4                       MOV     MB,A
4D C5                       MOV     MC,A
4D C6                       MOV     TM0,A
4D C7                       MOV     TM1,A
4D C8                       MOV     S,A
4E xx                       JRE     +offset xx
4F xx                       JRE     -offset (-xx)

50                          ---
51                          DCR     A
52                          DCR     B
53                          DCR     C
54 aa bb                    JMP     bbaa
55 wa xx                    OFFIW   wa,xx
56 xx                       ACI     xx
57 xx                       OFFI    A,xx
58 wa                       BIT     0,wa
59 wa                       BIT     1,wa
5A wa                       BIT     2,wa
5B wa                       BIT     3,wa
5C wa                       BIT     4,wa
5D wa                       BIT     5,wa
5E wa                       BIT     6,wa
5F wa                       BIT     7,wa

60 08-0F                    ANA     r,A     (r = V,A,B,C,D,E,H,L)
60 10-17                    XRA     r,A
60 18-1F                    ORA     r,A
60 20-27                    ADDNC   r,A
60 28-2F                    GTA     r,A
60 30-37                    SUBNB   r,A
60 38-3F                    LTA     r,A
60 40-47                    ADD     r,A
60 50-57                    ADC     r,A
60 60-67                    SUB     r,A
60 68-6F                    NEA     r,A
60 70-7F                    SUB     r,A
60 88-8F                    ANA     r,A
60 90-97                    XRA     r,A
60 98-9F                    ORA     r,A
60 A0-A7                    ADDNC   r,A
60 A8-AF                    GTA     r,A
60 B0-B7                    SUBNB   r,A
60 B8-BF                    LTA     r,A
60 C0-C7                    ADD     r,A
60 C8-CF                    ONA     r,A
60 D0-D7                    ADC     r,A
60 D8-DF                    OFFA    r,A
60 E0-E7                    SUB     r,A
60 E8-EF                    NEA     r,A
60 F0-F7                    SBB     r,A
60 F7-FE                    EQA     r,A

61                          DAA     
62                          RETI
63                          CALB

64 08-0F xx                 ANI     r,xx     (r = V,A,B,C,D,E,H,L)
64 10-17 xx                 XRI     r,xx
64 18-1F xx                 ORI     r,xx
64 20-27 xx                 ADINC   r,xx
64 28-2F xx                 GTI     r,xx
64 30-37 xx                 SUINB   r,xx
64 38-3F xx                 LTI     r,xx
64 40-47 xx                 ADI     r,xx
64 48-4F xx                 ONI     r,xx
64 50-57 xx                 ACI     r,xx
64 58-5F xx                 OFFI    r,xx
64 60-67 xx                 SUI     r,xx
64 68-6F xx                 NEI     r,xx
64 70-77 xx                 SBI     r,xx
64 78-7F xx                 EQI     r,xx

64 88-8B xx                 ANI     r,xx     (r = PA,PB,PC,MK)
64 90-93 xx                 XRI     r,xx
64 98-9B xx                 ORI     r,xx
64 A0-A3 xx                 ADINC   r,xx
64 A8-AB xx                 GTI     r,xx
64 B0-B3 xx                 SUINB   r,xx
64 B8-BB xx                 LTI     r,xx
64 C0-C3 xx                 ADI     r,xx
64 C8-CB xx                 ONI     r,xx
64 D0-D3 xx                 ACI     r,xx
64 D8-DB xx                 OFFI    r,xx
64 E0-E3 xx                 SUI     r,xx
64 E8-EB xx                 NEI     r,xx
64 F0-F3 xx                 SBI     r,xx
64 F8-FB xx                 EQI     r,xx

65 wa xx                    NEIW    wa,xx
66 xx                       SUI     A,xx
67 xx                       NEI     A,xx
68 xx                       MVI     V,xx
69 xx                       MVI     A,xx
6A xx                       MVI     B,xx
6B xx                       MVI     C,xx
6C xx                       MVI     D,xx
6D xx                       MVI     E,xx
6E xx                       MVI     H,xx
6F xx                       MVI     L,xx

70 0E aa bb                 SSPD    bbaa
70 0F aa bb                 LSPD    bbaa
70 1E aa bb                 SBCD    bbaa
70 1F aa bb                 LBCD    bbaa
70 2E aa bb                 SDED    bbaa
70 2F aa bb                 LDED    bbaa
70 3E aa bb                 SHLD    bbaa
70 3F aa bb                 LHLD    bbaa

70 68 aa bb                 MOV     V,bbaa
70 69 aa bb                 MOV     A,bbaa
70 6A aa bb                 MOV     B,bbaa
70 6B aa bb                 MOV     C,bbaa
70 6C aa bb                 MOV     D,bbaa
70 6D aa bb                 MOV     E,bbaa
70 6E aa bb                 MOV     H,bbaa
70 6F aa bb                 MOV     L,bbaa

70 78 aa bb                 MOV     aabb,V
70 79 aa bb                 MOV     aabb,A
70 7A aa bb                 MOV     aabb,B
70 7B aa bb                 MOV     aabb,C
70 7C aa bb                 MOV     aabb,D
70 7D aa bb                 MOV     aabb,E
70 7E aa bb                 MOV     aabb,H
70 7F aa bb                 MOV     aabb,L

70 89-8F                    ANAX    rpa      (rpa = B,D,H,D+,H+,D-,H-)
70 91-97                    XRAX    rpa
70 99-9F                    ORAX    rpa
70 A1-A7                    ADDNCX  rpa
70 A9-AF                    GTAX    rpa
70 B1-B7                    SUBNBX  rpa
70 B9-BF                    LTAX    rpa
70 C1-C7                    ADDX    rpa
70 C9-CF                    ONAX    rpa
70 D1-D7                    ADCX    rpa
70 D9-DF                    OFFAX   rpa
70 E1-E7                    SUBX    rpa
70 EA-EF                    NEAX    rpa
70 F1-F7                    SBBX    rpa
70 F9-FF                    EQAX    rpa

71 wa xx                    MVIW    wa,xx
72                          SOFTI
73                          JB       

74 88                       ANAW    wa
74 90                       XRAW    wa
74 98                       ORAW    wa
74 A0                       ADDNCW  wa
74 A8                       GTAW    wa
74 B0                       SUBNBW  wa
74 B8                       LTAW    wa
74 C0                       ADDW    wa
74 C8                       ONAW    wa
74 D0                       ADCW    wa
74 D8                       OFFAW   wa
74 E0                       SUBW    wa
74 E8                       NEAW    wa
74 F0                       SBBW    wa
74 F8                       EQAW    wa

75 wa xx                    EQIW    wa,xx
76 xx                       SBI     A,xx
77 xx                       EQI     A,xx

78 aa...7F aa               CALF    (Opcode minus $70)aa

80                          CALT    0080
81                          CALT    0082
.
.
BE                          CALT    00FC
BF                          CALT    00FE

C0...DF                     JR      +offset (Opcode minus $C0)
E0...FF                     JR      -offset (-(Opcode minus $E0))
-----------------------------------------------------------
Короткие джампы одним байтом сделаны - очень разумно для быстрого кода (и редкие команды убраны под префиксы)
Ещё пишут в 7800/7801 регистр V по сути не используется - там всегда 0xFF
И ещё:
Quote:
There were no tools available except a very expensive nec development
system well outside our budget, so
I wound up writing my own cross-assembler running under dos.

_________________
:dj: https://mastodon.social/@Shaos


21 Oct 2020 15:40
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22383
Location: Silicon Valley
Reply with quote
Цикл 2мкс - не густо, это полмегагерца получается

Вот схемка того как тактировать 7800:

Attachment:
UPD7800-clock.png
UPD7800-clock.png [ 27.41 KiB | Viewed 11441 times ]

По ходу документа написано, что кристалл 4 МГц переводится в tCYX=500 ns (частота делится на 2 перед подачей на X1)

А вообще диапазон возможных значений для tCYX в документе указан от 454 до 2000 ns (те самые 2us)

P.S. Может слепить топики про 7800 и 7801 в один раз уж 7800 это просто безромный 7801/7802?

P.P.S. Слепил

_________________
:dj: https://mastodon.social/@Shaos


21 Oct 2020 16:09
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
В соседнем топике про 78k была какая-то NEC.rar от железного дровосека, но она у меня не скачивается ...

Щютку юмора оценил... :lol: и у меня не скачивается... железный дровосек и тут подгадил... :wink:

Народ, у кого скачивается, закиньте на форум сюда, please...
http://www.fileden.com/files/2008/10/17/2146441/NEC.rar

P.S. Может быть, с 2008 года срок хранения истёк?

_________________
iLavr


Last edited by Lavr on 21 Oct 2020 16:16, edited 1 time in total.



21 Oct 2020 16:10
Profile
Writer

Joined: 13 Mar 2020 06:21
Posts: 10
Reply with quote
Пока ждал когда моё сообщение появится на форуме, нашёл все выше перечисленные ссылки,но тем не менее спасибо что отклинулись!
Понемногу ковыряюсь в прошивке,возник вопрос что такое-
C0...DF JR +offset (Opcode minus $C0)
E0...FF JR -offset (-(Opcode minus $E0))
?


Attachments:
uCOM.docx [19.46 KiB]
Downloaded 290 times
25 Oct 2020 05:03
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Betelgeyze wrote:
Пока ждал когда моё сообщение появится на форуме, ...

Да вроде как сразу появилось...
Просто мы тут и сами ничего по сабжу не знали, и после длительного молчания
решили тоже лопатой Гугля Интернет-помойку поворошить... :wink:

_________________
iLavr


25 Oct 2020 05:50
Profile
Writer

Joined: 13 Mar 2020 06:21
Posts: 10
Reply with quote
Я вё это время рыл гугл на предмет дизассемблирования. Сейчас вручную пытаюсь дизассемблировать файл прошивки. Дизассемблер помог бы но под мою систему команд такого нет, либо писать самому.


25 Oct 2020 06:56
Profile
Writer

Joined: 13 Mar 2020 06:21
Posts: 10
Reply with quote
Первая строчка:
00 54 00 01 FF FF FF FF 54 30 03 FF FF FF FF FF 54 D0 1E FF FF FF
получается так:
NOP
JMP 00 01
JR
JR
JR
JR
JMP 30 03
JR
JR
JR
JR
JR
JMP DO 1E
JR
JR
JR


25 Oct 2020 07:15
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Betelgeyze wrote:
Дизассемблер помог бы но под мою систему команд такого нет, либо писать самому.

Есть вариант - найти исходники под похожую систему команд и допилить их до результата,
чтобы не писать всё с нуля самому...
Хотя... тут надо систему команд хотя бы неплохо знать, а она вам не знакома, видимо...

А что за устройство сподвигло вас заняться этими 7800/7801 ?

_________________
iLavr


25 Oct 2020 09:08
Profile
Writer

Joined: 13 Mar 2020 06:21
Posts: 10
Reply with quote
Контроллер очень старой радиостанции. Подготовил апгрейд этого аппарата,но выложить для для повторения не могу пока не сниму блокировку по одному из портов.
Исходников нет и не будет, есть только слитая прошивка. Систему команд придётся изучать.
FF это нули?


Last edited by Betelgeyze on 25 Oct 2020 09:19, edited 1 time in total.



25 Oct 2020 09:17
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 35 posts ]  Go to page 1, 2, 3  Next

Who is online

Users browsing this forum: No registered users and 7 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:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.