Завтра скажу ;) Винчестер и блок питания 5/12в на работе.
Да, я правильно понял. И даже правильно сделал. Но допустил косяк в управлении страницей "2". Ведь это в ней работает загрузчик с винчестера?
Вид для печати
Поэтому я пользую ноутбучные. Там только +5.
Считая с 0?
Если считая с 0, то загрузчик CPM, тест ОЗУ, ядро CPM (BDOS и BIOS), анализатор стартапных файлов (типа config.sys), загрузчик драйвера консоли - все они работают в странице 1.
В странице 2 (третьей по счету) работают CCP (console commands processor) и стандартные приложения CPM - там TPA (transient program area). Т.е. там что-то работает уже после того, как всё запустилось.
почему-то не работает программа AVI. раньше работала.
Ищу глюки дальше.
Что-то вылечилось, да видать не всё. Стартует с винта как и прежде, до вывода партиций. Только теперь после нажатия Ентер читается винт секундочку, ждем секунд 10, и раздается непрерывный звуковой сигнал, а на экране возникает ндпись "error".
Буду мудрить дальше в выходные.
В меню партиций были обе надписи именно "ALTAIR-GAMES-ZX", "ALTAIR-GAMES-OLD"?
Или что-то другое (типа мусор)?
Печатается только "ERROR" и пищит? Если это так с точностью до буквы, то это в BOOT-sectore при загрузке одного из секторов произошла физическая ошибка (т.е. привод в ходе чтения или позиционирования вернул ошибку), другого такого сочетания не должно быть.
Т.е. или диск кривой, или в алгоритме что-то надо подбирать (и не понятно что - там все задержки и длительности импульсов должны быть с запасом).
Естественно, если глюки в эмуляции адресации ОЗУ, то при выполнении кода может быть что угодно, не обязательно старый дохлый винт.
Это всё чисто/чётко/красиво :)
Почему тогда пищит не при чтении винта непосредственно, а спустя десяток секунд по окончании чтения?
Ладно, буду рисовать на бумажке всю раскладку памяти во всех режимах и перепроверять с прошивкой.
До сих пор не проверял fullram как следует. Exolon чтоли для этого использовать?
Это тайна, покрытая мраком. :)
Не исключено, что если код срубается из-за памяти, то и в подпрограмму вывода на экран "ERROR" и пищания оно проваливается случайно.
Когда буду во Владимире (это не раньше чем через пару недель), попробую прикрутить к реалу HDD вместо CompactFlash (сейчас у меня работает c CF). Кстати, а у тебя провод от ВВ55 к HDD длинный?
Памятка (обобщая все о чем уже говорили):
Код:
FFFF|=================|
|`````````````````|
|``ROM-BIOS area``|
F800|`````````````````|
|``````Ports``````|
F400|`````````````````|
| некоммутируемое |
| портом "F9" ОЗУ |<------------------ !!! Но при FB/d5=1 эта область
F000|-----------------|<-----\ перестает быть некоммутируемой
| Segment 3 | | и тогда порт "F9" действует на
| | | все адресное пространство 64 К
C000|=================| |
| | | Эта область переключается портом "F9"
| Segment 2 | | То есть при FB/d7=FB/d5=0 область уп-
| | |----- равляемая портом "F9" не включает 16К
8000|=================| | памяти, входящие в Segment 0 и таким
| | | образом порт F9 управляет окном в 48К
| Segment 1 | | Но при FB/d7=1 порт F9 коммутирует на
| | | все адресное пространство в 60 Кбайт
4000|=================|<-----/
| | Segment 0 соответствует окну диспетчера Z80CARD-2
| Segment 0 | При включенном диспетчере номер блока памяти дос-
| | тупного в этом сегменте, определяется портом FBh.
0000|=================|