Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Эмуляторы отечественных компьютеров (http://zx-pk.ru/forumdisplay.php?f=61)
-   -   Пожелания и планы по эмулятору Башкирия-2М (http://zx-pk.ru/showthread.php?t=8373)

Error404 17th November 2008 22:16

Небольшое пожелание: не задавать CHS образа диска настройкой в конфиге, а автоматически вычислять из размера образа диска. Очень неудобно: у меня много образов HDD разного размера и при переключении каждый раз приходится вооружаться калькулятором. А если не поправить, то с диска читается странное.

b2m 17th November 2008 22:49

Quote:

Originally Posted by Error404 (Post 165084)
автоматически вычислять из размера образа диска

Формулы не подскажешь? :) Как минимум нужно знать количество секторов на дорожке и количество головок, а количество дорожек, так и быть рассчитаю. Собственно, контроль количества дорожек можно и отключить, задав столько дорожек, сколько душе угодно.

Error404 17th November 2008 23:35

Quote:

Originally Posted by b2m (Post 165103)
Формулы не подскажешь? :) Как минимум нужно знать количество секторов на дорожке и количество головок, а количество дорожек, так и быть рассчитаю. Собственно, контроль количества дорожек можно и отключить, задав столько дорожек, сколько душе угодно.

16 головок, 63 сектора, дорожек <размер_файла/(512*головок*секторов)>+1

Где-то примерно так. Ну, можно еще количество секторов попробовать вычислять из кратности размеру файла.

b2m 17th November 2008 23:37

Quote:

Originally Posted by Error404 (Post 165134)
16 головок, 63 сектора

Но ведь это не всегда так? У меня образ hdd с твоего сайта - 16 секторов.

Error404 18th November 2008 01:38

Quote:

Originally Posted by b2m (Post 165136)
Но ведь это не всегда так? У меня образ hdd с твоего сайта - 16 секторов.

У меня число "секторов" при открытии файла подбирается в цикле чтобы максимально точно попасть в размер файла - это число секторов и возвращется через Identify. Я не уверен, что это правильно (проверить не чем, все мои софтины используют только LBA-адресацию и соотвественно честный LBA-размер винта, равный реальному с кратностью в 512 байт). Для того файла, о котором идет речь, число секторов, видимо, вычисляется эмулятором как 16 (реально был взят первый попавшийся более-менее понравившийся по размеру файл с "С:\", подключен как образ и fdisk-oм разбит на партиции/отформатирован).
По крайней мере современные LBA-винты для "эмуляции" геометрии CHS используют формулу C*16*63

b2m 18th November 2008 12:36

Если используется только LBA, то можно установить CHS по максимуму - это снимет все ограничения на позиционирование головки, а при адресации в режиме LBA параметры CHS не используются.

Добавлено через 3 минуты
Кстати, в таком случае, можно вообще убрать эту строку с геометрией, по умолчанию у меня используется 1024C255H63S, что соответвует файлу более 8Гб. По-моему достаточно :)

Добавлено через 7 минут
А геометрию я добавил не для Ориона, там и без неё всё работало. А вот на Векторе используется CHS адресация.

Error404 9th December 2008 18:32

Quote:

Originally Posted by b2m (Post 165197)
Если используется только LBA, то можно установить CHS по максимуму - это снимет все ограничения на позиционирование головки, а при адресации в режиме LBA параметры CHS не используются.

Добавлено через 3 минуты
Кстати, в таком случае, можно вообще убрать эту строку с геометрией, по умолчанию у меня используется 1024C255H63S, что соответвует файлу более 8Гб. По-моему достаточно :)

Можешь помочь? Нужно слепить конфиг для Ориона: чтобы был CPU ВМ80, IDE по схеме на ВВ55 на порту 0F600h, ROM-DISK (обычный авторский - с Ordos) на порту 0F500h, клавиатура PK86.

Хочу попробовать поизвращаться - попрограммировать для ВМ80. :)

b2m 9th December 2008 19:40

Возьми за основу стандартный Orion-128.cfg, добавь в конце
Code:

app2 : K580ww55 {
}

hdd : cf-ide {
  drive[0].image="Orion\dos-hdd.ohi"
  addr=app2.portA[0-2]
  cs0=app2.portA[3]
  cs1=app2.portA[4]
  iowr=app2.portA[5]
  iord=app2.portA[6]
  msb=app2.portB
  lsb=app2.portC
}

А после строчек
Code:

  map[ ][F500-F5FF]=app1.data
добавь
Code:

  map[ ][F600-F6FF]=app2.data

ivagor 29th December 2008 19:54

После долгого перерыва воспользовался отладчиком b2m, возник вопрос:
Quote:

Originally Posted by b2m (Post 159293)
Исправил ошибки в отладчике.

Какие ошибки имелись в виду? Две довольно неприятные (для меня в конфиге вектора c z80, c кр580 раньше тоже было, сейчас не проверял) - 1) "чудеса" с отображением мнемоник команд при включенном обращении стеком к КД и выполнении команды pop, 2) "залипание навечно" клавиши, если обработка ее нажатия протрассирована под отладчиком (формулировка может не на 100% верная но близко к тому).

b2m 30th December 2008 01:27

Насчёт "залипания навечно" я почти на 100% уверен - не может быть такого. Нажатие клавиши не может быть обработано при трассировке, т.к. сообщения о нажатии/отпускании обрабатываются отладчиком, а не эмулятором. Другое дело, когда клавишу мы нажали при нормальном выполнении, а потом сработала точка останова - тогда отпускание обработается отладчиком, и клавиша останется нажатой. В таком случае нужно лишь нажать и отпустить эту клавишу ещё раз при нормальном исполнении.

А про чудеса: в конфигурации с кр580 точно быть не должно, а с z80 вроде я ещё не исправил.


All times are GMT +4. The time now is 02:57.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.