NewsProductsSprinterSupportDownloadSprinter ForumAbout usLinksSite map Russian site

Russian
   >> Общие вопросы
Thread views: 489 View all threadsNext thread*Threaded Mode

Pages in this thread: 1 | 2 | 3 | (show all)
mvg
(newbie)
2002/09/26 22:21
Тех. вопросы Reply to this post

Здравствуйте.

Не лишними были -бы нек. дополнительные тех. данные по Спринтеру.
Один из "упущенных" вопросов - раскладка клавиатуры в режиме Спринтера.
Так "неотыскалась" клавиша rus/lat..... блин.....
Непонятно, как генерить звук не через AY.
И главное. Нигде не нашел карту памяти при работе с estex. Можно - ли выгрузить часть кода ос. А то адресов $8000-$bfff маловато как - то :(.
С Уважением Сергей.



Alex_GoryachevAdministrator
(Sprinter Team)
2002/09/27 11:02
Re: Тех. вопросы new [re: mvg]Reply to this post

Русская раскладка - ЙЦУКЕН. Переключается нажатием <Ctrl>+<Space>.
На вопрос о выводе звука ответит (надеюсь сегодня ночью) Ivan Mak. Замечу, только, что лучше забыть про AY в конфигурации Sprinter. Для вывода звука давно используется аудио система, имеющая сегодня два режима: режим Covox и режим Covox с буфером.
На вопрос о распределении памяти при обращении к Estex ответит Denis Parinov.

---
PETERS PLUS LTD

Shaos
(enthusiast)
2002/09/27 11:37
Re: Тех. вопросы new [re: Alex_Goryachev]Reply to this post

> лучше забыть про AY в конфигурации Sprinter

А почему забыть? Очень хорошая штучка - думаю не помешает и в конфигурации Sprinter - нпаример для простых игрушек, ненапряжного для процессора музыкального сопровождения программ и т.д.


Alexander Shabarshin (shaos@mail.ru)
http://www.shaos.ru

Shaos
(enthusiast)
2002/09/27 11:40
Re: Тех. вопросы new [re: mvg]Reply to this post

> как генерить звук не через AY

форум надо читать внимательнее :)


Alexander Shabarshin (shaos@mail.ru)
http://www.shaos.ru

Alex_GoryachevAdministrator
(Sprinter Team)
2002/09/27 14:29
Re: Тех. вопросы new [re: Shaos]Reply to this post

Дело в том, что мы продолжаем рассматривать различные варианты дальнейшего развития архитектуры компьютера. AY занимает определенный кусок в ПЛМ. При удалении AY из конфигурации Sprinter, освободившиеся ячейки можно было бы использовать с большей пользой.
Но, ни что не будет мешает использовать прошивку со "старой" конфигурацией Sprinter, где AY сохранится.
А что касается "напряжной работы процессора", то разве демки Doom и Mortal Kombat не показали возможности спринтеровской аудио системы?

---
PETERS PLUS LTD

Shaos
(enthusiast)
2002/09/27 18:03
Re: Тех. вопросы new [re: Alex_Goryachev]Reply to this post

> Но, ни что не будет мешает использовать прошивку со "старой" конфигурацией Sprinter, где AY сохранится.

Я считаю, что от эмуляции AY ни в коем случае не надо отказываться! Если еще появится проигрыватель PT3 в режиме Спринтера, то вообще будет суперкруто! :)

> А что касается "напряжной работы процессора", то разве демки Doom и Mortal Kombat не показали
> возможности спринтеровской аудио системы?

К сожалению не смог это лицезреть, у меня нестанартный винчестер, и средствами TRD-шек он не виден. Когда появятся обещанные версии в виде EXE-файлов? ;)


Alexander Shabarshin (shaos@mail.ru)
http://www.shaos.ru

Denis ParinovVIP
(Sprinter Team)
2002/09/27 18:04
Re: Тех. вопросы new [re: mvg]Reply to this post

> И главное. Нигде не нашел карту памяти при работе с estex. Можно - ли выгрузить часть кода ос. А то адресов $8000-$bfff маловато как - то :(.

Там все просто четыре окна памяти по 16К. Нижние окно используется для системы/BIOS. Я уже писал по поводу памяти на форуме вот здесь.

Насчет 8000-BFFF это рекомендация, если программа небольшая лучше ее расположить в этих адресах. Но использовать можно все 48К или 64К, если не использовать вызовы системы.




Mvg
(newbie)
2002/09/27 19:12
Re: Тех. вопросы new [re: Denis Parinov]Reply to this post

Не есть хорошо.....
Если придется не вызывать Estex - будет тяжко... ну ладно, что - нибудь придумаю ..... :)

С Уважением Сергей.



Mvg
(newbie)
2002/09/28 11:15
Re: Тех. вопросы new [re: Alex_Goryachev]Reply to this post

Здравствуйте !

Очередной вопрос.

Почему c:\FN\gfxview.exe c:\example.bmp работает,
а c:\FN\gfxview.exe c:\1\example.flc - не очень.

Путь к файлу обрабатывается на уровне доса или это делает прикладная прога? Объясняю, зачем это надо.

1. Из любого каталога надо иметь доступ к каталогу с утилитами, которые должны обрабатывать файлы в любом каталоге, в т.ч. и в исходном.

С Уважением Сергей.



Alex_GoryachevAdministrator
(Sprinter Team)
2002/09/28 15:01
Re: Тех. вопросы new [re: Mvg]Reply to this post

Путь к файлу, разумеется, разбирается на уровне операционной системы. Напомню, что нужно использовать полные пути к файлам.
А что касается вьювера gfxview.exe , то он не работает с фликами, есть другой вьювер для этого. А BMP файлы можно просматривать из любого каталога на диске, не только из корневого или текущего. Специально проверил просмотр картинок из каталога C:\1\.

---
PETERS PLUS LTD

Ivan_MakVIP
(Sprinter Team)
2002/09/28 18:04
AY new [re: Alex_Goryachev]Reply to this post

С AY все просто. Сейчас он доступен по тем же портам, как и в ZX-Spectrum и программируетса точно так же, как и в ZX-Spectrum.




Mvg
(newbie)
2002/09/28 20:32
Re: Тех. вопросы new [re: Alex_Goryachev]Reply to this post

Здравствуйте!

Уважаемые разработчики.
В процессе работы с Estex выявленые след.
странности :)
1. Тек. каталог c:\fn
даю команду b:
Получаю что????
Правильно - b:\fn ,блин ..... а каталога fn\ диске b нет!!!
конечно нажать cd\ нетрудно, но все - таки сыровато .....
2. Дальше интереснее ....
из b:\fn даю dir - ругается, далее даю
c:
получаю c:\fn - вроде правильно .... НО !!! ВНИМАНИЕ !!!
ДАЮ fn.exe !!!! На экране FLEX???? а нет его (bad command or file name)...

3. Если между 1 и 2 пунктом не давать dir - flex нормально запускается.


Вопрос по этому поводу ... Это баг командкома или дос-а???
т.е. не проявляется - ли ЭТО при обращении к ф-ям dos-a???

Небольшая рекомендация по обновлению biosа.

Ну НЕТУ у меня флопа А !!!!!! А выключить неполучаетя !!! Неужели трудно
завести отключение несуществующих девайсов (вот винты то у вас отключаются),
кстати можно сделать режим конфигурирования alter-ы - т.е. если юзеру не нужен
AY пусть его отключит - освободит "кусок плиса" под что -нибудь другое (вам виднее
под что).

Небодьшой вопрос ... Какие коды кроме 0d 0a обрабатывают ф-и символьного вывода?
Типа 0С - home 1F - CLS 08 -left помнится я их еще на РК86 юзал... Приятные коды...
И правильные :)

С Уважением Вылавливающий Насекомых Сергей.





Denis ParinovVIP
(Sprinter Team)
2002/09/29 04:04
Re: Тех. вопросы new [re: Mvg]Reply to this post

> Не есть хорошо.....
> Если придется не вызывать Estex - будет тяжко...

Да почему же тяжко? DSS нельзя будет вызвать только когда его код закрыт
другой страницей памяти. Ни что не мешает. Закрыть DSS, сделать необходимые
операции с памятью (64К), после чего вернуть страницу DSS обратно.


DI
IN A,(#82)
LD (DSSPAGE),A
LD A,MYPAGE
OUT (#82),A
.
.
.
LD A,(DSSPAGE)
OUT (#82),A
EI





Denis ParinovVIP
(Sprinter Team)
2002/09/29 04:15
Re: Тех. вопросы new [re: Alex_Goryachev]Reply to this post

> Путь к файлу, разумеется, разбирается на уровне операционной системы. Напомню, что нужно использовать полные пути к файлам.

Здесь стоит добавить, что это рекомендация, как и 8000-BFFF относительно памяти. Можно использовать, как относительные так и полные пути к файлам, но быть готовым к тому, что версия DSS 1.5x изменяет текущий путь при запуске программ. Соответственно текущим будет путь расположения програмы, а не тот из которого она была запущена.




Denis ParinovVIP
(Sprinter Team)
2002/09/29 04:51
Re: Тех. вопросы new [re: Mvg]Reply to this post

Попробую объяснить логику.

> 1. Тек. каталог c:\fn
> даю команду b:
> Получаю что????
> Правильно - b:\fn ,блин ..... а каталога fn\ диске b нет!!! конечно нажать cd\ нетрудно, но все - таки сыровато .....

Команда "drive:" изменяет текущий диск.
Для смены текущего каталога используется "cd \dir\dir".
Дело в том что MSDOS для каждого диска использует свой текущий каталог, здесь же он один.
Для смены диска и каталога можно использовать "cd b:\".

> 2. Дальше интереснее ....
> из b:\fn даю dir - ругается, далее даю

dir - без параметров, выводит список файлов из текущего каталога. Текущий каталог задан неверно - о чем и сообщается.

> c:
> получаю c:\fn - вроде правильно .... НО !!! ВНИМАНИЕ !!!
> ДАЮ fn.exe !!!! На экране FLEX???? а нет его (bad command or file name)...
> 3. Если между 1 и 2 пунктом не давать dir - flex нормально запускается.

Данная проблема возникает из-за очистки кеша при смене текущего диска и обращении к нему. Задание валидного текущего каталога решит ее.

> Вопрос по этому поводу ... Это баг командкома или дос-а???
> т.е. не проявляется - ли ЭТО при обращении к ф-ям dos-a???

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

> Небольшая рекомендация по обновлению biosа.
> Ну НЕТУ у меня флопа А !!!!!! А выключить неполучаетя !!! Неужели трудно
завести отключение несуществующих девайсов (вот винты то у вас отключаются)

Эта возможность специально была заблокиравана, после того, как у наших пользователей возникли сложности с подключением дисководов.
Дело в том что 3.5" изначально делаются как второй дисковод. На PC для того чтобы устройство казалось первым используются перевернутые контакты FDD-кабеля. Поэтому на Спринтере многие отключали второй дисковод в SETUP после чего не могли загрузить систему.

> Небодьшой вопрос ... Какие коды кроме 0d 0a обрабатывают ф-и символьного вывода?
> Типа 0С - home 1F - CLS 08 -left помнится я их еще на РК86 юзал... Приятные коды...

08, 09, 0a, 0d.




Anton Enin
(member)
2002/09/30 06:02
Re: Тех. вопросы new [re: Mvg]Reply to this post

>Почему c:\FN\gfxview.exe c:\example.bmp работает,
>а c:\FN\gfxview.exe c:\1\example.flc - не очень.

всё просто Gfx Viewer не просматривает файлы .flc, а только
.bmp, .img, .ico, .pcx, .scr :) для просмотра .flc используй Flic Player...

Антон



Anton Enin
(member)
2002/09/30 06:09
Re: Тех. вопросы new [re: Alex_Goryachev]Reply to this post

кста, о звуке... слишком тяжко z80 микшировать семплы для ковокс... особенно 16-бит/44khz + несколько каналов :)
может подумать о аппаратном микшере... ?!

tanx...



Mvg
(journeyman)
2002/10/17 12:09
Re: Тех. вопросы new [re: Alex_Goryachev]Reply to this post

Здравствуйте.

Очень насущный вопрс.
Как конкретно работать с lpt портом???
Нужны адреса, побитно расписаные сигналы.
Желательно с примерами. (и не через dss,bios).
Нужно именно физическое обращение.
С Уважением Сергей.




Mvg
(journeyman)
2002/10/18 23:15
Re: Тех. вопросы new [re: Mvg]Reply to this post

Здравствуйте!!!!


Так как всетаки с принтерным портом. Все еще нужно описание.

С Уважением Сергей




Ivan_MakVIP
(Sprinter Team)
2002/10/18 23:25
Краткая информация по LPT порту компьютера Sprinter new [re: Mvg]Reply to this post



Краткая информация по LPT порту компьютера Sprinter

---------------------------------------------------
В дополнение к этой информации необходимо иметь
техническое описание на Z80SIO и Z80PIO фирмы ZILOG
---------------------------------------------------

Порты Z84C15:

SIO1_DATA - 18h
SIO1_CONTROL - 19h
SIO2_DATA - 1Ah
SIO2_CONTROL - 1Bh

PIO1_DATA - 1Ch
PIO1_CONTROL - 1Dh
PIO2_DATA - 1Eh
PIO2_CONTROL - 1Fh

---------------------------------------------------


LPT signals Z84C15 signals

DATA <-> PIO1_D[7..0] подключено через DATA_BUFER

STROBE <- PIO1_RDY - подключено через инвертор
INIT <- PIO2_RDY - подключено через инвертор
AUTOLF <- PIO2_D6 - подключено через инвертор
SLCT <- PIO2_D7 - подключено через инвертор

BUSY -> SIO2_CTS - подключено через инвертор
BUSY -> PIO1_STB - напрямую на вход Z84C15 **
ACK -> SIO2_DCD - подключено через инвертор
PE -> SIO1_CTS - подключено через инвертор
SELECT -> SIO2_DCD - подключено через инвертор
ERROR -> PIO2_STB - напрямую на вход Z84C15

SIO1_RTS -> CS_DATA_BUFER - включение буфера (нулем)
SIO1_DTR -> DIR_DATA_BUFER - направление передачи
данных буфером - 1 - вывод, 0 - ввод

** два места подключения BUSY - это не ошибка

Подача сигнала STROBE осуществляется автоматически при записи
данных в порт PIO1 в режиме вывода данных.


Аналогично на принтер подается сигнал INIT (записью данных в PIO2
в режиме вывода)

Сигнал BUSY принимается автоматически и следить за окончанием цикла
передачи данных надо по состоянию сигнала SIO2_CTS

Z84C15 был рассчитан на установку в принтерах, поэтому у него
сигналы RDY и STB имеют обратные назначения относительно STROBE и BUSY
LPT порта.

Сигнал ERROR напрямую принят быть не может, его можно отфиксировать
по приходу прерывания от параллельного порта (в режиме ввода/вывода
данных на PIO1 - Mode 2). Появление прерывания и будет означать,
что возникла ошибка.

Сигналы AUTOLF, SLCT подаются независимо и обычно просто
устанавливаются в одно состояние.

BUSY, ACK, PE и SELECT могут быть приняты независимо, но специфика
портов Z84C15 такова, что появление этих сигналов вызывает установку
внутренних тригеров, которые не сбрасываются после исчезновения сигналов,
и их надо сбрасывать программно. (При простой работе с принтером
достаточно обрабатывать только сигнал BUSY.)

Режим порта PIO2 - ВСЕГДА побитный ввод/вывод (Mode 3).

При работе с сигналами AUTOLF и SLCT следует помнить, что шесть младших
бит
порта LPT2 подключены к ISA. (В простейшем случае, младшие шесть бит порта
LPT2 надо инициализировать как входные.)

Режим порта PIO1 может устанавливаться произвольно. Он полностью работает
на принтер. В DOS PIO1 инициализируется только на выдачу данных (Mode 0).







Mvg
(journeyman)
2002/10/26 10:27
Тех. вопросы new [re: Denis Parinov]Reply to this post

Здравствуйте.

Существуют - ли для Спринтера стандартные библиотеки для работы с графикой. (но не биос, дюже тормозонй). Самому написать не трудно, но очень не хочется изобретать велосипед. т.е. хочется использовать "стандартный" и "общепринятый" способ обращения к видеопамяти (желательно с исхонником).
нужны putpixel и getpixel (кто паскаль знает, тот поймет)
Как для 16, так и для 256 цветов. Жду ответа.

С Уважением Сергей.




Anton Enin
(member)
2002/10/30 04:09
Re: Тех. вопросы new [re: Mvg]Reply to this post

если ты не хочешь, чтобы твоя программа превратилась в слайдшоу, не думай о таких вещах как <putpixel> и <getpixel>... думай о групповых операциях с экраном и с использованием акселератора.... :)
можешь посмотреть исходники моих мини-демок: flames и 256color... они были опубликованы на сайте... в них можно что-нибудь найти по этой теме...



Anonymous
(Unregistered)
2002/10/30 22:35
Re: Тех. вопросы new [re: Anton Enin]Reply to this post

Здравствуйте.

>>если ты не хочешь, чтобы твоя программа превратилась в слайдшоу, не думай о таких вещах как <putpixel> и <getpixel>... думай о групповых операциях с экраном и с использованием акселератора....

Не думаю, что при помощи акселератора можно как-либо ускорить процесс работы с гаф. примитивами. (например вычерчиваниеепроизвольных линий). А на счет можности..... именно тормоза вины подстегнули развитие выч. мощностей на пэцэ.
Так есть стандартые способы?
С Уважением Сергей.




Denis ParinovVIP
(Sprinter Team)
2002/10/31 00:54
Re: Тех. вопросы new [re: Mvg]Reply to this post

> Существуют - ли для Спринтера стандартные библиотеки для работы с
графикой. (но не биос, дюже тормозонй).
> Самому написать не трудно, но очень не хочется изобретать велосипед.
т.е. хочется использовать "стандартный" и "общепринятый" способ обращения к
видеопамяти (желательно с исхонником). нужны putpixel и getpixel (кто
паскаль знает, тот поймет)

Существует некоторый набор исходников, к сожалению не оформленный для
публикации. Мы будем над этим работать, но библиотек на все случаи жизни
пока нет.
Насчет putpixel / get pixel. Вот пример который я публиковал на форуме:


Например, если вам нужно поставить точку на экране, то подпрограмма
длярежима
81h будет выглядеть так:

; HL - горизонтальная координата
; DE - вертикальная координата

IN A,(0E2h) ;считать из порта номер страницы подключенной в
;третье окно памяти
LD C,A ;запомнить в регистре C
LD A,50h ;страница видео памяти
OUT (0E2h),A ;подключение видео памяти
LD A,E ;поместить вертикальную координату в регистр A.
OUT (89h),A ;выдать в порт
LD DE,0C000h ;адрес начала третьего окна памяти
ADD HL,DE ;получить адрес точки (адрес начала окна +
;горизонтальная координата)
LD A,255 ;цвет выводимой точки (от 0 до 255)
LD (HL),A ;вывод точки на экран
LD A,C ;вспомнить номер страницы памяти
OUT (0E2h) ;подключить страницу памяти вместо страницы видео
;памяти


для чтения соответственно надо поменять LD (HL),A на LD A,(HL).




Anton Enin
(member)
2002/10/31 03:19
Re: Тех. вопросы new [re: Anonymous]Reply to this post

т.е. ты хочешь повторить винды и пц?... :)
вызывать библиотечные функции для таких вещей нецелесообразно... в примере Дениса приведен прототип
библиотечной функции... но для быстрого рисования приметивов 100 тактовая точка - это слишком медленно... поэтому такие функции как putpixel/getpixel должны быть интегрированы в отрисовщик приметивов...

например:

..
инициализация vram
...
main_loop:
... ; hl - x coord a - y coord c - col
out (YPORT),a
set 6,h ; если vram подключена с 4000
ld (hl), a ; put pixel
...
end_main_loop

деинициализация vram




Shaos
(enthusiast)
2002/10/31 07:58
Re: Тех. вопросы new [re: Anonymous]Reply to this post

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

Зачем тебе произвольные линии в гуе???
Акселератор покрывает все возможности гуя. Он может в частности следующее:
- быстрое заполнение горизонтального отрезка длиной до 256 точек одним цветом (в режиме 640x256 - до 512 точек)
- быстрое заполнение вертикального отрезка одним цветом
- быстрое копирование горизонтального отрезка длиной до 256 точек (в режиме 640x256 - до 512 точек)
- быстрое копирование вертикального отрезка
А из этого всего следует заполнение-копирование прямоугольников, вывод шрифтов, примитивов и т.д.

Достаточно сказать, что символы в FN выводятся почти мгновенно именно засчет акселератора, если ты все будешь делать путпикселами, то ты просто отпугнешь юзеров неимоверными тормозами :)


Alexander Shabarshin (shaos@mail.ru)
NedoPC Project

Anonymous
(Unregistered)
2003/03/01 10:44
Re: Тех. вопросы new [re: Anton Enin]Reply to this post

а как сделать
..
>>инициализация vram
...
и

>>деинициализация vram




Alex_GoryachevAdministrator
(Sprinter Team)
2003/03/01 11:25
Re: Тех. вопросы new [re: Anonymous]Reply to this post

Возможно, пригодится пример из href=http://www.petersplus.com/download/sources/aprint.zip> исходников
Антона Енина, опубликованных на сайте


; set requist video mode 640x256x16
SetVideoMode:
ld c, 0x51 ; save previos vmode
rst 0x10
ld (vmode + 1), a
ld a, b
ld (vscrn + 1), a
sub a
call CrearVideoRam
ld bc, 0x0050 ; set 640x256x16
ld a, 0x82
rst 0x10
ld hl, CustomPalette
ld de, 0x1000
ld bc, 0xFFA4
sub a
rst 0x08 ; load palette
ret





; restore previos video mode
ResVideoMode:
sub a
call CrearVideoRam
vscrn: ld b, 0x00
vmode: ld a, 0x00
ld c, 0x50
rst 0x10 ; set previos vmode
ret


---
PETERS PLUS LTD

Anonymous
(Unregistered)
2003/03/02 17:12
Re: Тех. вопросы new [re: Anonymous]Reply to this post



Хотелось - бы побольше узнать об акселераторе (функции, коды управлкеия (поподробнее), ограничения к применению и пр.).
А то дюже графика тормозит ...






Alex_GoryachevAdministrator
(Sprinter Team)
2003/03/03 16:51
Re: Тех. вопросы new [re: Anonymous]Reply to this post

Посмотрите здесь .

---
PETERS PLUS LTD


Pages in this thread: 1 | 2 | 3 | (show all)
View all threadsNext thread*Threaded Mode
Jump to