Vic3Dexe wrote:По теме - что значит "между вызовами биос"? Т.е. в самом коде доса? Как определяли? В общем, если можно, поподробнее, мне предстоит примерно то же самое (процы ко мне уже приехали, жду ссыклон, плату и пр. от китайцев).
Да никакого особого метода тут не было... Просто вначале было просто - ДОС вызывает какую-то функцию BIOS'а, которая у меня не сделана или недоделана, я это вижу, а также вижу, что сразу после этого все зависает. Это является хорошим поводом внимательнее взглянуть на эту функцию BIOS.
А тут вдруг стало виснуть после вызова самой невинной функции, причем не сразу, а сначала поработав диском (т.е. SD-картой). Решилось, как у меня часто бывает, просто обдумыванием, в процессе которого вспомнил, что ранее добавил определение объема оперативной памяти (ранее эту цифру просто жестко в BIOS'е прошивал).
Определение у меня было примитивным - записал байт, прочитал и сравнил. Так вот, оказалось, что если записать байт и быстро его обратно прочитать, то он там в глубинах FPGA сохраняется (при отсутствии нормальной памяти в данном участке адресного пространства) !!! Естественно, мой тест решал, что памяти много, и выставлял соответствующую цифру в области данных BIOS, которой потом пользовался ДОС (естественно, косвенно - через соответствующую функцию BIOS). Но вот ДОС пользоваться межбитным пространством для хранения данных не умел

, поэтому подвисал...
В процессе наведения порядка не удержался и сделал несколько новых вещей, из которых самая эффектная:
Пока еще есть мусор на экране (как всегда, проблема лишней или недостающей точки), да и регистры палитры отсутствуют, но с такими картинками уже приятнее работать
Кстати, при работе над графическим режимом потерял час времени, пытаясь запихнуть 8192 в 13 бит

- все не мог понять, почему адрес получается совершенно не тем, каким должен быть...