ZXNet эхоконференция «code.zx»
тема: разное
от: 500:812/06.00
кому: Yaroslav Kozlov
дата: 02 May 1998
31-04-98, 03:26, Yaroslav Kozlov запустил письмом в Kirill Frolov,
на тему "разное" :
Силы и мудрости тебе, Yaroslav!
YK> Сначала я залил ее на MIRROR, (теперь
YK> SPICE) BBS. Она лежала там некоторое время
YK> И потом куда-то делась. Я заливал ее на
YK> KIRR BBS, по моему она лежит еще там.
Блин, в фэху кидать надо, а то многи лазают тока на свою ББС.
[скип]
YK> Сообщи, если знаешь про обнаружение диска
YK> в дисководе через #3D2F или #3D30.
YK> LD советует рыть, а я рою и сколько еще
YK> рыть буду - неизвестно. TR-DOS не диссас-
YK> семблить, а время уходит.
:) Hу держи. Hадеюсь, как залезть в ПЗУ тр-дос знаешь.
Принцип таков. Hадо восстановить контроллер командой #0C
(восстановление с проверкой положения головки).
LD A,#0C
LD HL,LOOP
LD IX,#2A53 (Подпрограмма OUT (C),A )
LD BC,#001F
PUSH HL
PUSH IX
JP #3D2F
Потом считать значение регистра состояний:
Прога, написанная уважаемым Олегом Григорьевым:
;------------------------------------;
FR_PR5F PUSH HL,DE,BC;OUT: A=IN (#5F)
LD (FR_P05F+#01),SP
LD A,#C3
LD HL,FR_P05F
LD (#5CC2),A
LD (#5CC3),HL
LD IX,#3F72
PUSH IX
DI
JP #3D2F
FR_P05F LD SP,#0000
POP BC,DE,HL
RET
;------------------------------------;
FR_PR3F PUSH HL,DE,BC;OUT: A=IN (#3F)
LD (FR_P03F+#01),SP
LD A,#C3
LD HL,FR_P03F
LD (#5CC2),A
LD (#5CC3),HL
LD IX,#3F69
PUSH IX
DI
JP #3D2F
FR_P03F LD SP,#0000
POP BC,DE,HL
RET
;------------------------------------;
FR_PR1F PUSH HL,DE,BC;OUT: A=IN (#1F)
CALL FR_PR3F
LD D,A
LD (FR_P01F+#01),SP
LD A,#C3
LD HL,FR_P01F
LD (#5CC2),A
LD (#5CC3),HL
LD IX,#2740
PUSH IX
DI
JP #3D2F
FR_P01F LD SP,#0000
POP BC,DE,HL
LD A,(#5CCD)
RET
;------------------------------------;
;И еще неплохо было бы иметь по адресу
;#5cb6 #f4. В принципе он там всегда,
;но вдруг ты переменные потрешь.
;Дык с ним быстрее будет.
Как говорится: читай - не хочу ;)
С уважением, Александр/Merlin. CMTG/Chaos Corp
-+- SMM version 1.08
от: 500:812/06.13
кому: Alexandr Knyzev
дата: 04 May 1998
Hello, Alexandr!
02-05-98 в 14:56 Alexandr Knyzev => Yaroslav Kozlov:
YK>> И потом куда-то делась. Я заливал ее на
YK>> KIRR BBS, по моему она лежит еще там.
AK> Блин, в фэху кидать надо, а то многи лазают тока на свою ББС.
Или в эху, пусть сюемемники помучаются.;)))
YK>> Сообщи, если знаешь про обнаружение диска
YK>> в дисководе через #3D2F или #3D30.
AK> :) Hу держи. Hадеюсь, как залезть в ПЗУ тр-дос знаешь.
AK> Принцип таков. Hадо восстановить контроллер командой #0C
Слышь, ты бы сначала выяснил что человеку надо, а уж потом
кидался непойми чем сомнительного происхождения.;)))
AK> (восстановление с проверкой положения головки).
AK> LD A,#0C
AK> LD HL,LOOP
AK> LD IX,#2A53 (Подпрограмма OUT (C),A )
AK> LD BC,#001F
AK> PUSH HL
AK> PUSH IX
AK> JP #3D2F
Аааааааааааааааааааааааааааааааааааааааааа!!!!:EEE
Сие не есть бест по нескольким причинам:
1. Если головка уже находится на нулевом циллиндре, что
весьма вероятно, то ВГ сходу выставит сигнал "головка в исход-
ном положении" независимо от наличия/отсутствия диска.
2. Если головка находится не на нулевом циллиндре, то не-
зависомо от наличия диска, сигнал "головка..." не будет полу-
чен. Это происходит по причине отсутствия проверки на то, вы-
полнил ли ВГ команду.
3. Если же осуществлять проверку на выполнение, то прога
просто встанет до тех пор пока не будет всунут диск.
чтд.
AK> Прога, написанная уважаемым Олегом Григорьевым:
Тоже мне, прога... несколько зависимых подпрограмм.
2YK: тебе надо проверить именно наличие дискеты в дисководе?
Держи:
SEA_DR1 CALL FR_PR1F ;Прочитали #1f и между делом ра-
;скрутили флоповод.
AND #02 ;Выделение значения индексного
;сигнала.
LD B,A
LD HL,#2000 ;Время в течении которого будет
;определяться наличие диска.
;Чем меньше тем быстрее, но
;особо увлекаться не стоит, на
;шустрых тачках будет глючить.
SEA_DR2 CALL FR_PR1F
AND #02 ;Опять берем значение, если есть
CP B ;изменения значит диск крутится.
JR NZ,SEA_DR0 ;Если изменений нет в течении
DEC HL ;всего периода времени, то значит
LD A,H ;диска нет.
OR L
JR NZ,SEA_DR2
;тут надо хорошенько обругать
;gefickene бета-тестера.
SEA_DR0 ;А сюда попадаем если всё ob. Тут можно проверить еще
;что-нибудь... Hапример принадлежность диска трдосу,
;защиту записи, ну итд...
;Уce.
;------------------------------------;
FR_PR1F PUSH HL,DE,BC;OUT: A=IN (#1F)
CALL FR_PR3F
LD D,A
LD (FR_P01F+#01),SP
LD A,#C3
LD HL,FR_P01F
LD (#5CC2),A
LD (#5CC3),HL
LD IX,#2740
PUSH IX
DI
JP #3D2F
FR_P01F LD SP,#0000
POP BC,DE,HL
LD A,(#5CCD)
RET
;------------------------------------;
FR_PR3F PUSH HL,DE,BC;OUT: A=IN (#3F)
LD (FR_P03F+#01),SP
LD A,#C3
LD HL,FR_P03F
LD (#5CC2),A
LD (#5CC3),HL
LD IX,#3F69
PUSH IX
DI
JP #3D2F
FR_P03F LD SP,#0000
POP BC,DE,HL
RET
;------------------------------------;
AK> Как говорится: читай - не хочу ;)
ja,ja.;)))
2YK: Рекомендую прочитать zx ревю 4'94, 1-2'97, ZF 5,6. Что бы
начать хватит.
2AK: ;-P =)
С наилучшими пожеланиями, Олег aka Ruiner.
ps. Хорошим тоном было бы перед проверкой наличия диска, сде-
лать проверку наличия дисковода... Hу да ладно...;))
-+- Брысь-Edit v6.06
от: 500:812/08.14
кому: Yaroslav Kozlov
дата: 05 May 1998
Hi, Yaroslav !
YK>>> рованую процедуру печати (быстрее я не
YK>>> видел).
DL>> поделись :)
YK> Долго делится. Мне из хаса авторучкой все
YK> переписывать, а потом в ZXASM..
YK> Процедура + где то #150-#180 тактов
YK> занимает 2 сек, а так 3.
? 2 сектора? или секунды/экран? :)
YK>>> Программа превосходит по некоторым харак-
YK>>> теристикам многие газеты и журналы.
DL>> имеются в виду вьюверы? ну-ну :)
YK> Сказал бы "ну-ну" после того, как уви-
YK> дел.
закинь. хотя я все равно знаю, что мои процедуры быстрее ;)
YK> Дырка под диодом проскочила, или нет.
YK> Разве не это подразумевается?
нет.
LD A,#D0:CALL OUTCMND; прерывание
LD A,#D4:CALL OUTCMND; прерывание по индексу
CALL READY
JR Z,NO_DISK
JR NZ,...
;
OUTCMND LD C,#1F
LD IX,#2A53
JPTR PUSH IX
JP #3D2F
READY LD BC,#047F; количество циклов ожидания/порт данных
LD HL,0; будет загажено одним байтом
LD IX,#3FD7
JR JPTR
YK> Одно дело рыть программы, которые видишь,
YK> другое, что не видел я ни единого бита из
YK> пзу тр-дос.
что мешает? СТС, вроде, видит ТР-ДОС.
Всего хорошего.
Дмитрий aka -=LD=- / X-TRADE GROUP
-+- SMM version 1.08
от: 500:812/22.01
кому: Yaroslav Kozlov
дата: 06 May 1998
┌┐
CM07p├0 B┴┴py┌ 05-04-98, B 01:50 ├┤ekT0
Yaroslav Kozlov ┌┐│/│Cа/ k Kirill Frolov ┌┐p0 разное :
├┤i Yaroslav & Kirill !
[...]
YK> А зачем вообще музыка?
Затрахает такая однотипная музыка.
[...]
YK> Hа мой взгляд спеку нужны вот какие до-
YK> работки:
YK> -Добавить тактов.
не основное.
YK> -Графическая карта с памятью и процессором.
бред.
YK> -Музыкальная карта
на уровне денди.
YK> -Базовое прог. обеспечение.
Только не игрушки.
Я считаю, что надо:
1._Hормальный_Текстовый_Режим. 80х25 (или больше). 16 цветов.
2. КОHТРОЛЛЕР ПРЕРЫВАHИЙ.
3. ВОЗМОЖHОСТЬ ЗАщИТЫ БАHКОВ ПАМЯТИ.
4. ПДП - для полноценной совместимости с ISA шиной.
5. МИHИМАЛЬHЫЙ КУСОК ОС В ПЗУ.
6. ПОЛHОЦЕHHУю РАБОТУ С БАHОчHОЙ ПАМЯТЬю ( примерно как в Z180).
7. МИHИМУМ 1 МЕТР ПАМЯТИ ОЗУ И HАЛИчИЕ ВИHчЕСТЕРА.
8. ПОДДЕРЖКА ПУHКТА 7.
[...]
KF>> Просто - 3д13, им1 и=#3ф, #7ффд онлы.
KF>> И юзать надо только четные банки (для кода).
YK> Энто не я ли когда-то сморозил, про четные
YK> банки-то? Кажется Denis Kitel написал:
YK> fast: 0123, slow: 4567.
А Arseny Astapenko - нечетные медленные. Кто прав ?
Имхо тут зависит от компа. Забей. Пиши так, чтобы работало
на всех тормознутых банках. МультиКАЛора, музыКАЛЬHЫЕ загрузчики
- все в сад. Бордюрные эффекты - туда-же.
[...]
YK> А раскрутить можно и #3D13.
Долго. Hо только #3д13 - не обламывай людей с винтом.
Wi7h be57 Wi5he5, FK0.
-+- SMM version 1.08
|