PC-01 Lviv
http://pc01.lviv.ua/forum/

Листинг стандартного ПЗУ
http://pc01.lviv.ua/forum/viewtopic.php?f=22&t=190
Page 2 of 2

Author:  orest [ 27 Mar 2014, 21:38 ]
Post subject:  Re: Листинг стандартного ПЗУ

Quote:
$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
[/code]
Если смотреть сырой код, то видно, что процедура в полном порядке: 0xDD94: 0x3E, 0xD0 и далее по тексту, а вот если листинг... Такая вот тонкость. Нисколько не умаляю значимость Вашей работы, но нужна доработка.

Про Ваш дамп. А чем он отличается? Почему он лучше? Может, стоит выложить его в соседней теме "Прошивки ПЗУ ПК-01 "Львов""? Вдруг кому-то пригодится. :)
нє, мій дамп гірший, через те взяв класику. А порівняти детально можна буде, коли я порядок наведу в себе. Бо їх дві версії з двох різних компів, відрізняються кінцівкою, один загубив десь пару байт, до того ж. І чекати, очевидно, треба буде довго ще, бо я не любитель поспішати в справах, які роблю для власного задоволення. Ви в курсі :)

З кодом воно, звичайно, мдя :( Яка-то хвігня на цьому відрізку. Я, помніцця, провіряв з десяток-другий точок - все співпадало. Мо глюк який, дійсно, або не той "класичний" дамп взяв в роботу. До речі, варто було б визначитися з "кошерним", тсзать, варіантом і викласти десь спецтемі, щоб не плутатися.

Одним словом, для орієнтування цей мануал на 212 сторінок підходить, загалом. А для роботи кожен хай вже викручується, як вміє. Тим більше, що середовища розробки під ПК-01 поки нема нормального, наскільки розумію. Такого, щоб не вилітало в астрал після 10 рядків коду. Без претензій, просто констатую.

Author:  liberation [ 28 Mar 2014, 04:10 ]
Post subject:  Re: Листинг стандартного ПЗУ

Quote:
До речі, варто було б визначитися з "кошерним", тсзать, варіантом і викласти десь спецтемі, щоб не плутатися.
С этим легче определиться. В соседней теме "Прошивки ПЗУ ПК-01 "Львов"" выложены три варианта штатной ПЗУ, которые задействованы в большинстве известных эмуляторов. Там же подана их история. Как я понимаю, классический ROM01 задействован в эмуляторе Калашникова, a99 и MESS. Скорее всего он же используется и в он-лайн эмуляторе Zelya, откуда он наверняка перекочевал в эмулятора MARAT_BEST и производные от него. Еще есть эмулятор для Dingoo A320, про тот дамп трудно что-либо сказать, одно точно известно: он рабочий. С Emulator 3000 тоже затруднение, но поскольку на сайте разработчика присутствует благодарность Антону (a99) за помощь, то скорее всего это все тот же классический ROM01 Калашникова. Вроде бы так.
Quote:
Тим більше, що середовища розробки під ПК-01 поки нема нормального, наскільки розумію. Такого, щоб не вилітало в астрал після 10 рядків коду. Без претензій, просто констатую.
Это больной вопрос. Скорее всего тут никакой надежды нет...

Author:  orest [ 28 Mar 2014, 14:07 ]
Post subject:  Re: Листинг стандартного ПЗУ

Ахтунґ! Ахтунґ!

Коротше, провірив я всі три варіанти - ні один не співпадає з вихідним повністю. Отож, це я у всьому винен, вибачайте. Замість класики взяв таки коректований вручну варіант зі свого "львова". А в ньому, як вже було сказано, є деякі "пробіли" і відмінності, особливо в кінці.

Сьогодні сяду - перепишу файло заново, з вашими рекомендаціями з варіанту №1
А поки що прошу вважати вищенаведений пдф ознайомлювальним. Пардон, пардон, кгріцца.

Рекомендації?

Author:  liberation [ 28 Mar 2014, 19:43 ]
Post subject:  Re: Листинг стандартного ПЗУ

Quote:
Отож, це я у всьому винен, вибачайте.
Не преувеличивайте!
Quote:
Рекомендації?
Только что пришла идея, как можно организовать справочный материал по ПЗУ. ПЗУ ведь чем хорошо? Тем что неизменно. Можно получить листинг, на основе которого забацать html страничку, где все переходы-вызовы сделать гиперссылками (в принципе, то же самое можно сделать и с pdf, поддержка гиперссылок там есть). Работать станет в разы удобнее. К примеру, я открыл такую страничку, через поиск вбил нужный адрес (пусть будет каноничный 0xDD94), мне браузер прокрутил листинг к нужному месту, я начал вникать в процедуру. Вижу - вызов непонятной процедуры. Что делать? Смело щелкаю на вызове, перехожу на ее начало. Смотрю, ничего не понимаю, нажимаю переход назад, продолжаю вникать как-будто ничего не случилось.

Author:  orest [ 28 Mar 2014, 20:45 ]
Post subject:  Re: Листинг стандартного ПЗУ

Quote:
Только что пришла идея, как можно организовать справочный материал по ПЗУ. ПЗУ ведь чем хорошо? Тем что неизменно. Можно получить листинг, на основе которого забацать html страничку, где все переходы-вызовы сделать гиперссылками (в принципе, то же самое можно сделать и с pdf, поддержка гиперссылок там есть). Работать станет в разы удобнее. К примеру, я открыл такую страничку, через поиск вбил нужный адрес (пусть будет каноничный 0xDD94), мне браузер прокрутил листинг к нужному месту, я начал вникать в процедуру. Вижу - вызов непонятной процедуры. Что делать? Смело щелкаю на вызове, перехожу на ее начало. Смотрю, ничего не понимаю, нажимаю переход назад, продолжаю вникать как-будто ничего не случилось.
О, толкова ідея! Сам про щось таке думав, бо просто й зручно, але якось транзитом мисля проскочила, не встиг зафіксувати.

Короч, тут два варіанти: 1) накидати якорів (anchors) по всьому тексту, але одним файлом і скакати туди-сюди по них, а поряд зправа - закоментувати, або
2) розбити на енну кількість сторінок і зробити те ж. Другий варіант може визвати плутанину, думаю.

Є й інші, як-то розгорнути вікі, на флеш, чи взагалі утиліту під то діло забацати, але всі ці варіанти вимагають прив’язки, або розгортання платформи відповідної. Затратно. Мо колись :)

п.с. блін, якби ви знали, як в лом переробляти. А шо дєлать..

Author:  orest [ 28 Mar 2014, 23:11 ]
Post subject:  Re: Листинг стандартного ПЗУ

Тут ось яка штука....
Дизасемблював я rom-01 - результат ідентичний. Тобто, не я був винен )
Глянув в оригінал - є DD94. Дай, думаю в E3000 провірю..

Так от, зразу після запуску дебаґер E3000 видає коректну версію DD94: 3E D0 і т.д. А далі містика. Підводиш курсор до DD94 - воно пропадає, натомість з’являється варіант старий, наша html версія: DD92, DD95 і т.п. Що це за хрінь - мені невідомо, за відсутністю досвіду. Які будуть варіанти?

Author:  liberation [ 29 Mar 2014, 00:30 ]
Post subject:  Re: Листинг стандартного ПЗУ

Quote:
1) накидати якорів (anchors) по всьому тексту, але одним файлом і скакати туди-сюди по них, а поряд зправа - закоментувати <...>
Чем проще, тем лучше. И надежнее. Поэтому поддерживаю однофайловый вариант. :)
Quote:
Так от, зразу після запуску дебаґер E3000 видає коректну версію DD94: 3E D0 і т.д. А далі містика. Підводиш курсор до DD94 - воно пропадає, натомість з’являється варіант старий, наша html версія: DD92, DD95 і т.п. Що це за хрінь - мені невідомо, за відсутністю досвіду. Які будуть варіанти?
Ох, в жизни и без этого хрени хватает... Бага? Надо будет посмотреть. Могу предположить, что эмуль модифицирует содержимое ПЗУ в некоторых ключевых точках, чтобы после отлавливать обращение к ним. Типа такого: если содержимое ячейки памяти 0xFF (или еще какой-нибудь редко используемый байт-код), то давайте-ка запустим дополнительную проверку по адресу, чтобы точно определить, чего хозяин хочет сделать. Процедура по 0xDD94 хорошо в эту гипотезу вписывается, поскольку отвечает за чтение с магнитофона. Конечно, можно было бы сразу сделать проверку по адресам для ключевых точек, но если таких адресов много, то это лишние тормоза. Хотя... Мож, все-таки банальная бага. Тот же звук Emul-3000 непонятно как эмулит, почему бы тогда и при работе с памятью не допускать баги?

Author:  orest [ 29 Mar 2014, 00:45 ]
Post subject:  Re: Листинг стандартного ПЗУ

Quote:
Бага?
Мені скорше фічу нагадує )
Чому? Тому що і Е3000 після зміни даних і дизасемблер вищезгадуваного в темі автора видає однаковий лістинг на гора. Сенсу не бачу ніякого в такій поведінці. Мо це щось з незадокументованими інструкціями процесора пов’язано... Тєряюсь, вопшім. Треба б сюди авторів прикликати, але вони еех, скоро по ту сторону фронту будуть :-)

Page 2 of 2 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/