Процессор 7800. Редактирование прошивки 7801 - с чего начать

Другие микроконтроллеры и микропроцессоры, не попавшие в предыдущие разделы

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Процессор 7800. Редактирование прошивки 7801 - с чего на

Post by Lavr »

Betelgeyze wrote:FF это нули?
В ПЗУ - это обычно просто 0FFН.
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Процессор 7800. Редактирование прошивки 7801 - с чего на

Post by Lavr »

Betelgeyze wrote:Дизассемблер помог бы но под мою систему команд такого нет, либо писать самому.
Посмотрите вот эти файлы, возможно, это то, что вам надо...
dasm7801.zip
upd7801op.zip
http://takeda-toshiya.my.coocan.jp/scv/index.html
uPD7801 tiny disassembler (11/19/2005) may have some bugs
uPD7801 opecodes table (11/19/2005)
You do not have the required permissions to view the files attached to this post.
iLavr
Pavtik
Novelist
Posts: 26
Joined: 11 Nov 2015 09:34

Re: Процессор 7800. Редактирование прошивки 7801 - с чего на

Post by Pavtik »

Есть такой эмулятор аркадных автоматов MAME
ссылка:https://www.mamedev.org/release.html

там у него в комплекте есть Дизассемблер unidasm.exe

 unidasm.exe

Code: Select all

Usage: D:\MAME\unidasm.exe <filename> -arch <architecture> [-basepc <pc>] 
   [-mode <n>] [-norawbytes] [-xchbytes] [-flipped] [-upper] [-lower]
   [-skip <n>] [-count <n>]

Supported architectures:
  8x300          g65816         m6800          scudsp         unsp10         
  adsp21xx       gigatron       m68000         se3208         unsp12         
  alpha          h6280          m68008         sh2            unsp20         
  alpha_nt       h8             m6801          sh4            upd7725        
  alpha_unix     h8h            m68010         sh4be          upd7801        
  alpha_vms      h8s2000        m6802          sharc          upd78c05       
  alpha8201      h8s2600        m68020         sm500          upd7807        
  alto2          hc11           m6803          sm510          upd7810        
  am29000        hcd62121       m68030         sm511          upd78014       
  amis2000       hd61700        m68040         sm530          upd78024       
  apexc          hd6301         m6805          sm590          upd78044a      
  arc            hd6309         m6808          sm5a           upd78054       
  arcompact      hd63701        m6809          sm8500         upd78064       
  arm            hmcs40         m68340         sparcv7        upd78078       
  arm_be         hp_5061_3001   m68hc05        sparcv8        upd78083       
  arm7           hp_5061_3011   m740           sparcv9        upd78138       
  arm7_be        hp_09825_67907 mb86233        sparcv9vis1    upd78148       
  arm7thumb      hpc16083       mb86235        sparcv9vis2    upd78214       
  arm7thumbb     hpc16164       mb88           sparcv9vis2p   upd78218a      
  asap           hyperstone     mc88100        sparcv9vis3    upd78224       
  avr8           i4004          mc88110        sparcv9vis3b   upd78234       
  axc51core      i4040          mcs48          spc700         upd78244       
  axc208         i8008          minx           ssem           upd780024a     
  capricorn      i802x          mips1be        ssp1601        upd78312       
  ccpu           i8051          mips1le        st62xx         upd78322       
  cdp1801        i8052          mips3be        superfx        upd78328       
  cdp1802        i8085          mips3le        t11            upd78334       
  cdp1805        i8089          mn10200        tlcs870        upd78352       
  clipper        i80c52         nanoprocessor  tlcs900        upd78356       
  coldfire       i860           nec            tmp90c051      upd78366a      
  cop410         i8x9x          ns32000        tmp90840       upd78372       
  cop420         i8xc196        nuon           tmp90844       upd780065      
  cop444         i8xc51fx       nsc8105        tms0980        upd780988      
  cop424         i8xc51gb       pace           tms1000        upd78k0kx1     
  cp1610         i960           patinho_feio   tms1100        upd78k0kx2     
  cr16a          ie15           pdp1           tms32010       upi41          
  cr16b          jaguardsp      pdp8           tms32025       v60            
  cquestlin      jaguargpu      pic16c5x       tms32031       v810           
  cquestrot      konami         pic16c62x      tms32051       vt50           
  cquestsnd      ks0164         powerpc        tms32082_mp    vt52           
  dp8344         lc8670         pps4           tms32082_pp    vt61           
  ds5002fp       lh5801         psxcpu         tms34010       we32100        
  dsp16          lr35902        r65c02         tms34020       x86_16         
  dsp32c         m146805        r65c19         tms57002       x86_32         
  dsp56000       m37710         romp           tms7000        x86_64         
  dsp56156       m4510          rsp            tms9900        xavix          
  e0c6200        m58846         rx01           tms9980        xavix2000      
  epg3231        m6502          s2650          tms9995        xavix2         
  esrip          m6509          saturn         tp0320         z180           
  f2mc16         m6510          sc61860        tx0_64kw       z8             
  f8             m65c02         scmp           tx0_8kw        z80            
  fr             m65ce02        score7         ucom4          z8000          

Betelgeyze
Writer
Posts: 10
Joined: 13 Mar 2020 06:21

Re: Процессор 7800. Редактирование прошивки 7801 - с чего на

Post by Betelgeyze »

Спасибо! Буду изучать.
User avatar
Shaos
Admin
Posts: 24087
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Процессор 7800. Редактирование прошивки 7801 - с чего на

Post by Shaos »

Betelgeyze wrote:Понемногу ковыряюсь в прошивке,возник вопрос что такое-
C0...DF JR +offset (Opcode minus $C0)
E0...FF JR -offset (-(Opcode minus $E0))
?
Это относительная передача управления в один байт как я понял:

Code: Select all

0xC0 - JR +0
0xC1 - JR +1
0xC2 - JR +2
0xC3 - JR +3
0xC4 - JR +4
0xC5 - JR +5
0xC6 - JR +6
0xC7 - JR +7
0xC8 - JR +8
0xC9 - JR +9
0xCA - JR +10
0xCB - JR +11
0xCC - JR +12
0xCD - JR +13
0xCE - JR +14
0xCF - JR +15
0xD0 - JR +16
0xD1 - JR +17
0xD2 - JR +18
0xD3 - JR +19
0xD4 - JR +20
0xD5 - JR +21
0xD6 - JR +22
0xD7 - JR +23
0xD8 - JR +24
0xD9 - JR +25
0xDA - JR +26
0xDB - JR +27
0xDC - JR +28
0xDD - JR +29
0xDE - JR +30
0xDF - JR +31

0xE0 - JR -0
0xE1 - JR -1
0xE2 - JR -2
0xE3 - JR -3
0xE4 - JR -4
0xE5 - JR -5
0xE6 - JR -6
0xE7 - JR -7
0xE8 - JR -8
0xE9 - JR -9
0xEA - JR -10
0xEB - JR -11
0xEC - JR -12
0xED - JR -13
0xEE - JR -14
0xEF - JR -15
0xF0 - JR -16
0xF1 - JR -17
0xF2 - JR -18
0xF3 - JR -19
0xF4 - JR -20
0xF5 - JR -21
0xF6 - JR -22
0xF7 - JR -23
0xF8 - JR -24
0xF9 - JR -25
0xFA - JR -26
0xFB - JR -27
0xFC - JR -28
0xFD - JR -29
0xFE - JR -30
0xFF - JR -31
А в начале ПЗУ идут вектора переходов:
Betelgeyze wrote:Первая строчка:
00 54 00 01 FF FF FF FF 54 30 03 FF FF FF FF FF 54 D0 1E FF FF FF
соответственно по RESET код пойдёт в 0x0100
по INT1 - в 0x0330
по INT2 - в 0x1ED0
а INT0 тут просто пропущен (неиспользуемые части ПЗУ заполнены FF-ами)
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
Betelgeyze
Writer
Posts: 10
Joined: 13 Mar 2020 06:21

Re: Процессор 7800. Редактирование прошивки 7801 - с чего на

Post by Betelgeyze »

Почитал даташит на процессор,нашёл команды ввода\вывода:
OUT AB15-8 ← B,AB7-0 ← byte DB7-0←A
Читаю описание: инструкция OUT выводит данные из источника в порт ввода\вывода. Номер порта должен быть указан в приёмнике.
Опкод 4D 00...4D BF OUT xx.
В дампе есть нечто похожее:
4D 75 34 A3 C8 14 30 4D 58 0E 14 08 4D 59 20 C8 59 3F C9 28 3A 7D
Сомневаюсь что я правильно перевёл:
OUT 75
LXI C8 A3
LXI 30
OUT 58
MOV 08 14
OUT 59
INRW 59 C8
STAX C9
LDAW 3A
7D ?
Если 4D пишет непосредственно в порт,то не понятно где брать адреса портов?
Betelgeyze
Writer
Posts: 10
Joined: 13 Mar 2020 06:21

Re: Процессор 7800. Редактирование прошивки 7801 - с чего на

Post by Betelgeyze »

Попробовал запустить dasm7801-быстро слопывается чёрное окошко. Unidasm-на черном фоне пробегает быстро список и окошко схлопывается.
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Процессор 7800. Редактирование прошивки 7801 - с чего на

Post by Lavr »

Они вам выдали список своих инструкций скорее всего...

Попробуйте запустить сеанс MS-DOS и в нём из командной строки запустить эти программы.

Вот как-то так:
dasm.gif
P.S. В старших версиях Венды "сеанс MS-DOS" - это команда CMD.
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Shaos
Admin
Posts: 24087
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Процессор 7800. Редактирование прошивки 7801 - с чего на

Post by Shaos »

Я тут между делом на ебее заказал парочку с Китая и даже уже успел получить :roll:
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
Betelgeyze
Writer
Posts: 10
Joined: 13 Mar 2020 06:21

Re: Процессор 7800. Редактирование прошивки 7801 - с чего на

Post by Betelgeyze »

Если не секрет.Что на них будете собирать?
User avatar
Shaos
Admin
Posts: 24087
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Процессор 7800. Редактирование прошивки 7801 - с чего на

Post by Shaos »

Betelgeyze wrote:Если не секрет.Что на них будете собирать?
nedoPC-78 :mrgreen:
Я тут за главного - если что шлите мыло на me собака shaos точка net
Mildi
Fanat
Posts: 57
Joined: 24 Aug 2022 23:08

Re: Процессор 7800. Редактирование прошивки 7801 - с чего на

Post by Mildi »

Betelgeyze wrote:Контроллер очень старой радиостанции. Подготовил апгрейд этого аппарата,но выложить для для повторения не могу пока не сниму блокировку по одному из портов.
Исходников нет и не будет, есть только слитая прошивка. Систему команд придётся изучать.
FF это нули?
У меня сейчас тоже подобная задача стоит, и тоже со старой радиостанции.
Подскажите как вы с 7801 считывали прошивку?
Если у вас контроллер uPD7801G-114 не могли бы вы поделиться слитой прошивкой?
Mildi
Fanat
Posts: 57
Joined: 24 Aug 2022 23:08

Re: Процессор 7800. Редактирование прошивки 7801 - с чего на

Post by Mildi »

Есть ли способ считать код из внутреннего ПЗУ 4Кб с 7801 которые программируются при производстве?
User avatar
Aries
Junior
Posts: 8
Joined: 16 Jun 2022 14:11
Location: замкадье

Re: Процессор 7800. Редактирование прошивки 7801 - с чего на

Post by Aries »

Betelgeyze wrote:...FF это нули?
Наоборот, 1111 1111
Mondx
Doomed
Posts: 518
Joined: 10 Aug 2022 07:27
Location: Crimea

Re: Процессор 7800. Редактирование прошивки 7801 - с чего на

Post by Mondx »

Aries wrote:
Betelgeyze wrote:...FF это нули?
Наоборот, 1111 1111
Ну, это смотря с какой стороны посмотреть.)