Нет доступа к памяти с000:0

  • Автор темы Guest_alexLAN_*
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest_alexLAN_*

#1
В Borland C++ 3.11 нет доступа к памяти с000:0. Есть способ прочитать инфу оттуда???
 

grigsoft

Well-known member
15.11.2005
735
0
#2
А речь о какой системе идет? А то я в номерах ВС как-то не силен.
В NT-based первые 65К закрыты для чтения совсем. Может в кольце 0 и можно туда сунуться, и то вряд-ли.
 
A

alexLAN

#3
Система - ХР. Значит прочитать не получится. А как тогда привязаться к конкретному компьютеру с целью создания простейшей защиты от копирования?
 
A

alexLAN

#4
Причём компилятор ВС.ЕХЕ (для MS-DOS) создаёт код, который читает первые 64к памяти, а компилятор BCW.EXE не даёт читать.
 

grigsoft

Well-known member
15.11.2005
735
0
#5
Так дос компилятор дает дос приложение, для которого эмулируется свое окружение - он, конечно, может все читать. А как, собственно, планировалась работать привязка к памяти? Вы же не собираетесь там найти таблицу прерываний??
Привязка к машине - через номер, объем и конфигурацию винта, процессора, материнки, сетевой карты и прочее. Код искать на rsdn - там это эпизодически обсуждается. Сам, правда, никогда не интересовался, так что точнее не подскажу
 
A

alexLAN

#6
grigsoft. C000:0 - это начало BIOSa видеокарты. Вот и хотел эту инфу использовать.
 

grigsoft

Well-known member
15.11.2005
735
0
#9
да, забавно. Надо думать, это Posix - совместимость B) Поиск videocard bios 0xc0000 дает исключительно *nix ссылки, где это упоминается.
В любом случае, 0хС0000 - это за границей 64К блока, так что она должна быть полностью доступна для чтения. Однако все мои попытки ее прочитать, даже используя VirtualAlloc\VirtualProtect, ни к чему не провели. Надо рихтера перечитать :)
 
G

Guest

#11
Может не по теме, но у меня проблемка с builder 6 -ым.
Выдает ошибку not found file: COW32.obj
 
Статус
Закрыто для дальнейших ответов.