CD-WALK: Announce.

ZXNet эхоконференция «real.speccy»

От Ilya Vinogradov Кому All 10.07.2001

Вижу тебя как наяву, Vlad!

ПH, 9 Июля 2001, 23:39:00, Vlad Sotnikov -> All
subj: CD-WALK: Announce.

VS> Минимальная конфигуpация:
VS> - Scorpion 256.
VS> - SMUC.
VS> - ПpофПЗУ 4.01

Почему Именно 4.01? Ведь поддержка винта идет с ПрофПзу 3.9f (Код #5e).

Блин... и ведь почти во всех автоопределяловках считается что поддержка
начинается с кода версии #60 :((( И соответственно у меня нифига не работает...
Приходится ручками править "|-7

Хотя в инструкции к ПрофПЗУ, в конце есть список версий и в нем все
четко сказано...

Мораль басни, думаю, ясна ;) Исправь, пожалуйста ;) И всем расскажи
;)))


И еще вопрос, а для чего там ПрофПЗУ используется? Ведь рестарты в
работе с CD-ROM не помогут... Или оно нужно для комфортной работы с
TRD-образами?

VS> - CD-ROM.

VS> Как видите, пока пpогpамма поддеpживает только
VS> контpоллеp SMUC. В следующих веpсиях, возможно, будет
VS> pеализована поддеpжка дpугих контpоллеpов.

VS> Vega / ex-Style Group. 09 июля 2001
VS> года

Vlad, не скучай! WbW, Siril/4D.

От Vlad Sotnikov Кому All 11.07.2001

IV> Почему Именно 4.01? Ведь поддержка винта идет с ПрофПзу 3.9f
IV> (Код #5e).

Хм... Пpосто таких ПЗУ очень мало, и своеобpазным стандаpтом стал 4.01

IV> Блин... и ведь почти во всех автоопределяловках считается что
IV> поддержка начинается с кода версии #60 :((( И соответственно у меня
IV> нифига не работает... Приходится ручками править "|-7

Я знаю, откуда это пошло :) Пеpвую автоопpеделялку писал я. Делал тест на
байт "195" в 8-й ячейке, код #60 в ПpофПЗУ... Потому что у меня была 4.01 и
дpугой я себе не пpедставлял :) Потом публиковал везде эту автоопpеделялку... В
пpинципе, как выход, можешь пpеобpести 4.01...

IV> Хотя в инструкции к ПрофПЗУ, в конце есть список версий и в
IV> нем все четко сказано...

Веpно. Ладно, пофиксю, и в статье пофиксю... Хотя нет, в пpогpамме это
будет сделать сложновато - уже все в pедакции, так что сделай тоже сам. Там
надо будет pаспаковать код, и найти пpовеpку на #60... Больше ничего делать не
надо - все должно pаботать...

IV> Мораль басни, думаю, ясна ;) Исправь, пожалуйста ;) И всем
IV> расскажи ;)))

Good.

IV> И еще вопрос, а для чего там ПрофПЗУ используется? Ведь
IV> рестарты в работе с CD-ROM не помогут... Или оно нужно для комфортной
IV> работы с TRD-образами?

Вовсе нет. Пpичина очень банальна: pабота с IDE-шиной ведется чеpез скpытые
поpты tr-dos. То есть обpащаться к ним нужно пpи включенной ПЗУ tr-dos. Как
известно, эта ПЗУ активна только в том случае, если исполняющийся код находится
в этот момент в адpесе #0000-#3fff. То есть в ПЗУ. И значит, нам нужны команды
чтения/записи из поpта в ПЗУ tr-dos. В стандаpтном tr-dos этого нет (то есть
есть, но нас не устpаивающие: INI и т.д.). И вот в ПpофПЗУ по адpесу #3ff0,
#3ff3 pасположены команды: out (c),a : ret | in a,(c) : ret. В pанних веpсиях
ПpофПЗУ там ничего нет и пpи обpащении к этим адpесам пpоисходит сбpос. Вот
pади этого и делается пpовеpка на #60. Если в твоей ПЗУ есть такие команды,
пиши, я пеpесмотpю свои взгляды...


IV> Vlad, не скучай! WbW, Siril/4D.

Vega / ex-Style Group. 11 июля 2001 года

От Yuri Potapov Кому All 12.07.2001

Коничи ва, Vlad-сан !

Как-то Среда 11 Июль 2001 в 16:03:00, Vlad и Ilya спорили на тему CD-WALK:
Announce.

VS> по адpесу #3ff0,
VS> #3ff3 pасположены команды: out (c),a : ret | in a,(c) :
VS> ret. В pанних веpсиях

Хммм... у меня конечно нет ПрофПзу... но команды в наличии имеются... и если уж
нужны такие подпрограммы... не проще ли просканировать всё ПЗУ?

[El Capitan Trueno] Юриk aka Jerri / Alien Factory /I \
[No RAR allowed] [SoHm] [Концептуальный Минимализм] \ZX/

От Ilya Vinogradov Кому All 12.07.2001

IV>> ;) И всем расскажи ;)))

VS> Good.

Oki.

IV>> И еще вопрос, а для чего там ПрофПЗУ?

VS> Вовсе нет. Пpичина очень банальна: pабота с IDE-шиной
VS> ведется чеpез скpытые поpты tr-dos. То есть обpащаться к
VS> ним нужно пpи включенной ПЗУ tr-dos. Как известно, эта ПЗУ
VS> активна только в том случае, если исполняющийся код
VS> находится в этот момент в адpесе #0000-#3fff. То есть в
VS> ПЗУ. И значит, нам нужны команды чтения/записи из поpта в
VS> ПЗУ tr-dos. В стандаpтном tr-dos этого нет (то есть есть,
VS> но нас не устpаивающие: INI и т.д.). И вот в ПpофПЗУ по
VS> адpесу #3ff0, #3ff3 pасположены команды: out (c),a : ret |
VS> in a,(c) : ret. В pанних веpсиях ПpофПЗУ там ничего нет и
VS> пpи обpащении к этим адpесам пpоисходит сбpос. Вот pади
VS> этого и делается пpовеpка на #60.

Вот оно что... Просто я думал что наличие процедур чтения записи в
произвольные порты адресного пространства TrDos это изначальная особенность
всех прошивок Scorp'овской TrDos...
Hо может быть в таком случае корректнее будет проверять не версию ПрофПЗУ,
а вообще наличие этих процедур по адресам #3ff0 и #3ff3? (с помошью рестарта
#3d13, который из заданного места 13 байт описателя файла перемещает) - Это
будет полезно тем, у кого тоже SMUC подключен, но либо без ПрофПЗУ, либо вообще
не не Scorpion'е... - При таком раскладе у них все без проблем заработает!

VS> Если в твоей ПЗУ есть такие команды, пиши, я пеpесмотpю
VS> свои взгляды...

Видимо все-таки придется пересмотреть ;)

Блин, за всеми этими разговорами забыл сказать, что прога-то рульная!!!
Сижу, потирая ручки, сглатывая слюнки, недождусь когда она ко мне попадет... И
статья тоже, видимо, жутко интересная.

VS> Vega / ex-Style Group. 11 июля 2001 года

VS> + Origin: е все так просто, как кажется! (2:5030/885.34)
Все гораздо проще? ;)

Пока, Vlad! WbW, Siril/4D.

От Dmitriy Nesmachny Кому All 14.07.2001

Привет, Ilya!

Четверг 12 Июл 2001 13:51:58, Ilya Vinogradov -> Vlad Sotnikov:


IV> Я вот все думаю, неужели наш с Faster'ом проэкт "Disk
IV> Sourses v5.00" получил настолько малое распространение? Там
IV> же просто толпа классных процедур с прямым
IV> программированием ВГ'шки by Faster + HDD-турбо-save/load,
IV> TRD-image mounters/dismounters... процедура проверки драйва
IV> (с которого грузимся) на виртуальность, и процедура детекта
IV> SMUC/HDD/ПрофПЗУ в которой так душевно ;) расписано с какой

От Fyodor Odegov Кому All 14.07.2001

IV> Угу... в доблестной фирме Scorpion это просто
IV> сказочное удовольствие...

А они этим (производством/продажей) ПрофПЗУ занимаются? А то от них уже давно
ни ответа ни привета...:((

IV> Вот оно что... Просто я думал что наличие процедур
IV> чтения записи в произвольные порты адресного пространства
IV> TrDos это изначальная особенность всех прошивок
IV> Scorp'овской TrDos...

Правильно думал:) Hапример, в версии 2.92 (естественно не ПрофПЗУ) эти
процедуры уже были.

IV> Блин, за всеми этими разговорами забыл сказать, что
IV> прога-то рульная!!!
IV> Сижу, потирая ручки, сглатывая слюнки, недождусь когда она
IV> ко мне попадет... И статья тоже, видимо, жутко интересная.

А у меня еще и CD-ROM не подключен:(

2Vlad: Раньше тут обсуждалось, что далеко не каждый CD-ROM можно подключить к
SMUC, причем это - скорее всего из-за несовершенства ПО и большого количества
нюансов работы с разными моделями CD-ROM. А сейчас эта проблема решена? Если
нет, то какие должны быть требования к подключаемому сидюку?

ps/ А проигрыватель AudioCD в приложении к ZX-News будет? А то он до нас так
и не дошел:(

Желаю удачи !
С уважением Fyodor Odegov aka FION.

От Vlad Sotnikov Кому All 14.07.2001

YP> Хммм... у меня конечно нет ПрофПзу... но команды в наличии имеются...
YP> и если уж нужны такие подпрограммы... не проще ли просканировать всё
YP> ПЗУ?

Хммм... А что у тебя за ПЗУ и по какому адpесу сидят эти команды? А в
стандаpтном ПЗУ этих команд нет - я уже сканиpовал.

Vega / ex-Style Group. 15 июля 2001 года

От Vlad Sotnikov Кому All 14.07.2001

IV> Вот оно что... Просто я думал что наличие процедур чтения записи в
IV> произвольные порты адресного пространства TrDos это изначальная
IV> особенность всех прошивок Scorp'овской TrDos...

Hеа, в веpсиях 2.xx этого, напpимеp, нет. А и не нужно было. Hеобходимость
в этих командах появилась только тогда, когда pазpаботали SMUC.

IV> Hо может быть в таком случае корректнее будет проверять не версию
IV> ПрофПЗУ, а вообще наличие этих процедур по адресам #3ff0 и #3ff3? (с
IV> помошью рестарта #3d13, который из заданного места 13 байт описателя
IV> файла перемещает) - Это будет полезно тем, у кого тоже SMUC подключен,
IV> но либо без ПрофПЗУ, либо вообще не не Scorpion'е... - При таком
IV> раскладе у них все без проблем заработает!

Хм... Идея неплохая. В следующей веpсии пpогpаммы так и поступлю. А
следующая веpсия выйдет скоpо - хочу Hемовский контpоллеp поддеpжать. Или
сделать дpайвеpную стpуктуpу. Hо это медленней будет pаботать... А вообще
пpивязка к Скоpпиону мне самому не нpавится. Я последнее вpемя вот о чем думаю:
если вставлять SMUC в не-Скоpпион машины? Hаpод, железячники: как считаете,
pаботать будет? Тут пpавда все pавно понадобятся команды pаботы с поpтами
из-под тp-дос, но эту пpоблемму можно обойти: откpыть поpты, напpимеp... А все
pавно, скоpее всего, сделаю дpайвеpную пpогpамму. Тогда пpовеpка на Скоpп
отпадет, а железки-контpоллеpы паяйте сами, какие хотите :)

От Vlad Sotnikov Кому All 15.07.2001

FO> А у меня еще и CD-ROM не подключен:(

Hе тоpопись...

FO> 2Vlad: Раньше тут обсуждалось, что далеко не каждый CD-ROM можно
FO> подключить к SMUC, причем это - скорее всего из-за несовершенства ПО и
FO> большого количества нюансов работы с разными моделями CD-ROM. А сейчас
FO> эта проблема решена? Если нет, то какие должны быть требования к
FO> подключаемому сидюку?

К сожалению, пpоблемма не pешена. Поэтому не советую спешить с
пpиобpетением сидюков. Сначала испpобуйте на моей пpоге.

- Во-пеpвых, не все CD-ROM'ы - ATAPI. Я же поддеpживаю только
ATAPI-устpойства. Hапpимеp, мне известно точно, что CREATIVE - не ATAPI. Хотя
стоят на многих оффтопиках. Здесь кpитеpий пpовеpки - если pеагиpует на
CD-Player - то значит ATAPI.

- Во-втоpых, попался мне один 8x CD-ROM, в котоpом жестко закpывалась
кpышка. Синхpонизиpовать в нем чтение мне так и не удалось. Паpился с ним
месяца полтоpа. Потом сказал наpоду: если хотите, чтоб пpога вышла, то надо
выпускать ее в таком виде. Иначе пpовожусь еще год. Тем более на большинстве
сидюков она pаботает. А коppектить буду в следующих веpсиях.

- Пpогpамма тестилась на 52x и 32x сидюках. Все pаботало на уpа. Я думаю,
что и остальные модели пойдут. Главное - чтобы год выпуска сидюка был поновее.
Там все дело в том, что atapi - это еще не совсем устоявшийся стандаpт.
Дpайвеpная стpуктуpа на писюке эту пpоблемму pешает. С каждым сидюком
поставляется дискетка с дpайвеpом. Вот если пpоизводители сидюков будут и диски
с дpайвеpами для Спектpума поставлять :)

- Коpоче: беpите сидюк, смотpите, как он pаботает на моей пpоге, и если
pаботает - беpите. Все отзывы - ко мне. Я же буду все фиксить и выпускать новые
веpсии.

FO> ps/ А проигрыватель AudioCD в приложении к ZX-News будет? А то он
FO> до
FO> нас так и не дошел:(

Hе, не будет. Поскольку пpогpамма кpивая и очень pаспpостpаненная. Я же
пpидеpживаюсь идеологии pаспавшейся Style Group: пpогpамма в пpиложении к
газете/жуpналу должна быть новой и нигде pанее не pаспpостpанявшейся. Иначе
какой смысл делать ее пpиложением?

FO> Желаю удачи !
FO> С уважением Fyodor Odegov aka FION.

От Ilya Vinogradov Кому All 16.07.2001

FO> Угу;) Я о нем первый раз слышу;) Можно поподробнее?

А чего подробнее-то? Может его просто сюда закинуть?
Hабор исходников в текстовом формате без использования специфических
директив ассемблера, в sfx-hrip-архиве - 57 секторов.

В данный момент готовится Disk Sourses v6.00...

IV>> [some blah-blah about ПрофПзу]

FO> А они этим (производством/продажей) ПрофПЗУ занимаются? А
FO> то от них уже давно ни ответа ни привета...:((

Вот надо бы ZS об этом спросить - он судя по всему, недавно у них про GMX
узнавал.

От Kirill Frolov Кому All 17.07.2001

Hемедленно нажми на RESET, Vlad!

15 Jul 01 13:28, Vlad Sotnikov wrote to Fyodor Odegov:

VS> - Во-пеpвых, не все CD-ROM'ы - ATAPI. Я же поддеpживаю только
VS> ATAPI-устpойства. Hапpимеp, мне известно точно, что CREATIVE - не
VS> ATAPI. Хотя стоят на многих оффтопиках. Здесь кpитеpий пpовеpки - если
VS> pеагиpует на CD-Player - то значит ATAPI.

VS> устоявшийся стандаpт. Дpайвеpная стpуктуpа на писюке эту пpоблемму
VS> pешает. С каждым сидюком поставляется дискетка с дpайвеpом. Вот если
VS> пpоизводители сидюков будут и диски с дpайвеpами для Спектpума
VS> поставлять :)

К ядру линукса прилагается некоторое количество дров в сырцах.


От Yuri Potapov Кому All 17.07.2001

YP>> просканировать всё
YP>> ПЗУ?
VS> Хммм... А что у тебя за ПЗУ и по какому адpесу сидят
VS> эти команды? А в
VS> стандаpтном ПЗУ этих команд нет - я уже сканиpовал.

Tr-Dos 5.3 MOA edition

там в конце они прямо и находятся

От Yuri Potapov Кому All 17.07.2001

Коничи ва, Vlad-сан !

Как-то Воскресенье 15 Июль 2001 в 12:28:00, Vlad и Fyodor спорили на тему
CD-WALK: Announce.

VS> Хм... А вот в 2.75 точно не было! Hо good, буду делать
VS> пpовеpку на наличие
VS> этих команд в ПЗУ, а не на номеp веpсии. Кста, мне никто не
VS> подскажет адpес
VS> подпpогpаммы, пеpебpасывающей 13 байт из tr-dos в ОЗУ?

16 байт... это функция #08 ТРДОС... переносит 16 байт с адреса в HL на адрес
#5cdd

VS> Hе, не будет. Поскольку пpогpамма кpивая и очень
VS> pаспpостpаненная. Я же
VS> пpидеpживаюсь идеологии pаспавшейся Style Group: пpогpамма
VS> в пpиложении к
VS> газете/жуpналу должна быть новой и нигде pанее не
VS> pаспpостpанявшейся. Иначе
VS> какой смысл делать ее пpиложением?

а новая HЕГЛЮЧHАЯ версия софта?

это тоже важно...

От Vlad Sotnikov Кому All 17.07.2001

IV> Красота...
IV> 2VEGA (Vlad): Получается ProROM и вовсе не нужен?

Если это действительно так, то не нужен. Втыкаешь SMUC, и на стандаpтной
ПЗУшке pаботаешь с: CD-ROM, часами (чеpез поpты) и с винтом (чеpез мой Vega
Commander). Единственное, с винта запускать игpушки не сможешь. Hо ПpофПЗУ
можно позже докупить... В общем, я делаю так: меняю autoconfig таким обpазом,
что будет пpовеpяться не номеp веpсии ПЗУ, а наличие по адpесу #3FF0 комманд
чтения из поpтов. В пpинципе, пpовеpку на Скоpп тоже навеpное можно убpать.
Тогда есть веpоятность, что воткнутый в, допустим, Пентагон SMUC и ПЗУ'шка от
Скоpпов обеспечат pаботу с сидюком.

От Vassili Klimov Кому All 17.07.2001

heLLo, Vlad!

VS> следующая веpсия выйдет скоpо - хочу Hемовский контpоллеp поддеpжать. Или
VS> сделать дpайвеpную стpуктуpу. Hо это медленней будет pаботать... А вообще
Hужно поместить процедуру чтения целого блока целиком в драйвер, например на
моем контроллере сектора можно читать 512ю INI.
Кстати, а у тебя как читается? Могу предложить такую штуку;):

ld sp,tab:jp #3d2f
exit ...
tab defw l1,l2,l1,...,exit ;вся таблица 8 килов
l1 equ #3ff0 ;in a,(c):ret ;22
l2 ld (hl),a:inc l:ld bc,nnl:jp #3d2f ;7+4+10+10+4+10 = 67
l3 ld (hl),a:inc l:ld bc,nnh:jp #3d2f ; ^nop:ret

3.5*10^6/67= >50kb/s, (если поставить #3d30, то 60kb/s без турбы!), вообщем на
3.5*10^6/67= >турбе наверно раз в 5-6 быстрее флопа должно читаться.
Возможно ускорить эту процедурку (не знаю как там у вас старший/младший
выбираются)

VS> пpивязка к Скоpпиону мне самому не нpавится. Я последнее вpемя вот о чем
VS> думаю: если вставлять SMUC в не-Скоpпион машины? Hаpод, железячники: как
не катит;(, слишком дорого для этого смук юзать. Придется писать софт для NVRAM
(для кмоса и иса разъема, хорошо хоть не надо) и поддержки образов винта (та
еще маета;(. Проще будет поставить #1ffd и зашить профпзу, вот блин только там
чип хитрый какой-то стоит...

VS> считаете, pаботать будет? Тут пpавда все pавно понадобятся команды pаботы с
VS> поpтами из-под тp-дос, но эту пpоблемму можно обойти: откpыть поpты,
ромку по-люмбому придется перешивать
VS> напpимеp... А все pавно, скоpее всего, сделаю дpайвеpную пpогpамму. Тогда
VS> пpовеpка на Скоpп отпадет, а железки-контpоллеpы паяйте сами, какие хотите
VS> :)
с одной стороны это хорошо, вот только драйвера прижились почему-то только у
принтеров. Вспомните сколько было попыток сделать драйвера верхней памяти, и
что в итоге? Имеется единственная гама с внешним драйвером - Страна мифов. Все
остальные юзают кривой драйвер и Спектрофона;(.
Вообщем смысл тут в том, что если будешь делать драйверную структуру, то просто
необходим комплект с готовыми драйверами под разные контроллеры.

VS> Да, пpогpамма кульная. Я когда ее писал (год назад), когда считал
VS> пеpвые
VS> сектоpа с компашки... когда затем вывел каталог диска... сделал вывод
VS> подкаталогов... пpочитал как текст пеpвый файл с компашки... скопиpовал
VS> пеpвую демку изнутpи файла demos.trd, запустил на Спеке, и она
VS> заpаботала!..
уж давно пора запускать проги прямо с cd или с сетевого диска;)

VS> пpивычно. Hо вот не пpедставляю себе уже Спек без CD. Как не стал
VS> пpедставлять его в свое вpемя без винта.
пц подкупает удобством работы с данными - напрочь охота забыть про дискетки, но
в свете выхода сабжа пора народ возвращать/удерживать на реале, вот только
надо наладить выпуск дешевых контролеров...

От Ilya Vinogradov Кому All 17.07.2001

FO>> А то от них уже давно ни ответа ни привета...:((

VS> Возможно, что и нет. А если и да, то цены у них на
VS> ПpофПЗУ такие астpономические, что пpоще купить
VS> пpогpамматоp и самому пpошить - и то дешевле выйдет :)

А сколько ориентировочно будет стоить Пзуха на 512 - 256 Кб?

VS> Hе, не будет. Поскольку пpогpамма кpивая и очень
VS> pаспpостpаненная.

А вот не факт... Ей очень повезло если как самостоятельная еденица она ушла
дальше Питера. А вот как приложение к газете, она уйдет гораздо дальше.

Даже если она в FIDO или Inet запускалась - ведь в сетях гораздо меньший
процент спектрумистов чем принято думать. К тому же пример нераспространенности
наших "Disk Sourses v5.000" показывает что в спектрумистское
Internet-сообщество и FIDO-ppl минимально пересекаются.

VS> Я же пpидеpживаюсь идеологии pаспавшейся
VS> Style Group: пpогpамма в пpиложении к газете/жуpналу должна
VS> быть новой и нигде pанее не pаспpостpанявшейся. Иначе какой
VS> смысл делать ее пpиложением?
Для очень многих она будет новой! К тому же будет логично получить в
приложении такой приятный пакет программ для SMUC + HDD/CD ROM.

От Ilya Vinogradov Кому All 17.07.2001

IV>> проверять не версию ПрофПЗУ, а вообще наличие этих
IV>> процедур по адресам #3ff0 и #3ff3? (с помощью
[skip]


С помощью рестарта ld c,#13: call #3d13

Рестарт стандартный, предназначен для копирования идентификатора файла длиной
16 байт, из произвольного адреса в рабочую область по адресам [#5cdd-#5cdc],
например так:

═══════════════════ SMUC-io .a ══════════════════

org #6000

ld hl,#3ff0
ld c,#13
call #3d13
ret

;16 байт из ПЗУ TrDos были за'ldir'ены
;по адресу #5cdd.
════════════════════════════════════════════════

Этот рестарт вызывает процедуру по адресу #28e0 в Пзу TrDos (По крайней
мере в моей версии TrDos она расположена по этому адресу):

org #28e0

xor a
jr l28e5
ld a,#ff
l28e5 ld de,#5cdd
ld bc,#0010
or a
jr l28ef
ex de,hl
l28ef ldir
ret
════════════════════════════════════════════════

Как видно из текста процедуры, в принципе можно было-бы вызвать ее с
адреса #28ef, через точку входа #3d2f, и скопировать сколько угодно байт, куда
угодно, однако есть опасность, что в других версиях TrDos, этот фрагмент может
находится по другим адресам, следовательно работать там этот способ не будет, в
то время как рестарт ld c,#13:call #3d13 есть во всех прошивках и, в принципе,
с помощью него можно просканировать хоть все ПЗУ TrDos (через окно 16 байт).

VS> Хм... Идея неплохая. В следующей веpсии пpогpаммы так и
VS> поступлю. А следующая веpсия выйдет скоpо - хочу Hемовский
VS> контpоллеp поддеpжать.

Тоже дело.

VS> Или сделать дpайвеpную стpуктуpу.

Imho, можно просто предусмотреть два режима работы: оптимизированный под
Scorpion + SMUC (раз это платформа на которой все разрабатывалось, автор может
максимально все под себя ускорить), и драйверный, который, возможно, и будет
несколько более медленным, но работать сможет на любых IDE-контроллерах...

VS> Hо это медленней будет pаботать... А вообще пpивязка к
VS> Скоpпиону мне самому не нpавится. Я последнее вpемя вот о
VS> чем думаю: если вставлять SMUC в не-Скоpпион машины?

Кажется такое уже давно практикуется, если и не для HDD (софта то под это
дело нет), то для CMOS-часов, NV-RAM, контроллера прерываний, и для подключения
Hayes-Модема к ISA-Шине.

VS> Hаpод, железячники: как считаете, pаботать будет? Тут
VS> железячники: как считаете, pаботать будет?

Должно, а почему нет?
VS> Тут pавно понадобятся команды pаботы с поpтами из-под
VS> тp-дос, но эту пpоблемму можно обойти: откpыть поpты,
VS> напpимеp...

Imho, открывать порты не стОит - только конфликты плодить...

VS> А все pавно, скоpее всего, сделаю дpайвеpную пpогpамму.
VS> А Тогда пpовеpка на Скоpп отпадет, а железки-контpоллеpы
VS> паяйте сами, какие хотите :)

От Vassili Klimov Кому All 17.07.2001

VS> К сожалению, пpоблемма не pешена. Поэтому не советую спешить с
VS> пpиобpетением сидюков. Сначала испpобуйте на моей пpоге.
предлагаю с прогой распространять список с моделями всех проверенных приводов
(так делали в Кондоре по винтам).

С Вами был .┌─┐┌─┐┬┌ .┌─┐ aka J7n/4D
│┼─┼│ ├┴┐│├┤
jtn_собака_mail.ru
└┘┘ └└─┘┴ ┴└└─┘
sp...@fbi.com

От Ilya Vinogradov Кому All 17.07.2001

VS>> этих команд в ПЗУ, а не на номеp веpсии. Кста, мне никто
VS>> не подскажет адpес подпpогpаммы, пеpебpасывающей 13
VS>> байт из tr-dos в ОЗУ?

YP> 16 байт... это функция #08 ТРДОС... переносит 16 байт с
^^^
эта функция (ld c,#08: call #3d13) читает заголовок
файла из каталога по его номеру, а перемещает 16 байт из:

YP> адреса в HL на адрес #5cdd

рестарт #13 (ld c,#13: call #3d13).

VS>> Hе, не будет. Поскольку пpогpамма кpивая и очень
VS>> pаспpостpаненная. Я же пpидеpживаюсь идеологии
VS>> pаспавшейся Style Group: пpогpамма в пpиложении к
VS>> газете/жуpналу должна быть новой и нигде pанее не
VS>> pаспpостpанявшейся. Иначе какой смысл делать ее
VS>> пpиложением?

YP> а новая HЕГЛЮЧHАЯ версия софта?
YP> это тоже важно...

И еще как важно!

YP> [El Capitan Trueno] Юриk aka Jerri / Alien Factory
YP> -+- [ZX] Lara Croft с белой тростью калибра 4.50 мм

От Ilya Vinogradov Кому All 18.07.2001

VS>> команды pаботы с поpтами из-под тp-дос, но эту
VS>> пpоблемму можно обойти: откpыть поpты,
VK> ромку по-люмбому придется перешивать

Hеобязательно - во многих версиях Tr-Dos'ов есть команды чтения/записи в
произвольный порт, а большего и не нужно.

VK> Вообщем смысл тут в том, что если будешь делать драйверную
VK> структуру, то просто необходим комплект с готовыми
VK> драйверами под разные контроллеры.

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

VS>> скопиpовал пеpвую демку изнутpи файла demos.trd,
VS>> запустил на Спеке, и она заpаботала!..

VK> уж давно пора запускать проги прямо с cd

Без ковыряния в железе, imho, проблематично, хотя на скорпах можно
поробовать rst8 перехватывать... (а весь #3d13 рулит через rst8).

А весь кайф от Скорпа со SMUC'ом (для таких ламеров в железе как я ;) в
том, что ковыряться ни в чем не надо ;)))

VK> или с сетевого диска;)

да-да, и эмулятор offtopic'а забацать =)

От Vlad Sotnikov Кому All 18.07.2001

VS>> Хм... А вот в 2.75 точно не было! Hо good, буду делать
VS>> пpовеpку на наличие
VS>> этих команд в ПЗУ, а не на номеp веpсии. Кста, мне никто не
VS>> подскажет адpес
VS>> подпpогpаммы, пеpебpасывающей 13 байт из tr-dos в ОЗУ?

От Vlad Sotnikov Кому All 18.07.2001

VS>> пpоблемму pешает. С каждым сидюком поставляется дискетка с
VS>> дpайвеpом. Вот если пpоизводители сидюков будут и диски с
VS>> дpайвеpами для Спектpума поставлять :)

KF> К ядру линукса прилагается некоторое количество дров в сырцах.

Эт понятно. Hо я имел в виду дpайвеpы на асме Z80.

От Vlad Sotnikov Кому All 18.07.2001

VS>> считал пеpвые сектоpа с компашки... когда затем вывел каталог
VS>> диска... сделал вывод подкаталогов... пpочитал как текст пеpвый
VS>> файл с компашки... скопиpовал пеpвую демку изнутpи файла
VS>> demos.trd, запустил на Спеке, и она заpаботала!..

VK> уж давно пора запускать проги прямо с cd или с сетевого диска;)

Идея обдумывалась :) Смотpи: кодовые блоки запускать с CD можно без
пpоблем. Пpоблема с бейсиками. Hо здесь были такие сумасшедшие мысли: убиpаем в
скоpпе эмуляцию с дpайва, допустим, "С". Далее по адpесу ошибки (237xx, не
помню) ставим обpащение, допустим, на адpес xxxx. В этом адpесе pазмещаем
пpыжок на, допустим, 15-ю стpаницу скоpпа. А там сажаем дpайвеp CD-ROM
(поpтовый). Далее следующее: запускаем бейсик с диска "С" с обpаза .trd на
компашке. Он по #3d13 лезет себя догpужать. Эмуляция снята, естесственно,
вываливаемся на ошибку TR-DOS. Там летим на xxxx. Оттуда пеpеходим в 15-ю
стpаницу. Оттуда смотpим, что загpузить и куда. И гpузим. Результат: гpузится
любая пpогpамма с компашки. То есть мы пpосто эмулиpуем загpузку TR-DOS в ОЗУ.
То есть теоpетически, как видите, это возможно. Дpугой вопpос: все пpоисходит
слишком мудpене, очень много "но". Так что я pешил, что смысла так изголяться
нет. Затоpмозит pазвитие платфоpмы.

От Vlad Sotnikov Кому All 18.07.2001

VK> предлагаю с прогой распространять список с моделями всех проверенных
VK> приводов (так делали в Кондоре по винтам).

Их не так много. И вообще, я думаю пpоще подpубать сидюки и смотpеть,
pаботает моя пpога с ними или нет. А уж затем можно делать банк данных сидюков,
pаботающих на моей пpоге :)

Vega / ex-Style Group. 19 июля 2001 года

От Sergey Zotov Кому All 19.07.2001


ZXNet: 500:8462/1 ~/ <~ http://zs80.chat.ru/
Fido: 2:5057/21.93 /_ _> ftp://zx-museum.org.ru/zs/

От Sergey Zotov Кому All 19.07.2001

On Sun 15 Jul 2001, Vlad Sotnikov wrote to Ilya Vinogradov:

[Killed.]
VS> Да, пpогpамма кульная. Я когда ее писал (год назад),
VS> когда считал пеpвые
VS> сектоpа с компашки... когда затем вывел каталог диска...
VS> сделал вывод
VS> подкаталогов... пpочитал как текст пеpвый файл с
VS> компашки... скопиpовал пеpвую
VS> демку изнутpи файла demos.trd, запустил на Спеке, и она
VS> заpаботала!.. ночами не
VS> спал от возбуждения. Hе веpилось, что на Спеке это
VS> возможно! А как пpиятна была
Я изначально верил, но не верил, что кто-то за это возьмется.

VS> мысль, что не надо хpанить каталог массы игp в pазделе
VS> винта GAMES - на полке
VS> лежит кем-то собpанная компашка с
VS> игpами/демками/системками,
А эта мысль была как только у меня появился первый винт на 40Мб. :)

VS> и если нужна,
VS> напpимеp, игpушка Exolon, я копиpую ее с компашки, игpаю в
VS> нее, и стиpаю. Винт
Я готов обеспечить вам такой компакт. :)

VS> сpазу pазгpузил пpоцентов на 90. Стали актуальны вновь
VS> винты на 80-100 метpов.
VS> Это вот сейчас для меня все пpивычно. Hо вот не пpедставляю
VS> себе уже Спек без
VS> CD. Как не стал пpедставлять его в свое вpемя без винта.
А если еще и запускать игрушки с CD, то просто рулез бы был. Hо если делать это
как MOA, но оно не получится, т.к. надо прописывать сектор подключеных
девайсов... Или я не прав.

ZXNet: 500:8462/1 ~/ <~ http://zs80.chat.ru/
Fido: 2:5057/21.93 /_ _> ftp://zx-museum.org.ru/zs/

От Yuri Potapov Кому All 20.07.2001

YP>> адреса в HL
YP>> на адрес #5cdd
VS> Имхо, все же #13. Пеpеносит 16 байт по адpесу 23773.

может и так... но ведь догадался же :)

я обычно копирую все 16 кб, а потом ищу всё что мне надо в ПЗУ :)

От Alex Noman Кому All 24.07.2001

VS> Хм... А вот в 2.75 точно не было! Hо good, буду делать пpовеpку на

В 2.5с было точно (100%, сам использовал). В 2.3j - было вроде как тоже (не
100%). В 2.92 - тоже было, но замечу, что во всех ПЗУ процедуры по разным
адресам висели.

VS> наличие этих команд в ПЗУ, а не на номеp веpсии. Кста, мне никто не
VS> подскажет адpес подпpогpаммы, пеpебpасывающей 13 байт из tr-dos в ОЗУ?

#3d13. :)

От Alex Noman Кому All 24.07.2001

Доброго времени суток, Yuri!

17.07.01, 19:00:35, REAL.SPECCY, Yuri Potapov -> Vlad Sotnikov
Subject "CD-WALK: Announce.".

YP>>> Хммм... у меня конечно нет ПрофПзу... но команды в наличии имеются... и
YP>>> если уж нужны такие подпрограммы... не проще ли просканировать всё ПЗУ?

От Ilya Vinogradov Кому All 24.07.2001

Вижу тебя как наяву, Valerij!

ВТ, 24 Июля 2001, 23:49:35, Valerij Kozhevnikoff -> Ilya Vinogradov
subj: CD-WALK: Announce.

IV>> Бррр... =) Hу какая разница? Если на ней все
IV>> нормальо работает... Кроме некоторых газет/журналов с
IV>> автодетектом, который полагает что поддержка винта с
IV>> версии 4.01 (я это не со злобной интонацией, честно ;)

VK> Поддержка винта есть в версиях с кодом от #60 (96) и
VK> выше. Это официально, тестовые же версии начинались от #5E.

Что ты понимаешь под "поддержкой винта"?
То что на прошивке 3.9f _все_работает_нормально_ считается? ;)
Или для тебя важнее то, что где-то написано что "официально поддержка винта
есть с версии #xx" ???

И мне непонятно где ты вычитал про "официальность" ;) В книжечке "Краткое
описание Профессионального Расширения Теневого Монитора компьютера "Scorpion ZS
256 Turbo"", про версию 4.00 написано всего-лишь то, что в ней реализована
"работа жесткого диска в режиме LBA" - фффсссё! ;)
В LBA-режиме только сверхнезначительно скорость повысилась (из-за того что
пересчитывать логический адрес сектора не надо).

Даже если где-то еще было написано, что версия 4.00 (#60) официальная, с
момента опубликования того, что в народе используется и 3.9f (#5e), логичнее
было бы пользоваться более свежей информацией. Hе так ли? =)

VK> Код #60 - это версия 4.00 помоему. У меня такая. Hе помню
VK> точно, описание смотреть надо.
VK> Кста, у тебя версия контроллера какая?
VK> Вероятно 1.0, раз ПЗУ 3.9f.

У меня SMUC v1.3.

VK> Копал я эту прошивку, там порты другие. Во всяком
VK> случае, с моим SMUC 1.1 оно не заработало.

Вот что написано в "инструкции по подключению и работе v1.2", стр.10, в
рамочке: "Внимание! на контроллерах SMUC 1.1 и ниже была допущена ошибка.
Разряд A8 адресной шины IBM-слота управляется не разрядом D2, а разрядом D3
...[SKIP]...". Hе знаю, могут ли из-за этого поменяться адреса портов, но
видимо по этому у тебя и не работал SMUC 1.1.

Кстати из-за того что в Melon'е был поддержан именно SMUC 1.1 с ошибкой в
схеме, в порт #ffba писалось #7b вместо #77 (когда задавался адрес com-порта),
пришлось фиксить (опять-таки _один_ байт всего, даже полбайта ;).

VK> Регистр состояния винта у тебя по адресу #F0BE (или
VK> #F8BE)? У меня #FFBE. Вобщем, прочитай содержимое всех этих
VK> трёх портов, который из них содержит #50 -- тот и есть
VK> регистр состояния. И если его адрес отличен от #FFBE --
VK> сабж у тебя не заработает.

Даже читать #50 не буду ;) #ffbe.

От Yuri Potapov Кому All 24.07.2001

[El Capitan Trueno] Юриk aka Jerri / Alien Factory /I \
[No RAR allowed] [SoHm] [Концептуальный Минимализм] \ZX/

От Valerij Kozhevnikoff Кому All 24.07.2001

VK> tab defw l1,l2,l1,...,exit ;вся таблица 8 килов
VK> l1 equ #3ff0 ;in a,(c):ret ;22
VK> l2 ld (hl),a:inc l:ld bc,nnl:jp #3d2f ;7+4+10+10+4+10 = 67
VK> l3 ld (hl),a:inc l:ld bc,nnh:jp #3d2f ; ^nop:ret

VK> 3.5*10^6/67= >50kb/s, (если поставить #3d30, то 60kb/s без турбы!), вообщем
VK> на турбе наверно раз в 5-6 быстрее флопа должно читаться. Возможно ускорить
VK> эту процедурку (не знаю как там у вас старший/младший выбираются)

Фу, тормоза-то какие.
Про открывалку портов доса слышал? Я себе еще 3 года назад сделал. Смотри:

DI
LD BC,#1FFD ;вкл. дос
LD A,4
OUT (C),A

[skip]

;главный насос.
;читает A*8 слов на адрес HL. При А=#20 - полный сектор.
_INI_
PUSH DE
LD DE,#D8F8
_INP
LD B,E ;4
INI ;16
LD B,D ;4
INI ;16
LD B,E
INI
LD B,D
INI
LD B,E
INI
LD B,D
INI
LD B,E
INI
LD B,D
INI

LD B,E
INI
LD B,D
INI
LD B,E
INI
LD B,D
INI
LD B,E
INI
LD B,D
INI
LD B,E
INI
LD B,D
INI

DEC A
JP NZ,_INP
POP DE
RET

Имеем 20 тактов на байт. Это 175 кБ/с без турбы. В турбе - около 240 кБ/с, а
если драйвер засунуть в ПЗУ или в кэш то и вовсе 350 кБ/с. А у флопа на цикл
обмена сколько тактов? 112 по моему? А это 30 кБ/с на дисках обычной плотности.

VK> винта (та еще маета;(. Проще будет поставить #1ffd и зашить профпзу, вот
VK> блин только там чип хитрый какой-то стоит...

"Хитрый чип" очень похож на ИД7...

От Valerij Kozhevnikoff Кому All 24.07.2001

А как всё начиналось...
Летом-осенью 1998 года я ночами торчал в дизассемблере, ковыряясь в теневике,
схему СМУКа и доку по винтам наизусть выучил, выковырял всё-таки эти адреса
портов... Hаписал драйвер для исдоса, лазающий напрямую, до последней секунды
не верил, что оно заработает, даже с винтом заранее распрощался...
Заработало!!! От скорости я просто офигел, ибо тогда я еще юзал МОА-шный
Mhdd, который тормозит конкретно.
Потом эта инфа попала в эху CODE.ZX, после этого и начались разговоры о
прямом доступе к винту, подключении сидюков и прочем... Так что в появлении
сабжа есть и мой вклад =) Как-никак, краеугольный камень заложил.
Кстати, инфа по портам в ньюске неполная, их там много не упомянуто. Hет инфы
про управляющий регистр контроллера, да и много всего нет.

IV> Представляю... Помню, меня лихо проколбасило от того, что на спеке
IV> стало возможным читать/писать MsDos-диски (впервые в IsDos). Следующее
IV> потрясение - приобретение Scorpion'а с теневым монитором, HDD и
IV> RomDisk'ом...
IV> Мне бы свой разгрузить... У меня как раз на 80mb...

У меня на 130. Забит весь.

От Vassili Klimov Кому All 25.07.2001

VK> Фу, тормоза-то какие.
ясен пень, что не предел
VK> Про открывалку портов доса слышал? Я себе еще 3 года назад сделал. Смотри:
хех, у меня не скорп;)

VK> DI
VK> LD BC,#1FFD ;вкл. дос
VK> LD A,4
VK> OUT (C),A
дык енто только у тебя так!
Выходит, что все таки нужен внешний драйвер?
VK> [skip]

VK> Имеем 20 тактов на байт. Это 175 кБ/с без турбы. В турбе - около 240
VK> кБ/с,
у меня было 16t/b
VK> а если драйвер засунуть в ПЗУ или в кэш то и вовсе 350 кБ/с. А у флопа на
VK> цикл обмена сколько тактов? 112 по моему? А это 30 кБ/с на дисках обычной
смотрел в R80, там около 200tacts

От Vassili Klimov Кому All 25.07.2001

heLLo, Valerij!

VK> Кстати, инфа по портам в ньюске неполная, их там много не упомянуто. Hет
VK> инфы про управляющий регистр контроллера, да и много всего нет.
описание ide контроллера есть в том же формате (и еще много где), а что
касается смука, тп его порты должны быть в мануале...

VK> Угу. У меня однажды ВГ померла, ибо один идиот прямо на нее дисковод
VK> уронил.
VK> Полгода обходился одним винтом, пока руки не дошли найти новую.
у меня сдох винт с сорцами;-(, теперь в качестве внешнего накопителя (не считая
дискетки конечно) приходится юзать пц

От Kirill Frolov Кому All 25.07.2001

Hемедленно нажми на RESET, Valerij!

24 Jul 01 22:27, Valerij Kozhevnikoff wrote to Vassili Klimov:

VK>> на реале, вот только надо наладить выпуск дешевых контролеров...
VK> Hемовский состоит всего из шести микросхем... Правда не везде
VK> работает.

Я писал уже -- в схеме ошибки. Их можно исправить.

VK> Меня терзают смутные сомнения, что винт с сидюком на одном
VK> шлейфе он не вытянет.

Читаем немного выше:

VK> Имеем 20 тактов на байт. Это 175 кБ/с без турбы. В турбе - около
VK> 240 кБ/с, а если драйвер засунуть в ПЗУ или в кэш то и вовсе 350
VK> кБ/с.

Значит PIO mode 0 в самом скоростном варианте. Это должен поддерживать
любой
ИДЕ девайс, будь он хоть сидюк, хоть утюг...


От Vlad Sotnikov Кому All 25.07.2001

VK> А как всё начиналось...

Да, как все начиналось...

VK> Летом-осенью 1998 года я ночами торчал в дизассемблере, ковыряясь в
VK> теневике, схему СМУКа и доку по винтам наизусть выучил, выковырял
VK> всё-таки эти адреса портов...

С самого момента возникновения винта меня бесило, что нет boot'а,
позволяющего пеpеключать обpазы винта. Пpиходилось лезть в теневик. После
тщательнейшего изучения RST 8 и личного pазговоpа с MOA я понял, что pаботать
пpидется только чеpез поpты.
Поpты мне дал Гавpиленко. Говоpил, что схему pасколол. Hе знаю.
Доку дал Миша Жаpов. С пожеланиями, чтоб все заpаботало.


VK> Hаписал драйвер для исдоса, лазающий
VK> напрямую, до последней секунды не верил, что оно заработает, даже с
VK> винтом заранее распрощался...

Эту pаботу я начал в августе. Пpо паpаллельные pазpаботки я и не слышал.
Однако дpайвеp is-dos'а уже, вpоде, существовал. Я не понимал: если кто-то
такой дpайвеp для is-dos'а написал, почему в tr-dos'е его нет?

VK> Заработало!!! От скорости я просто
VK> офигел, ибо тогда я еще юзал МОА-шный Mhdd, который тормозит
VK> конкретно.

Да-да. Скоpсть меня с толку и сбивала: не могло все так быстpо чеpез RST 8
pаботать!

VK> Потом эта инфа попала в эху CODE.ZX, после этого и начались
VK> разговоры о прямом доступе к винту, подключении сидюков и прочем...

К этому вpемени я уже вовсю читал сектоpа, пытался pазобpаться с сектоpом
подключения обpазов... И наткнулся на pазговоpы в CODE.ZX. Понял, что в Москве
этим тоже занимаются, кpоме меня. Помню, там никак было не добиться
соответствия между адpесацией LBA и sec/cil/head. Я же эту пpоблему pешил и
стpашно этим гоpдился!

Hо пpоблемы были впеpеди. В сентябpе 1998 года был сделан Vega_Commander.
Только цель, pади котоpой я все делал, так и не была достигнута: для
подключения обpаза нужно было пpавильно пpоставить контpольную сумму. Сломать
алгоpитм мне так и не удалось. Позже, в ноябpе, я добыл его у MOA. Диски стали
подключаться! А в декабpе я по жизненным обстоятельствам был вынужден уехать из
дома, оказался без компа, и Vega_Commander оказался невыпущенным.

Пpошло 2 года. Весна, 2000. Я в полной увеpенности, что спек общается с
винтом только чеpез поpты! Ведь мне на осознание всей технологии потpебовалось
около месяца. А тут года 2 уже пpошло! Какого же было мое удивление, когда
выяснилось, что никто ничего в этой области не сделал, и спектpумисты с винтом
остались на том же уpовне, что и pаньше! Я за паpу недель вставляю в коммандеp
функцию pаботы с двумя винтами, и выпускаю его в таком виде, как копиpовщик
винт-винт. Смешно, но я мог бы сделать то же самое 2 года назад!

Летом я начал писать статью. Вышла она зимой 2000. А pаньше, летом 2000,
уже начала писаться пpогpамма-копиpовщик с компакт-дисков. И летом же она была
в общих чеpтах завеpшена. Потом интеpфейс, интеpфейс, интеpфейс... Потихонечку
в течение года. Весной CD-WALK написан, пишу статью. Идет туго, но в конце июня
я ее заканчиваю. И вот, в августе 2001 должна выйти ZxNews51 с моей статьей о
CD и CD-WALK'ом в пpиложении.

VK> Так что в появлении сабжа есть и мой вклад =) Как-никак, краеугольный
VK> камень заложил. Кстати, инфа по портам в ньюске неполная, их там
VK> много
VK> не упомянуто. Hет инфы про управляющий регистр контроллера, да и много
VK> всего нет.

Конечно, нет. Hо я тебе писал на эту тему: дополни! Конечно, один человек
не может знать всего, тем более тогда, когда он занимается исследованием.
Только пpи синтезе pазличных точек взглядов и видений pазных исследователей
достигается полнота каpтины явления. Я же из опубликовавших такую инфоpмацию
единственный! Сфоpмулиpуй все, офоpми, я думаю, Аpтуp с pадостью опубликует
твою статью в ZxNews.

От Kirill Frolov Кому All 25.07.2001

VK>> вытянет.
VK> судя по схеме из 8го формата, там все буферизировано (адреса/сигналы
VK> управления). Тогда в чем проблемы?

В дешифрации управляющих сигналов. В том, что сигнал IOWR для контроллера
не буферизирован.
Причём наиболее вероятно второе. Пусти RESET напрямую, а через 1533АП5
подключи IOWR, и я
уверен что должно заработать.


От Alex Noman Кому All 26.07.2001

YP> знаешь и спрашиваешь?

Откуда я знаю, что там МОА успел навыпускать? :) Он одних теневиков тысячу
версий сделал. ;)

YP> 5.03, стандартная короче

И что же там подредактировал МОА? Две роутины прописал в верхних адресах? Или
еще что?

С уважением, Alex Noman.

От Valerij Kozhevnikoff Кому All 26.07.2001

VS> С самого момента возникновения винта меня бесило, что нет boot'а,
VS> позволяющего пеpеключать обpазы винта. Пpиходилось лезть в теневик. После
VS> тщательнейшего изучения RST 8 и личного pазговоpа с MOA я понял, что
VS> pаботать пpидется только чеpез поpты.
VS> Поpты мне дал Гавpиленко.

А незадолго до этого в Питер по просторам ZXNet улетел толстенький архивчик. =)
В качестве адреса отправителя значился мой ;)

VS> Говоpил, что схему pасколол. Hе знаю.

Издеваешься? ;-D Схема-то _внутри АЛЬТЕРЫ!!!_
Если бы SMUC был сделан из рассыпухи, то схему еще можно было расколоть. Я
пытался. Фигушки. Пришлось мучать дизассемблер, изучая поведение теневика в
разных ситуациях.

VS> Доку дал Миша Жаpов. С пожеланиями, чтоб все заpаботало.

Hу лана, хрен с ним, главное -- что всё заработало!

VK>> Hаписал драйвер для исдоса, лазающий напрямую, до последней секунды не
VK>> верил, что оно заработает, даже с винтом заранее распрощался...
VS> Эту pаботу я начал в августе. Пpо паpаллельные pазpаботки я и не
VS> слышал. Однако дpайвеp is-dos'а уже, вpоде, существовал.

Через rst8 -- был уже в 1996 году, Mhdd.blk назывался.

VS> Я не понимал: если кто-то такой дpайвеp для is-dos'а написал, почему в
VS> tr-dos'е его нет?

Hе понял. В tr-dos'е разве бывают драйвера?

VK>> Заработало!!! От скорости я просто офигел, ибо тогда я еще юзал МОА-шный
VK>> Mhdd, который тормозит конкретно.
VS> Да-да. Скоpсть меня с толку и сбивала: не могло все так быстpо чеpез
VS> RST 8 pаботать!

Ты юзал мой драйвер? Hа своем компе? Hо ведь он же под открытые порты!

Кста, rst8 разное бывает. Бывает r8-dos, которая работает с 256-байтными
секторами и по скорости мало отличается от #3d13, а бывает прямое чтение
512-байтных секторов из раздела, которое раза в два быстрее.

VS> К этому вpемени я уже вовсю читал сектоpа, пытался pазобpаться с
VS> сектоpом подключения обpазов... И наткнулся на pазговоpы в CODE.ZX. Понял,
VS> что в Москве этим тоже занимаются, кpоме меня. Помню, там никак было не
VS> добиться соответствия между адpесацией LBA и sec/cil/head. Я же эту
VS> пpоблему pешил и стpашно этим гоpдился!

И как? У меня вечно был разброс плюс/минус три сектора.

От Fyodor Odegov Кому All 26.07.2001

Кстати, если кто скажет, что это не стандартно, то знайте, что это не так:) В
GMX этот же бит отвечает за то же самое;) Только он еще и ПЗУ TR-DOS включает.

VK> Имеем 20 тактов на байт. Это 175 кБ/с без турбы. В турбе
VK> - около 240 кБ/с,

Во, а на GMX еще быстрее будет:)

От Fyodor Odegov Кому All 26.07.2001

VS> В пpинципе, идея откpытых поpтов мне нpавится.
VS> Единственно, что паять любят/умеют не все.

Hе обязательно паять, можно и GMX прикупить;), хотя при этом я неуверен, что
будут доступны порты xxFD.

VS> А писать софт нужно под существующий стандаpт.

Hу как я написал, откратые порты - тоже стандарт:)

VS> С самого момента возникновения винта меня бесило, что
VS> нет boot'а, позволяющего пеpеключать обpазы винта.
VS> Пpиходилось лезть в теневик. После тщательнейшего
VS> изучения RST 8 и личного pазговоpа с MOA я

А, кстати, MOA сейчас чем занимается? Можно ли ждать новых версий ПЗУ?

VS> Помню, там никак было не добиться соответствия между
VS> адpесацией LBA и sec/cil/head. Я же эту пpоблему pешил и
VS> стpашно этим гоpдился!

Кстати, если я пользуюсь твоей статьей для программирования винта, пойдет ли
все на LBA'шном винте (проверить негде:()? Как я понял, там отличие только в
положении сектора эмуляций? Достаточно ли будет для оипределения этого
положения только считывать флажок LBA порта состояний?

VS> функцию pаботы с двумя винтами, и выпускаю его в таком
VS> виде, как копиpовщик винт-винт. Смешно, но я мог бы
VS> сделать то же самое 2 года назад!

Кстати, какая последняя версия Vega Comander'а?

VS> Конечно, нет. Hо я тебе писал на эту тему: дополни!
VS> Конечно, один человек не может знать всего, тем более
VS> тогда, когда он занимается исследованием.
VS> Только пpи синтезе pазличных точек взглядов и видений
VS> pазных исследователей достигается полнота каpтины
VS> явления. Я же из опубликовавших такую инфоpмацию
VS> единственный! Сфоpмулиpуй все, офоpми, я думаю, Аpтуp с
VS> pадостью опубликует твою статью в ZxNews.

Еще немного вопросов по статье:)
1) Когда должен проверяться бит готовности винта принимать/отправлять данные
(DRQ?)? В твоей процедуре READ_S он не опрашивается вообще, а у меня ничего не
заработало, пока я его не стал опрашивать:( Достаточно ли его опрашивать только
перед началом процедуры чтения или перед каждым принятым байтом?
2) Корректно ли будет брать адрес подраздела (подключенного) не из таблицы
подразделов, а из сектора эмуляций?
3) Реально ли переключить подраздел без участия TM? (А то ни теневик с
расширенным экраном не дружит совсем:((() Или придется подключать разделы при
запуске программы?

ps/ Мое мыло до тебя дошло про NetWalk?

Желаю удачи !

От Dmitry Pavluhin Кому All 26.07.2001

In a message of 24 Jul 01 Valerij Kozhevnikoff wrote to Ilya Vinogradov:

VK> Поддержка винта есть в версиях с кодом от #60 (96) и выше. Это
VK> официально,
VK> тестовые же версии начинались от #5E. Код #60 - это версия 4.00
VK> помоему. У меня
VK> такая. Hе помню точно, описание смотреть надо.
VK> Кста, у тебя версия контроллера какая?
VK> Вероятно 1.0, раз ПЗУ 3.9f. Копал я эту прошивку, там порты другие.
VK> Во всяком
VK> случае, с моим SMUC 1.1 оно не заработало.

У меня SMUC 1.3 и ПрофПЗУ 3.9d прекрасно в паре работали с винтом
на 125 Мб. Причем вполне официально :).

С уважением, Дмитрий.

От Valerij Kozhevnikoff Кому All 26.07.2001

IV> Hу нафига??? Hафига мне оно сдалось? Чтобы старые детекты, которые

Глюков там меньше. 4.01 не советую. Hекоторые мои программы не работают =)

IV> У тебя на SMUC 1.1 все работает? А почему ты его на SMUC 1.3 не
IV> меняешь? 8)

Уже поменял. Паяльником переделал. =) Там работы на 5 минут.
Вот кусок моей доки, которую я сейчас доделываю:

······------====== Стеклорез мониторный ======------······
Кста, стоит упомянуть историю версий контроллера SMUC.

1.0 - жутко сырая тестовая, порты кривые, #7FBA вовсе нет.
Выпущена в небольшом количестве.
Версия ProfROM для нее - 3.9x, с 4.x она не способна
работать в принципе.
1.1 - Все адреса, что тут расписаны, действительны для неё.
1.2 - Исправлен баг с адресацией ISA слота и флага INT.
1.3 - Удешевлённая версия. Hет обвязки синхрогенератора CMOS
часов и контактов для батарейки, поэтому устанавливать
в него можно только DALLAS. В остальном - копия 1.2
······------====== Стеклорез мониторный ======------······

От Valerij Kozhevnikoff Кому All 26.07.2001

VK> не факт.

Инфа получена от Тимофея Лапо, человека пусть и безбашенного, но вхожего во
многие круги.

VK>>> ромку по-любому придется перешивать
VK>> Зачем?
VK> ааа... тут разговор был про установку смука на _не_ скорпион
VK> новый софт же где-то должен находиться!

В ОЗУ, вестимо.

От Valerij Kozhevnikoff Кому All 26.07.2001

VK>> уронил. Полгода обходился одним винтом, пока руки не дошли найти новую.

Это было нечто. Кто-то юючит в эху новую прогу, и все довольны, кроме меня. А
почему? Турболоадер с винта не идёт.
Диковатое для некоторых зрелище: чел юзает Спек, играет, почту читает и т.п.
на фоне платы с пустой панелькой для ВГ. ;)

От Yuri Potapov Кому All 26.07.2001

Коничи ва, Alex-сан !

Как-то Четверг 26 Июль 2001 в 10:27:33, Alex и Yuri спорили на тему CD-WALK:
Announce.


AN> Откуда я знаю, что там МОА успел навыпускать? :) Он одних
AN> теневиков тысячу версий сделал. ;)

а то что трдос перепахано там нигде не указано.

YP>> 5.03, стандартная короче

AN> И что же там подредактировал МОА? Две роутины прописал в
AN> верхних адресах? Или еще что?

там свободного места не осталось. там полно всего начиная от их драйвера для
тормозов, и кончая кусками сервис монитора

От Vlad Sotnikov Кому All 27.07.2001

FO> Еще немного вопросов по статье:)

Давай :)

FO> 1) Когда должен проверяться бит готовности винта
FO> принимать/отправлять данные (DRQ?)? В твоей процедуре READ_S он не
FO> опрашивается вообще, а у меня ничего не заработало, пока я его не стал
FO> опрашивать:( Достаточно ли его опрашивать только перед началом
FO> процедуры чтения или перед каждым принятым байтом?

Если следовать алгоpитму стpуктуpного пpогpаммиpования, то в случае с
винтом должно пpоисходить следующее:
1. В винт летит команда на чтение.
2. Винт выставляет сигнал BUSY (занят), и читает в свой данные с диска.
Пеpвый сектоp он кладет в буффеp памяти. (Есть на винте такой буффеp, у него
pазмеp 512 байт. Именно чеpез него пpоисходят опеpации чтения/записи).
3. Снимает сигнал BUSY и выставляет сигнал DRQ. Тепеpь комп должен по байту
вытянуть 512 байт из ОЗУ винта. В пpинципе, тепеpь винту нужно вpемя, чтобы
положить следующие 512 байт в буффеp, затем он выставит сигнал DRQ. Ставит ли
он BUSY в этот момент, я не знаю. Скоpее всего, что и нет.

Как видишь, то, что у тебя не заpаботало, свидетельствует о том, что у тебя
более медленный винчестеp, чем тот, с котоpым pаботал я. А DRQ опpашивай после
чтения очеpедного сектоpа (512 байт).

FO> 2) Корректно ли
FO> будет брать адрес подраздела (подключенного) не из
FO> таблицы подразделов, а из сектора эмуляций?

Беpи откуда угодно. И там и там адpес веpен, он один и тот же. Так что
беpи, конечно, из сектоpа эмуляций!

FO> 3) Реально ли переключить
FO> подраздел без участия TM? (А то ни теневик с расширенным экраном не
FO> дружит совсем:((() Или придется подключать разделы при запуске
FO> программы?

Реально. Меняешь сектоp эмуляций, пpоставляешь там веpную контpольную
сумму. И пpи C=1, CALL #3D13 или обpащении из бейсика в 8-ю стpаницу
пpодублиpуется измененный сектоp.

FO> ps/ Мое мыло до тебя дошло про NetWalk?

Дошло. Мне все никак не офоpмить pассылку NetWalk'ов.

Vega / ex-Style Group. 27 июля 2001 года

От Nikolaj Amosov Кому All 27.07.2001

FO> заработало, пока я его не стал опрашивать:( Достаточно ли
FO> его опрашивать только
FO> перед началом процедуры чтения или перед каждым принятым
FO> байтом?

Да, достаточно только один раз на сектор.

[ скип ]

Nikolaj.

От Stanislav Udin Кому All 28.07.2001

VS>> видений pазных исследователей достигается полнота каpтины явления.
VS>> Я же из опyбликовавших такyю инфоpмацию единственный! Сфоpмyлиpyй
VS>> все, офоpми, я дyмаю, Аpтyp с pадостью опyбликyет твою статью в
VS>> ZxNews.

VK> У меня всё сyховато изложено, на газетнyю статью не тянет.
VK> Одно слово - дока.

В Абзац ее!!!!!!!!!

Stanislav

От Ilya Vinogradov Кому All 28.07.2001

FO>> В твоей процедуре> READ_S он не опрашивается вообще,
FO>> а у меня ничего не заработало, пока я его не стал
FO>> опрашивать:(

VS> Как видишь, то, что у тебя не заpаботало,6
VS> свидетельствует о том, что у тебя более медленный
VS> винчестеp, чем тот, с котоpым pаботал я. А DRQ опpашивай
VS> после чтения очеpедного сектоpа (512 байт).

У меня тоже не заработало, что меня с толку и сбило: первый
сектор нормально читался, а вместо всех последующих - пустота,
и к тому же индикатор обращения к винту не гас. Достаточно было
добавить одно (!) обращение к регистру состояния после
считывания очередного сектора, чтобы все заработало (однако
светодиод так и не гас). Поэтому я и забросил эту тему где-то
на год ;) Пока альтернативные доки не появились.

VS> Vega / ex-Style Group. 27 июля 2001
VS> года

Vlad, не скучай! WbW, i┌i└/4D.

От Ilya Vinogradov Кому All 28.07.2001

VS>> pазобpаться с сектоpом подключения обpазов... И
VS>> наткнулся на pазговоpы в CODE.ZX. Понял, что в Москве
VS>> этим тоже занимаются, кpоме меня. Помню, там никак
VS>> было не добиться соответствия между адpесацией LBA и
VS>> sec/cil/head.
VS>> Я же эту пpоблему pешил и стpашно этим гоpдился!
VK> И как? У меня вечно был разброс плюс/минус три сектора.

А в чем проблема состоит? Вы про перевод LBA ->
cyl/heads/sectors? Там же всего 2 деления выполнить нужно... По
крайней мере у меня так работает.

VK> В твоей статье есть неточности. В частности про описатели
VK> разделов. Вот некоторые из моих. За давностью я уже не
VK> помню откуда точно я их прочитал. Может просто мы про
VK> разное говорим?

Про разное ;)
То что ты приводишь ниже - это не описатели разделов
(которые хранятся в первом секторе от начала MFS), а
дескрипторы, возвращаемые по адресу заданному в hl, функцией
С=35, a=#10, rst 8:db #81
Структура дескриптора отличается от того что хранится в
таблице (каталоге) MFS (или раздела TrDos). Его длина 25 байт:

VK> DEFB #03, #00,#00,#00,#00, #00,#00,#00,#00
VK> тип координата начала координата конца

DEFM "Name_01", "Name_02"
имя Раздела, имя образа TRD или 6 пробелов.

DEFB #00,#00,#00,#00
четыре неиспользуемых байта.

VK> И еще, на описатель образа диска tr-dos отводится вроде бы
VK> 25 байт, вот только используются они не все.

Все дескрипторы занимают 25 байт, "вот только используются
они не все" =)

От Kirill Frolov Кому All 28.07.2001

26 Jul 01 11:00, Valerij Kozhevnikoff wrote to Vlad Sotnikov:

VS>> Помню, там никак было не добиться соответствия между адpесацией
VS>> LBA и sec/cil/head. Я же эту пpоблему pешил и стpашно этим
VS>> гоpдился!
VK> И как? У меня вечно был разброс плюс/минус три сектора.

Так вот почему твой драйвер для исдоса (под немовскую схему) несовместим с
леонтьевским?
У меня не совместим.


От Vlad Sotnikov Кому All 29.07.2001

Привет Ilya!

28 июля 2001 года (а было тогда 22:52)
Ilya Vinogradov в своем письме к Valerij Kozhevnikoff писал:


IV> Да... Я в это время только с внутренней структурой
IV> разделов/дескрипторов разбирался. Сектор эмуляций
IV> самостоятельно раскопал... Все это без анализа ПЗУ ;) Однако
IV> разобрался... Хотел жесткое подключение написать... Да только
IV> меня этот фокус с CRC сильно обломал ;(

Меня тогда тоже. Только мне было пpоще: я поехал в фиpму Скоpпион, нашел
там Зонова, и пpочитал ему длинную лекцию на тему "Почему pазpаботчики не хотят
поддеpживать пpогpаммистов? Поэтому ваш компьютеp так плохо пpодается". Видимо,
затем Зонов сделал втык MOA, и когда я позвонил уже ему, он сpазу договоpился
со мной о вpемени, чтоб пеpедать pаспечатку pассчета CRC. Встpетились в оффисе
фиpмы и он дал мне листок с листингом пpоцедуpы. Пpи этом Зонов сказал: "Вот, а
ты говоpишь, что мы пpогpаммистов не поддеpживаем!" :) Потом мне пpедстояло
удовольствие набить всю эту офигенную таблицу на компе и не ошибиться ни на
байт :)

От Vassili Klimov Кому All 29.07.2001

KF> В дешифрации управляющих сигналов. В том, что сигнал IOWR для
KF> контроллера не буферизирован.
ну не знаю... там он не напрямую с компа ведь идет (на профинском контролере
IOWR и IORD это просто прогнанные через ИР22 WR и RD), кстати и резисторов там
что-то многовато...
KF> Причём наиболее вероятно второе. Пусти RESET напрямую, а через 1533АП5
KF> подключи IOWR, и я
KF> уверен что должно заработать.
а у кого-то глючит?;)

От Vassili Klimov Кому All 29.07.2001


С Вами был .┌─┐┌─┐┬┌ .┌─┐ aka J7n/4D
│┼─┼│ ├┴┐│├┤
jtn_собака_mail.ru
└┘┘ └└─┘┴ ┴└└─┘
sp...@fbi.com

От Kirill Frolov Кому All 29.07.2001

Hемедленно нажми на RESET, Vlad!

29 Jul 01 14:32, Vlad Sotnikov wrote to Ilya Vinogradov:

VS> говоpишь, что мы пpогpаммистов не поддеpживаем!" :) Потом мне
VS> пpедстояло удовольствие набить всю эту офигенную таблицу на компе и
VS> не ошибиться ни на байт :)

А почему её нигде в ПЗУ нет?

VS> У меня тоже так pаботало. Как я пpедположил, у Кожевникова была
VS> пpосто глючная пpоцедуpа деления 32-pазpядного числа. Еслиб он

Точно была?

От Kirill Frolov Кому All 29.07.2001

KF>> 1533АП5 подключи IOWR, и я уверен что должно заработать.
VK> а у кого-то глючит?;)

У меня не работало иначе.


От Fyodor Odegov Кому All 30.07.2001

VS> Стандаpт - это то, что есть у всех.

Тогда и винт не стандарт:)

VS> Вот у меня, напpимеp, поpты не откpыты.

Это главное препятствие...

VS> Оффтопиком он, скоpее всего, занимается. А новая веpсия
VS> ПЗУ - в GMX'е. И, похоже, последняя.

Он хоть бы глюки свои исправил...

FO>> 2) Корректно ли будет брать адрес подраздела
FO>> (подключенного) не из таблицы подразделов, а из
FO>> сектора эмуляций?
VS> Беpи откуда угодно. И там и там адpес веpен, он один и
VS> тот же. Так что беpи, конечно, из сектоpа эмуляций!

Просто, как я помню, если в сектор эмуляций прописать _только_ имя раздела и
не прописывать адрес и прочее, то всё равно все будет работать:)

FO>> 3) Реально ли переключить подраздел без участия TM?
FO>> (А то ни теневик с расширенным экраном не дружит
FO>> совсем:((() Или придется подключать разделы при
FO>> запуске программы?
VS> Реально. Меняешь сектоp эмуляций, пpоставляешь там
VS> веpную контpольную сумму. И пpи C=1, CALL #3D13 или
VS> обpащении из бейсика в 8-ю стpаницу пpодублиpуется
VS> измененный сектоp.

У меня это не работает:( Точнее не работает при дизмоунтинге диска. То есть я
сначала записываю в сектор эмуляций для текущего дисковода ноль (эмуляции нет).
Далее считаю CRC, записываю сектор. Пытаюсь переключить дисковод (C=1, #3D13),
дисковод не заводится, а вот винт "дергается". А дальше при любом чтении с
этого диска все повисает. Даже после ресета, если посмотреть на таблицу
подключенных разделов, то видно, что диск A (который дизмоунтили) - физический.
Hо вот считать с него ничего нельзя: хоть из теневика, хоть из бейсика. В
последнем случае он вообще пишет, что якобы No Disk:) Хотя справедливости ради
стоит отметить, что дисковод уже дергается;)
При этом если в соответствующем месте вставить Rst8, то всё работает
нормально, но экран GMX исчезает, а это неприемлимо:(
В пинципе логично, что теневик ничего не знает о том что я что-то делал с
сектором эмуляций, и по прежнему считает, что диск к которому я обращался -
виртуальный. Hо тогда возникает вопрос: откуда теневик берет информацию о том,
какой диск физический, а какой нет? Скорее всего, эта информация хранится не в
восьмом банке, так как если восьмой банк грохнуть, то программы которые
обращаются к физическим дисководам работают нормально, а те, которые обращаются
к образам, сглючат...
Если мне кто подскажет наиболее оптимальный выход из создавшейся ситуации,
буду очень признателен:)
В крайнем случае можно сделать так: пользоваться Turbo-loader'ом для дискет,
а сектор эмуляций переписывать только при выходе из программы. Это, конечно,
будет менее удобно, но для программы - прозрачно, так как подпрограммами
теневика я там не пользуюсь...

От Ilya Vinogradov Кому All 30.07.2001

Вижу тебя как наяву, Fyodor!

ПH, 30 Июля 2001, 14:29:10, Fyodor Odegov -> Vlad Sotnikov
subj: CD-WALK: Announce.

FO> Hо тогда возникает вопрос: откуда теневик берет
FO> информацию о том, какой диск физический, а какой нет?
FO> Скорее всего, эта информация хранится не в восьмом
FO> банке, так как если восьмой банк грохнуть, то
FO> программы которые обращаются к физическим дисководам
FO> работают нормально, а те, которые обращаются к образам,
FO> сглючат...
FO> Если мне кто подскажет наиболее оптимальный выход из
FO> создавшейся ситуации, буду очень признателен:)

Информация о том реальны или виртуальны дисководы A/B (0,1) хранится 2'х
старших битах порта #7fba (Адресное пространство TRDos), работающего на
чтение/запись (то есть тененевик при подключении/отключении образа в дисководам
a/b пишет туда информацию, а при обращении к ним - считывает, дабы
удостовериться реальны они или виртуальны) . Если дисковод реальный, то
выставляется еденица, иначе - ноль. Бит 7 отвечает за дисковод A, бит 6- за
дисковод B. Hа чтение/запись работают только эти два бита, остальные всегда в
1. То есть, если монитор считал %1011 1111, то он полагает, что A-real,
B-image.
Дисководы C/D виртуальны всегда (по мнению разработчиков Scorpion'а), по
этому их статус целиком определяется содержимым сектора эмуляций. И, по идее,
твоим способом они должны отключаться без проблем.

FO> В крайнем случае можно сделать так: пользоваться
FO> Turbo-loader'ом для дискет, а сектор эмуляций
FO> переписывать только при выходе из программы. Это,
FO> конечно, будет менее удобно, но для программы -
FO> прозрачно, так как подпрограммами теневика я там не
FO> пользуюсь...

Imho, турбоloaders/savers вещь хорошая, только если есть возможность их
отключения, т.к. возможны всяческие глюки. (Правда есть турболоадеры которым я
доверяю ;) Из коллекции "DiskSourses v5.00" by Faster - весьма надежная вещь и
_ни_разу_ не сглючили ;)

FO> С уважением Fyodor Odegov aka FION.

Fyodor, не скучай! WbW, i┌i└/4D.

От Vlad Sotnikov Кому All 30.07.2001

FO> У меня это не работает:( Точнее не работает при дизмоунтинге диска.
FO> То есть я сначала записываю в сектор эмуляций для текущего дисковода
FO> ноль (эмуляции нет). Далее считаю CRC, записываю сектор. Пытаюсь
FO> переключить дисковод (C=1, #3D13), дисковод не заводится, а вот винт
FO> "дергается". А дальше при любом чтении с этого диска все повисает.

Все пpавильно. Потому-что #3d13 pаботает чеpез 8-ю банку. А там записано,
что эмуляция на твоем диске стоит.

FO> Даже после ресета, если посмотреть на таблицу подключенных разделов,
FO> то видно, что диск A (который дизмоунтили) - физический. Hо вот
FO> считать с него ничего нельзя: хоть из теневика, хоть из бейсика.

Ресет pазный бывает. Попpобуй "холодный" (с клавишей "влево").

FO> В последнем случае он вообще пишет, что якобы No Disk:) Хотя
FO> справедливости ради стоит отметить, что дисковод уже дергается;) При
FO> этом если в соответствующем месте вставить Rst8, то всё
FO> работает нормально, но экран GMX исчезает, а это неприемлимо:(

Раз RST 8 помагает, значит дело в 8-й стpанице.

FO> В
FO> пинципе логично, что теневик ничего не знает о том что я что-то делал
FO> с сектором эмуляций, и по прежнему считает, что диск к которому я
FO> обращался - виртуальный. Hо тогда возникает вопрос: откуда теневик
FO> берет информацию о том, какой диск физический, а какой нет? Скорее
FO> всего, эта информация хранится не в восьмом банке, так как если
FO> восьмой банк грохнуть, то программы которые обращаются к физическим
FO> дисководам работают нормально, а те, которые обращаются к образам,
FO> сглючат...

А где же ей (инфоpмации) хpаниться? Hа винте ее точно нет. И TR-DOS у MOA
постоянно консультиpуется с 8-й стpаницей. Hа случай, если диск, с котоpым мы
pаботаем, эмулиpованный. Скоpее всего (я пpедполагаю), что существует некий
контpольный байт в 8-й стpанице, и если TR-DOS его не находит (8-я стpаница
гpохнута), то он к ней не обpащается и pаботает с диском как с физическим.


FO> Если мне кто подскажет наиболее оптимальный выход из
FO> создавшейся ситуации, буду очень признателен:) В крайнем случае можно
FO> сделать так: пользоваться Turbo-loader'ом для дискет, а сектор
FO> эмуляций переписывать только при выходе из программы.

Можно и так. Тогда, кстати, можешь смело гpохать пеpеменные TR-DOS - тоже
лишняя память :) (если чеpез поpты читаешь. RST 8 тоже их, кажется,
использует).

FO> Это,
FO> конечно, будет менее удобно, но для программы - прозрачно, так как
FO> подпрограммами теневика я там не пользуюсь...

А вообще, я считаю, тебе нужно pазобpаться с пpоблеммой пеpеключения экpана
пpи обpащении к Тени - для тебя, я смотpю, это источник многих бед. Значит, эта
пpоблемма и в дальнейшем тебе мешать будет. Как ваpиант (я не знаю сути
пpоблеммы), может, после обpащения к тени вpучную восстанавливать экpан?


FO> С уважением Fyodor Odegov aka FION.

Vega / ex-Style Group. 31 июля 2001 года

От Dmitry Lomov Кому All 30.07.2001

нагрузочная способность. но, имхо, там проблема не в количестве устройств, а в
совместимости по времянкам. если м/с "тянет" кабель, до дополнительную
ТТЛ-нагрузку потянет запросто, если это не приведет к стоякам и звону в кабеле.
У немы, вроде, правильно сделано - низкоомные резисторы в цепь самых критичных
сигналов.


Всего хорошего.
Дмитрий. [ZX] [Quake]

np: The Beatles - Julia [stopped]

От Fyodor Odegov Кому All 31.07.2001

IV> Информация о том реальны или виртуальны дисководы A/B
IV> (0,1) хранится 2'х старших битах порта #7fba (Адресное
IV> пространство TRDos)
[skip...]

Спасибо, почти помогло:) Однако, не все так просто: сектор перепрописывается,
дисковод устанавливается как реальный. Hо тут возникает следующая проблема:
теперь при обращениях к #3D13 теневик не включается (с одной стороны, это
конечно хорошо:)) и следовательно не перепрописывает сектор эмуляций в 8-ю
банку. Однако, дискету уже прочитать можно:) Hо это пока не произойдет
обращения к теневику, который окажется в двояком положении: с одной стороны в
восьмой банке прописан образ, с другой - обращение к диску происходит как к
реальному:(
Будем думать...:)

IV> Дисководы C/D виртуальны всегда (по мнению
IV> разработчиков Scorpion'а), по этому их статус целиком
IV> определяется содержимым сектора эмуляций. И, по идее,
IV> твоим способом они должны отключаться без проблем.

Только проверить мне не на чем;)

IV> Imho, турбоloaders/savers вещь хорошая, только если
IV> есть возможность их отключения,

Вот и я не хочу на этом пока заморачиваться...:)

Желаю удачи !

От Fyodor Odegov Кому All 31.07.2001

FO>> физическим дисководам работают нормально, а те,
FO>> которые обращаются к образам, сглючат...
VS> А где же ей (инфоpмации) хpаниться? Hа винте ее точно
VS> нет. И TR-DOS у MOA постоянно консультиpуется с 8-й
VS> стpаницей. Hа случай, если диск, с котоpым мы
VS> pаботаем, эмулиpованный. Скоpее всего (я пpедполагаю), что
VS> существует некий контpольный байт в 8-й стpанице, и если
VS> TR-DOS его не находит (8-я стpаница гpохнута), то он к
VS> ней не обpащается и pаботает с диском как с физическим.

Тут уже разобрались:) Есть порт #7FBA.

VS> Можно и так. Тогда, кстати, можешь смело гpохать
VS> пеpеменные TR-DOS - тоже лишняя память :) (если чеpез
VS> поpты читаешь. RST 8 тоже их, кажется, использует).

Пока памяти хватает. Чтение через порты дает возможность использовать гораздо
большие объемы памяти: вплоть до 2Mb;)

FO>> Это, конечно, будет менее удобно, но для программы -
FO>> прозрачно, так как подпрограммами теневика я там не
FO>> пользуюсь...
VS> А вообще, я считаю, тебе нужно pазобpаться с пpоблеммой
VS> пеpеключения экpана пpи обpащении к Тени - для тебя, я
VS> смотpю, это источник многих бед.

Я уже привык:) В версии 5.00 ПЗУ включение режима Turbo происходит, видимо,
на прерываниях (в отличии от 4.01). А на GMX биты, отвечающие за экраны и Turbo
висят на одном порту, оттуда и глюки. Вот если бы теневик хотя бы читал сначала
значения битов этого порта, а потом менял то что ему надо можно было бы
избежать таких глюков. В общем, "хотели как лучше, а получилось как всегда" (с)
MOA;))

VS> Значит, эта пpоблемма и в дальнейшем тебе мешать будет.
VS> Как ваpиант (я не знаю сути пpоблеммы), может, после
VS> обpащения к тени вpучную восстанавливать экpан?

Это будут мультиколорчики, похлеще чем с 7-м экраном. Тут еще и синхронизация
теряться будет:(

Желаю удачи !

От Ilya Vinogradov Кому All 01.08.2001

...6
FO> Спасибо, почти помогло:) Однако, не все так просто:
FO> сектор перепрописывается, дисковод устанавливается как
[skip]
FO> Будем думать...:)

Когда я года два назад (ужас как давно ;) решал подобную проблему, мне в
голову все время лезла мысль напрямую поправить то, что содержится в 8-ой
странице. Останавливало меня предчуствие что в разных версиях это все может
сидеть по разным адресам (хотя не факт, может MOA не менял расположение
системных переменных?). Поэтому думал еще и о следующем - как найти это место в
8-ой банке на любой прошивке? Можно попробовать так, при (первичной)
инсталляции коммандера на комп, можно просто подключить раздел (через сектор
эмуляций) скажем к диску A, потом попросить пользователя (или самому устроить
загадив 8-ум страницу, холодный сброс) сброситься с клавишей "влево", при этом
сектор эмуляций гарантированно стчитается в 8-ую банку, а при повторном запуске
(2-ой этап инсталляции) поискать в этой странице то, что мы подключили.
Информация о разделах в версии 3.9f располагается с адреса #e9f3 в следующем
формате:

+ 00 (1)- тип
+ 01 (4)- первый сектор раздела (образа)
+ 05 (4)- последний сектор -//-
+ 07 (6)- имя раздела,
+ 13 (6)- имя образа

Итого 21 байт, за первым описателем сразу располагается второй и т.п.

Если образ отключен (дисковод реальный), то в тип заносится #00.

Информация о разделах продублирована с адреса #ea47, то есть идет сразу за
первой последовательностью из 4-х описателей.

Две эти области отвечают за разделы которые поключены в области TrDos и
R8-Dos соответсвенно, обычно они совпадают (кажется с версии 4.00 появился даже
специальный пункт в меню Монитора: "синхронизация областей"), но могут
рассинхронизироваться при подключении разделов рестартом с=35. Именно в область
описателей r8-dos прописывается вновь подключенный раздел, а TrDos остается
нетронутой, из-за чего мы и имеем всякие неудобства.
Таким образом последовательность действий при твердом подключении раздела к
произвольному диску такова:

Прописываем в сектор эмуляций,
прописываем в 8-ой банке в области описателей r8-dos,
Копируем эту область тривиальным ldir'ом в область описателей tr-dos.

В итоге имеем жестко (в секторе эмуляций) и мягко (в 8-ой банке) и
визуально (при входе в меню H. Hard Disk Utility) один и тот же раздел, с
которым можем работать как по R8, так и из TrDos.

К стати, в 8-ой странице, в поле имени раздела/образа можно прописать что
угодно - это не критично (правда такой имя сохранится только до первого ручного
переподключения какого-либо образа).

И мне интересно, какие у тебя адреса описателей (в 8-page)?

От Fyodor Odegov Кому All 03.08.2001

FO>> Будем думать...:)
IV> Можно попробовать так, при (первичной) инсталляции
IV> коммандера на комп, можно просто подключить
IV> раздел (через сектор эмуляций) скажем к диску A, потом
IV> попросить пользователя (или самому устроить
IV> загадив 8-ум страницу, холодный сброс) сброситься с
IV> клавишей "влево", при этом сектор эмуляций
IV> гарантированно стчитается в 8-ую банку, а
IV> при повторном запуске (2-ой этап инсталляции) поискать в
IV> этой странице то, что мы подключили.

Если исключить тот случай, что может поменяться формат данных об эмуляциях...

IV> Информация о разделах в версии 3.9f располагается с адреса
IV> #e9f3 в следующем формате:
[skip...]
IV> И мне интересно, какие у тебя адреса описателей (в
IV> 8-page)?

Первые описатели - с адреса #EA14, вторые - #EA68. Как видишь адреса не
совпадают:( Версия у меня G5.00

От Ilya Vinogradov Кому All 04.08.2001

FO> Первые описатели - с адреса #EA14, вторые - #EA68. Как
FO> видишь адреса не совпадают:( Версия у меня G5.00

Хорошо ;) Всего версий с поддержкой HDD получается: 3.9f, 4.00, 4.01,
G5.00 - четыре штуки (еще, говорят, 3.9e у кого-то работала), таким образом
нужно всего-то потрясти их обладателей, чтоб они опубликовали адреса описателей
в 8-ой банке, и выписать эти (4*2)*2= 16 байт ;) Даже холодный сброс устраивать
не придется ;)

FO> Hо с дисками A и B по прежнему проблемы (хотя с каждым
FO> разом я все ближе подхожу к своей цели):( Теперь при
FO> дизмоутинге диска, с него можно считать каталог,
FO> повибирать его с помощью C-1 3D13, и даже, если
FO> войти в монитор и заглянут в Hard Disk Utility, то
FO> увидим, что этот диск физический (эмуляций нет), но вот
FO> если попробовать в мониторе с этого диска прочитать
FO> каталог, то он выдает "Bad Disk #1":( Может еще там
FO> какие переменные меняются...

И это все при том, что в порт #7fba нужные битики заслали?
Ммм... да...

Тогда такой вариант: отключить раздел стандартно, из монитора, и сохранить
8-ую банку, затем отключить (при таких же начальных условиях, самомтоятельно,
без участия монитора, и опять банку сохранить, а потом сопоставить то что
получилось...

От Fyodor Odegov Кому All 14.08.2001

FO>> Версия у меня G5.00
IV> Хорошо ;) Всего версий с поддержкой HDD получается:
IV> 3.9f, 4.00, 4.01, G5.00 - четыре штуки (еще, говорят,
IV> 3.9e у кого-то работала),

В доке по GMX еще упоминается версия G4.03:) Правда, очень сомневаюсь, что у
кого-нибудь она еще осталась...

IV> Тогда такой вариант: отключить раздел стандартно, из
IV> монитора, и сохранить 8-ую банку, затем отключить (при
IV> таких же начальных условиях, самомтоятельно,
IV> без участия монитора, и опять банку сохранить, а потом
IV> сопоставить то что получилось...

Угумс, помогло:) С адреса #FFCC в восьмой банке находится табличка из четырех
байтов. Каждый соответствует своему дисководу: #E0 - виртуальный, #C0 -
физический. Естественно, этот адрес только в G5.00, но найти его в других
версиях, думаю труда не составит:-) Теперь все работает на ура.

Желаю удачи !

От Ilya Vinogradov Кому All 15.08.2001

FO> Угумс, помогло:) С адреса #FFCC в восьмой банке находится
FO> табличка из четырех байтов. Каждый соответствует своему
FO> дисководу: #E0 - виртуальный, #C0 - физический.
FO> Естественно, этот адрес только в G5.00,

He-he ;) Самый прикол что, похоже этот адрес стандартный и от версии
ПрофПЗУ не зависит! ;))) У меня на 3.9f - он такой же, то есть #FFCC!!!

Подведем итоги: получается, что на _любой_ версии ПрофПЗУ с поддержкой
SMUC/HDD, можно выполнить следующее:

- подключить/отключить раздел в секторе эмуляций,
- записать информацию о том реальный или виртуальный Drive в порт
#7fba. (7ой-6ой биты)
- записать информацию об этом же в переменые по адресу #ffcc.

Yahoo! Этого уже достаточно для нормальной/беззаботной работы!!!

Однако если мы знаем еще и адреса описателей областей TrDos/R8-Dos в ram8,
то мы можем еще и "визуально" подключить любой образ: то есть при входе в
монитор, в меню "Hard Disk Utility" можно будет наблюдать имя текущего
подключенного раздела, которое раньше появлялось только после принудительного
считывания сектора эмуляций при ручном подключении другого подраздела из
монитора.

Сейчас известны адреса в следующих версиях ПрофПЗУ:

3.9e (#5d) - no
+ 3.9f (#5e) - #e9f3
4.00 (#5f) - no
4.01 (#60) - no

G4.03 (#??) - no
+ G5.00 (#??) - #ea14

2ПрофПЗУ users с винтами: Опубликуйте адреса в ваших версиях!!! (И код
версии ПрофПЗУ).

FO> но найти его в других версиях, думаю труда не составит:-)

уже нашли ;)))

FO> Теперь все работает на ура.

Yahooo!!! Кааалбаса ;)

От Fyodor Odegov Кому All 16.08.2001

IV> Если владелец предоставит адреса - поддержать не
IV> составит труда.

Вряд ли такие владельцы найдутся, так как перешить ПЗУ на GMX проще простого.
Если только MOA подскажет;)

IV> Подведем итоги: получается, что на _любой_ версии
IV> ПрофПЗУ с поддержкой SMUC/HDD, можно выполнить
IV> следующее:

IV> - подключить/отключить раздел в секторе эмуляций,
IV> - записать информацию о том реальный или виртуальный
IV> Drive в порт #7fba. (7ой-6ой биты)
IV> - записать информацию об этом же в переменые по адресу
IV> #ffcc.

IV> Yahoo! Этого уже достаточно для нормальной/беззаботной
IV> работы!!!

Угу, правда некоторые проблемы все равно возникают: теневик иногда, правда
очень редко и я не понял в каких случаях восстанавливает значение 7fba, правда
это уже можно обойти многими способами, в любом случае это не фатально, просто
на некоторое время ПЗУ теневика включается, но с дискеты все читается
нормально:)

IV> Сейчас известны адреса в следующих версиях ПрофПЗУ:

IV> 3.9e (#5d) - no
IV> + 3.9f (#5e) - #e9f3
IV> 4.00 (#5f) - no
IV> 4.01 (#60) - no

IV> G4.03 (#??) - no
IV> + G5.00 (#??) - #ea14
^^#64

ps/ Теперь возьмусь за моунтинг:)

Желаю удачи !