Difference between revisions of "Uknc"

From Felixl.com
Jump to navigationJump to search
(Последние новости)
Line 20: Line 20:
 
|}
 
|}
 
== Последние новости ==
 
== Последние новости ==
=== [[User:Felix|Felix]] 01:10, 23 March 2007 (EDT): ===
 
  
А мы в загрузчике RT11 :) -- ему пока, правда, что-то не живется, но тем-не менее.... Уфф -- ну и намучался я с контроллером дисковёрта...
+
=== [[User:Nzeemin|NZeemin]] 13:57, 23 March 2007 (EDT) ===
 +
Если вставить в эмулятор НЕзагрузочный диск (а вставить его можно командой Emulator|Floppy0) и выбрать в начальном меню пункт <code>1 - диск</code>, то спустя несколько секунд мы увидим вот такую картинку:
  
[[Image:Uknc rt11 first.png]]
+
[[Image:UKNC-NoBootOnVolume.png]]
  
=== [[User:Felix|Felix]] 22:52, 20 March 2007 (EDT): ===
+
Это всё уже достижения Феликса, моих знаний для отладки таких чудес давно уже не хватает.
 +
Зато я делал для него отладчик :)
 +
Но об отладчике — в другой раз, вернёмся к надписи на экране. По крайней мере, я могу объяснить вам откуда она взялась.
  
Ну вот мы и подошли к плотной работе с внешними устройствами -- ибо внутренние, согласно комплексному самотесту -- уже в порядке (не забудте -- что там тестируется все -- даже математика процессора)...  
+
С диска был запрошен на чтение сектор 1 дорожки 0. Эти данные прочитались в память ЦПУ с адреса 000000 и выглядят они вот так:
 +
  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 из консоли нашего отладчика. Ну, кроме комментариев, конечно…
  
P.S. Оказывается эмулятор лучше чем настоящее железо -- у меня на машине -- на 3м проходе уже ошибки памяти появлялись
 
 
[[Image:Uknc test1.png]]
 
 
=== [[User:Nzeemin|NZeemin]] 16:00, 20 March 2007 (EDT): ===
 
 
Сделал в меню команду сохранения скриншота, так что уже без лишних рамочек:
 
 
[[Image:UkncBTL-07.png]]
 
 
За кадром остаётся огромное количество работы, которую проделывает Феликс для того, чтобы вся эта радость заработала как надо…
 
  
 
----
 
----
 
Эта страница будет пополняться по мере разработки эмулятора.
 
Эта страница будет пополняться по мере разработки эмулятора.

Revision as of 10:57, 23 March 2007

Добро пожаловать на страницу эмулятора УКНЦ -- UKNC Back to Life !

Эмулятор

Форум - Заметки по УКНЦ - Авторы

  
УКНЦ

Листинги ПЗУ - Вся информация по УКНЦ  

Последние новости

NZeemin 13:57, 23 March 2007 (EDT)

Если вставить в эмулятор НЕзагрузочный диск (а вставить его можно командой Emulator|Floppy0) и выбрать в начальном меню пункт 1 - диск, то спустя несколько секунд мы увидим вот такую картинку:

Error creating thumbnail: Unable to save thumbnail to destination

Это всё уже достижения Феликса, моих знаний для отладки таких чудес давно уже не хватает. Зато я делал для него отладчик :) Но об отладчике — в другой раз, вернёмся к надписи на экране. По крайней мере, я могу объяснить вам откуда она взялась.

С диска был запрошен на чтение сектор 1 дорожки 0. Эти данные прочитались в память ЦПУ с адреса 000000 и выглядят они вот так:

 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 из консоли нашего отладчика. Ну, кроме комментариев, конечно…



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