|
|
Line 20: |
Line 20: |
| |} | | |} |
| == Последние новости == | | == Последние новости == |
| + | === [[User:Nzeemin|NZeemin]] 08:18, 27 March 2007 (EDT) === |
| | | |
− | === [[User:Nzeemin|NZeemin]] 13:57, 23 March 2007 (EDT) ===
| + | Феликс провел перетряску кода процессора, в результате чего мы сегодня имеем работающий Бейсик Вильнюс!<br/> |
− | Если вставить в эмулятор НЕзагрузочный диск (а вставить его можно командой Emulator|Floppy0) и выбрать в начальном меню пункт <code>1 - диск</code>, то спустя несколько секунд мы увидим вот такую картинку:
| + | Мой скромный вклад состоит в программировании обращений к кассете ПЗУ и исправлении нескольких багов… |
| | | |
− | [[Image:UKNC-NoBootOnVolume.png]] | + | [[Image:UkncBTL-20070327.png]] |
| | | |
− | Это всё уже достижения Феликса, моих знаний для отладки таких чудес давно уже не хватает.
| + | Спасибо Alex_K за консультации и код. Спасибо Арсению за время и силы, потраченные на получение дампа кассеты ПЗУ. |
− | Зато я делал для него отладчик :)
| |
− | Но об отладчике — в другой раз, вернёмся к надписи на экране. По крайней мере, я могу объяснить вам откуда она взялась.
| |
| | | |
− | С диска был запрошен на чтение сектор 1 дорожки 0. Эти данные прочитались в память ЦПУ с адреса 000000 и выглядят они вот так:
| + | P.S. Если кто интересуется процессом загрузки из картриджа ПЗУ — дизасм тут: [[Uknc ROM Basic boot]]. |
− | 000000 000240 000005 000404 000000 000000 041420 116020 000400 =··········C·°··
| |
− | 000020 004067 000044 000015 000000 005000 041077 047517 026524 7·$·······?BOOT-
| |
− | 000040 026525 067516 061040 067557 020164 067157 073040 066157 U-No boot on vol
| |
− | 000060 066565 006545 005012 000200 105737 177564 100375 112037 ume···-·ъ-tЪЩ-·¦
| |
− | 000100 177566 100372 000777 000000 000000 000000 000000 000000 vЪЗ-Ъ···········
| |
− | 000120 000000 000000 000000 000000 000000 000000 000000 000000 ················
| |
− | 000140 000000 000000 000000 000000 000000 000000 000000 000000 ················
| |
− | 000160 000000 000000 000000 000000 000000 000000 000000 000000 ················
| |
− | Этому соответствует вот такой код:
| |
− | 000020 004067 JSR R0, 000070
| |
− | 000022 000044
| |
− | ---
| |
− | 000024 ; Тут собственно последовательность байт для передачи на терминал
| |
− | ---
| |
− | 000070 105737 TSTB @#177564 ; Проверяем слово состояния терминала
| |
− | 000072 177564
| |
− | 000074 100375 BPL 000070 ; Терминал готов принять очередной символ?
| |
− | 000076 112037 MOVB (R0)+, @#177566 ; Отправляем символ на терминал
| |
− | 000100 177566
| |
− | 000102 100372 BPL 000070 ; Появился не-символ - значит все выдали
| |
− | 000104 000777 BR 000104 ; Зацикливание
| |
− | При переходе на адрес 000070, в регистр R0 попадает значение 000024, по которому находится серия символов для терминала. После конца последовательности находится НЕ-символ, отличающийся наличием верхнего бита, и этот НЕ-символ по совместительству является командой по адресу 000070.
| |
− | | |
− | P.S. Кстати, приведённый здесь дамп и код — это copy/paste из консоли нашего отладчика. Ну, кроме комментариев, конечно… | |
| | | |
| | | |
| ---- | | ---- |
− | Эта страница будет пополняться по мере разработки эмулятора. | + | Эта страница будет обновляться по мере разработки эмулятора. |
Добро пожаловать на страницу эмулятора УКНЦ -- UKNC Back to Life !
Последние новости
NZeemin 08:18, 27 March 2007 (EDT)
Феликс провел перетряску кода процессора, в результате чего мы сегодня имеем работающий Бейсик Вильнюс!
Мой скромный вклад состоит в программировании обращений к кассете ПЗУ и исправлении нескольких багов…
Error creating thumbnail: Unable to save thumbnail to destination
Спасибо Alex_K за консультации и код. Спасибо Арсению за время и силы, потраченные на получение дампа кассеты ПЗУ.
P.S. Если кто интересуется процессом загрузки из картриджа ПЗУ — дизасм тут: Uknc ROM Basic boot.
Эта страница будет обновляться по мере разработки эмулятора.