PC-01 Lviv http://pc01.lviv.ua/forum/ |
|
Листинг стандартного ПЗУ http://pc01.lviv.ua/forum/viewtopic.php?f=22&t=190 |
Page 1 of 2 |
Author: | Zelya [ 03 Jan 2012, 11:07 ] |
Post subject: | Листинг стандартного ПЗУ |
liberation Quote: Мож, что-то типа Wiki стоит развернуть
Я могу попробовать поставить wiki-движок на сайте. Только, боюсь, наполнения практически не будет. Даже по Спектруму, с его огромным комьюнити, их Вики выглядит "несчастной".upd. Связанная тема "Прошивки ПЗУ ПК-01 "Львов". |
Author: | liberation [ 03 Jan 2012, 13:10 ] |
Post subject: | |
Quote: Я могу попробовать поставить wiki-движок на сайте. Только, боюсь, наполнения практически не будет. Даже по Спектруму, с его огромным комьюнити, их Вики выглядит "несчастной".
Я такую штуку предлагаю сугубо из познавательных целей. Никогда ни с чем подобным не имел дела. Хочется помацать. Да и описание ПЗУ в таком виде будет выглядеть логично: для каждой подпрограммы по страничке с войной правок.
|
Author: | sadfsdfsdaf [ 03 Jan 2012, 19:19 ] |
Post subject: | |
Quote: Хорошо, даже очень хорошо. Какую бы форму для этого выбрать? Мож, что-то типа Wiki стоит развернуть (я слабо ориентируюсь в подобных средствах представления информации)?
сложный вопрос - дамп базы IDA в виде .IDC под Subversion ... ? (такое потом легко перлом отконвертировать в удобоваримый вид, да и работать удобно)Wiki это не очень удобно будет (во всяком случае - я её плохо знаю, не представляю как её в этом качестве заюзать). писать что-то своё ... дизассемблер на php под ajax ? можно попробовать, есть мысли, но выглядит громоздко ... даже с применением extjs и подобного. |
Author: | liberation [ 03 Jan 2012, 19:39 ] |
Post subject: | |
Quote: сложный вопрос - дамп базы IDA в виде .IDC под Subversion ... ? (такое потом легко перлом отконвертировать в удобоваримый вид, да и работать удобно)
Можно посмотреть в сторону github или его более либерального для бесплатной разработки родича bitbucket. Вот что на github'е люди вытворяют - JavaScript Garden. Wiki это не очень удобно будет (во всяком случае - я её плохо знаю, не представляю как её в этом качестве заюзать). писать что-то своё ... дизассемблер на php под ajax ? можно попробовать, есть мысли, но выглядит громоздко ... даже с применением extjs и подобного. Надо бы продумать, как получить исходники. А то получается, что надо будет в эмуляторе запускать дизассемблер. |
Author: | sadfsdfsdaf [ 04 Jan 2012, 02:26 ] |
Post subject: | |
Quote: Можно посмотреть в сторону github или его более либерального для бесплатной разработки родича bitbucket. Вот что на github'е люди вытворяют - JavaScript Garden
хгм. можно и git, он p2p, так что это даже лучше.тогда для сайта достаточно будет написать только движок рендеринга (с попутным выводом истории правок из git-a). что-то в этом есть...... Quote: Надо бы продумать, как получить исходники. А то получается, что надо будет в эмуляторе запускать дизассемблер.
в "безголовом" режиме? да ну, это наверное лишнее. я исходно предполагал свой дизассемблер полностью написать (интерактивный) на extjs + php (например).если предполагать, что работа ведётся локально в IDA, а конфликты разрешаются средствами cvs (svn, git), то пакетный конвертер из idc в html пишется максимум за день (вместе с отладкой). проблема не в нём (не в начальном исходнике), проблема в том, чтобы менять имена меткам и т.п. в "быстром/интерактивном" режиме, иначе весь смысл пропадает. простой пакетный дизассемблер я вообще за пару часов "набросаю". p.s. в принципе, если wiki позволяет дописать некоторые "макросы редактирования", работающие на стороне сервера, то, возможно, и её получится использовать. |
Author: | Zelya [ 04 Jan 2012, 12:17 ] |
Post subject: | |
Что-то я не могу объеденить ваши посты воедино... Давайте попорядку. Вы хотите декомпилировать ПЗУ и раписать по нему документацию в форме wiki (или вроде того)? Ну тогда вопрос, зачем Subversion, дизассемблер на php и т.п. Да и целая вики на несколько килобайт кода - єто слишком жирно. Я сначала себе представлял все, как общая Вики по "Львову". Ну и туда прау статеек по ПЗУ, которое дизассемблировать можно и оффлайн. Я в процессе разгребания всяких там "Карате" и прочих загрузчиков, частично это делал. Или я что-то совсем не так понимаю? |
Author: | liberation [ 04 Jan 2012, 12:22 ] |
Post subject: | |
Quote: Что-то я не могу объеденить ваши посты воедино...
Просто Володя подходит к делу очень добротно и основательно. Я первоначально представлял себе Вики, где можно было бы выделить каждой процедуре по статье. Про Вики по "Львову" я не задумывался. Как сейчас понимаю - идея интересная! |
Author: | orest [ 16 Dec 2013, 16:18 ] |
Post subject: | Re: Листинг стандартного ПЗУ |
Вот здесь вся память ОЗУ+ПЗУ одним файлом HTML, PDF (212 с.) Спасибо товарищу SAS за отличньій дизассемблер! Вьідернул все из емулятора Е3000, кажись, уже не помню. В любом случае, автору тоже благодарность! Исходя из етого планируется сделать более функциональную версию, согласно вьішеутвержденному плану. Пожелания приветствуются. |
Author: | liberation [ 17 Dec 2013, 08:41 ] |
Post subject: | Re: Листинг стандартного ПЗУ |
Quote: Исходя из етого планируется сделать более функциональную версию, согласно вьішеутвержденному плану.
Прикольно: я уже хотел удалить эту тему, а тут такой поворот. Особых пожеланий нет. Насколько я помню, первоначально хотелось сделать что-то в духе того, что сейчас делает божественный vinxru для "Специалиста" - подробно комментированный листинг стандартного ПЗУ (обе версии).Пожелания приветствуются. Вот свежий фрагмент для примера: Code: ;+--------------------------------------------------------------------------- ; MXOS ; Чтение байта с ленты ; ; На входе ; a=255 загрузка первого байта ; a=8 загрузка ; ; На выходе ; c - байт ; de,hl - сохраняются ; ; 2013-12-12 Дизассемблировано vinxru ;---------------------------------------------------------------------------- tapeRead: ; Сохраняем регистры push b push d ; Тут будет принятый байт mvi c, 0 ; d=8 если загрузка (счетчик бит) или 0FFh если ожидание mov d, a tapeRead_0: ; Получаем состояние lda IO_KEYB_B ani 1 mov e, a ; Сдвигаем C mov a, c ani 7Fh rlc mov c, a tapeRead_1: ; Получаем состояние lda IO_KEYB_B ; Если нажата клавиша, выходим cpi 80h jc tapeReadError ; Ждем изменения сигнала ani 1 cmp e jz tapeRead_1 ; Сохраняем бит ora c mov c, a ; Задержка call readDelay lda IO_KEYB_B ani 1 mov e, a ; Если происходит загрузка данных, переходим на tapeRead_4 mov a, d ora a jp tapeRead_4 ; Если происходит ожидание ; Если не найден 0E6h, переходим tapeRead_2 mov a, c cpi 0E6h jnz tapeRead_2 ; Начинаем загрузку без инверсии xra a sta v_tapeInverse jmp tapeRead_3 tapeRead_2: ; Если не найден 19h, переходим на tapeRead_0 cpi 19h jnz tapeRead_0 ; Начинаем загрузку с инверсией mvi a, 0FFh sta v_tapeInverse ; Загружаем 8 бит tapeRead_3: mvi d, 9 ; Повторяем 8 байт tapeRead_4: dcr d jnz tapeRead_0 ; Инверсия байта lda v_tapeInverse xra c ; Восстаналиваем регистры pop d pop b retКак-то так. |
Author: | orest [ 17 Dec 2013, 20:06 ] |
Post subject: | Re: Листинг стандартного ПЗУ |
Quote:
Как-то так.
сам я вряд ли сходу осилю сию задачу - все-таки 150 страниц кода (и ето только ПЗУ)...Да и знаний маловато пока. |
Author: | liberation [ 18 Dec 2013, 08:38 ] |
Post subject: | Re: Листинг стандартного ПЗУ |
Quote: сам я вряд ли сходу осилю сию задачу - все-таки 150 страниц кода (и ето только ПЗУ)...
Да, задача масштабная. И еще непонятно, насколько целесообразная.Лучше напишите какую-нибудь игруху. Это точно будет дело! |
Author: | orest [ 18 Dec 2013, 13:06 ] |
Post subject: | Re: Листинг стандартного ПЗУ |
Quote: Да, задача масштабная. И еще непонятно, насколько целесообразная.
К правительству лететь - гравицапу надо иметь. В смьісле LvivOS как писать-то, без комментированного кода? Лучше напишите какую-нибудь игруху. Это точно будет дело! Игру, пожалуй, замутю. Только вот времени чей-то маловато. Есть, вроде, но маловато. "Львов" требует приличньіх мощностей на єто дело интелектуальньіх. А голова одна. |
Author: | liberation [ 27 Mar 2014, 08:08 ] |
Post subject: | Re: Листинг стандартного ПЗУ |
Quote: Исходя из етого планируется сделать более функциональную версию, согласно вьішеутвержденному плану.
Пробовал работать с докой, сразу же нашел багу (процедура по адресу 0xDD94 - сумбур вместо музыки). Похоже, доку надо еще вычитать хотя бы по основным процедурам (мануал), а то отличные дизассемблеры всякие бывают. Как там раньше говорили: "советское - значит отличное". Судя по всему, тут именно тот случай.
Пожелания приветствуются. |
Author: | orest [ 27 Mar 2014, 12:55 ] |
Post subject: | Re: Листинг стандартного ПЗУ |
нє, асемблер тут ні до чого, думаю. Або дамп кривий, або так і було задумано, бо більшість точок співпадає, вроді. Я брав класичну версію, з якогось емулятора. З моїм екземпляром, злитим з власного "Львова" - суттєві розбіжності, в кращий бік. |
Author: | liberation [ 27 Mar 2014, 20:51 ] |
Post subject: | Re: Листинг стандартного ПЗУ |
Quote: нє, асемблер тут ні до чого, думаю. Або дамп кривий, або так і було задумано, бо більшість точок співпадає, вроді.
Смотрите, с дампом все в порядке, проблема в том, что не сделано разделение данных и кода (как я понимаю, в ПЗУ "Львова" такое явление не редкость).
Я брав класичну версію, з якогось емулятора. З моїм екземпляром, злитим з власного "Львова" - суттєві розбіжності, в кращий бік. Code: $DD92: LDA $3E00 ;$3A $00 $3E|58 0 62 |: > |56722 $DD95: RNC ;$D0 |208 | |56725 $DD96: STA $BE87 ;$32 $87 $BE|50 135 190 |2 |56726 $DD99: CALL $E443 ;$CD $43 $E4|205 67 228 | C |56729Если смотреть сырой код, то видно, что процедура в полном порядке: 0xDD94: 0x3E, 0xD0 и далее по тексту, а вот если листинг... Такая вот тонкость. Нисколько не умаляю значимость Вашей работы, но нужна доработка. Про Ваш дамп. А чем он отличается? Почему он лучше? Может, стоит выложить его в соседней теме "Прошивки ПЗУ ПК-01 "Львов""? Вдруг кому-то пригодится. |
Page 1 of 2 | All times are UTC+03:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |