Difference between revisions of "Uknc"

From Felixl.com
Jump to navigationJump to search
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 из консоли нашего отладчика. Ну, кроме комментариев, конечно…
 
  
  
 
----
 
----
−
Эта страница будет пополняться по мере разработки эмулятора.
+
Эта страница будет обновляться по мере разработки эмулятора.

Revision as of 06:18, 27 March 2007

Добро пожаловать на страницу эмулятора УКНЦ -- 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.



Эта страница будет обновляться по мере разработки эмулятора.